In common.h, define func_lib for function objects. In configure.ac, define HAVE_STD_FUNCTION and HAVE_BOOST_FUNCTION. Include function headers in ndnboost.
diff --git a/libs/test/build/Jamfile.v2 b/libs/test/build/Jamfile.v2
new file mode 100644
index 0000000..fad71ac
--- /dev/null
+++ b/libs/test/build/Jamfile.v2
@@ -0,0 +1,111 @@
+# (C) Copyright boost 2004.
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or copy at www.boost.org/LICENSE_1_0.txt)
+#
+# See http://www.boost.org/libs/test for the library home page.
+
+project boost/test
+ : source-location ../src
+ : requirements <link>shared:<define>BOOST_TEST_DYN_LINK=1
+ <toolset>msvc:<asynch-exceptions>on
+ <toolset>borland:<cxxflags>-w-8080
+ <toolset>borland:<cxxflags>-w-8001
+ # Disable Warning about boost::noncopyable not being exported
+ <link>shared,<toolset>msvc:<cxxflags>-wd4275
+ <toolset>msvc:<cxxflags>-wd4671
+ <toolset>msvc:<cxxflags>-wd4673
+ <warnings>all
+ : usage-requirements
+ <define>BOOST_TEST_NO_AUTO_LINK=1
+ # Disable Warning about boost::noncopyable not being exported
+ <link>shared,<toolset>msvc:<cxxflags>-wd4275
+ ;
+
+PRG_EXEC_MON_SOURCES =
+ execution_monitor
+ debug
+ cpp_main
+ ;
+
+TEST_EXEC_MON_SOURCES =
+ compiler_log_formatter
+ debug
+ execution_monitor
+ framework
+ plain_report_formatter
+ progress_monitor
+ results_collector
+ results_reporter
+ test_main
+ test_tools
+ unit_test_log
+ unit_test_main
+ unit_test_monitor
+ unit_test_parameters
+ unit_test_suite
+ xml_log_formatter
+ xml_report_formatter
+ ;
+
+UTF_SOURCES =
+ compiler_log_formatter
+ debug
+ exception_safety
+ execution_monitor
+ framework
+ interaction_based
+ logged_expectations
+ plain_report_formatter
+ progress_monitor
+ results_collector
+ results_reporter
+ test_tools
+ unit_test_log
+ unit_test_main
+ unit_test_monitor
+ unit_test_parameters
+ unit_test_suite
+ xml_log_formatter
+ xml_report_formatter
+ ;
+
+lib ndnboost_prg_exec_monitor
+ : # sources
+ $(PRG_EXEC_MON_SOURCES).cpp
+ : # requirements
+ : # default build
+ : # usage-requirements
+ <link>shared:<define>BOOST_TEST_DYN_LINK=1
+ ;
+
+lib ndnboost_test_exec_monitor
+ : # sources
+ $(TEST_EXEC_MON_SOURCES).cpp
+ : # requirements
+ <link>static
+ : # default build
+ : # usage-requirements
+ <link>shared:<define>BOOST_TEST_DYN_LINK=1
+ ;
+
+lib ndnboost_unit_test_framework
+ : # sources
+ $(UTF_SOURCES).cpp
+ : # requirements
+ : # default build
+ : # usage-requirements
+ <link>shared:<define>BOOST_TEST_DYN_LINK=1
+ ;
+
+alias minimal : : : :
+ <toolset>msvc:<asynch-exceptions>on
+ ;
+
+alias included : : : :
+ <toolset>msvc:<asynch-exceptions>on
+ ;
+
+boost-install ndnboost_prg_exec_monitor
+ ndnboost_test_exec_monitor
+ ndnboost_unit_test_framework ;
+
\ No newline at end of file
diff --git a/libs/test/src/compiler_log_formatter.cpp b/libs/test/src/compiler_log_formatter.cpp
new file mode 100644
index 0000000..3b1c6da
--- /dev/null
+++ b/libs/test/src/compiler_log_formatter.cpp
@@ -0,0 +1,18 @@
+// (C) Copyright Gennadiy Rozental 2005-2008.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/test for the library home page.
+//
+// File : $RCSfile$
+//
+// Version : $Revision: 49313 $
+//
+// Description : forwarding source
+// ***************************************************************************
+
+#define BOOST_TEST_SOURCE
+#include <boost/test/impl/compiler_log_formatter.ipp>
+
+// EOF
diff --git a/libs/test/src/cpp_main.cpp b/libs/test/src/cpp_main.cpp
new file mode 100644
index 0000000..d3b7d77
--- /dev/null
+++ b/libs/test/src/cpp_main.cpp
@@ -0,0 +1,19 @@
+// (C) Copyright Gennadiy Rozental 2005-2008.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/test for the library home page.
+//
+// File : $RCSfile$
+//
+// Version : $Revision: 49313 $
+//
+// Description : forwarding source
+// ***************************************************************************
+
+#define BOOST_TEST_SOURCE
+#include <boost/test/impl/cpp_main.ipp>
+
+// EOF
+
diff --git a/libs/test/src/debug.cpp b/libs/test/src/debug.cpp
new file mode 100644
index 0000000..94e6f3e
--- /dev/null
+++ b/libs/test/src/debug.cpp
@@ -0,0 +1,24 @@
+// (C) Copyright Gennadiy Rozental 2006-2008.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/test for the library home page.
+//
+// File : $RCSfile$
+//
+// Version : $Revision: 49313 $
+//
+// Description : forwarding source
+// ***************************************************************************
+
+#define BOOST_TEST_SOURCE
+#include <boost/test/impl/debug.ipp>
+
+// ***************************************************************************
+// Revision History :
+//
+// $Log$
+// ***************************************************************************
+
+// EOF
diff --git a/libs/test/src/exception_safety.cpp b/libs/test/src/exception_safety.cpp
new file mode 100644
index 0000000..c1ec55b
--- /dev/null
+++ b/libs/test/src/exception_safety.cpp
@@ -0,0 +1,19 @@
+// (C) Copyright Gennadiy Rozental 2005-2008.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/test for the library home page.
+//
+// File : $RCSfile$
+//
+// Version : $Revision: 49313 $
+//
+// Description : forwarding source
+// ***************************************************************************
+
+#define BOOST_TEST_SOURCE
+#include <boost/test/impl/exception_safety.ipp>
+
+// EOF
+
diff --git a/libs/test/src/execution_monitor.cpp b/libs/test/src/execution_monitor.cpp
new file mode 100644
index 0000000..d610ea5
--- /dev/null
+++ b/libs/test/src/execution_monitor.cpp
@@ -0,0 +1,18 @@
+// (C) Copyright Gennadiy Rozental 2005-2008.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/test for the library home page.
+//
+// File : $RCSfile$
+//
+// Version : $Revision: 49313 $
+//
+// Description : forwarding source
+// ***************************************************************************
+
+#define BOOST_TEST_SOURCE
+#include <boost/test/impl/execution_monitor.ipp>
+
+// EOF
diff --git a/libs/test/src/framework.cpp b/libs/test/src/framework.cpp
new file mode 100644
index 0000000..c6fbd1e
--- /dev/null
+++ b/libs/test/src/framework.cpp
@@ -0,0 +1,18 @@
+// (C) Copyright Gennadiy Rozental 2005-2008.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/test for the library home page.
+//
+// File : $RCSfile$
+//
+// Version : $Revision: 49313 $
+//
+// Description : forwarding source
+// ***************************************************************************
+
+#define BOOST_TEST_SOURCE
+#include <boost/test/impl/framework.ipp>
+
+// EOF
diff --git a/libs/test/src/interaction_based.cpp b/libs/test/src/interaction_based.cpp
new file mode 100644
index 0000000..15b9d86
--- /dev/null
+++ b/libs/test/src/interaction_based.cpp
@@ -0,0 +1,18 @@
+// (C) Copyright Gennadiy Rozental 2005-2008.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/test for the library home page.
+//
+// File : $RCSfile$
+//
+// Version : $Revision: 49313 $
+//
+// Description : forwarding source
+// ***************************************************************************
+
+#define BOOST_TEST_SOURCE
+#include <boost/test/impl/interaction_based.ipp>
+
+// EOF
diff --git a/libs/test/src/logged_expectations.cpp b/libs/test/src/logged_expectations.cpp
new file mode 100644
index 0000000..b12ab53
--- /dev/null
+++ b/libs/test/src/logged_expectations.cpp
@@ -0,0 +1,18 @@
+// (C) Copyright Gennadiy Rozental 2005-2008.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/test for the library home page.
+//
+// File : $RCSfile$
+//
+// Version : $Revision: 49313 $
+//
+// Description : forwarding source
+// ***************************************************************************
+
+#define BOOST_TEST_SOURCE
+#include <boost/test/impl/logged_expectations.ipp>
+
+// EOF
diff --git a/libs/test/src/plain_report_formatter.cpp b/libs/test/src/plain_report_formatter.cpp
new file mode 100644
index 0000000..825696d
--- /dev/null
+++ b/libs/test/src/plain_report_formatter.cpp
@@ -0,0 +1,18 @@
+// (C) Copyright Gennadiy Rozental 2005-2008.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/test for the library home page.
+//
+// File : $RCSfile$
+//
+// Version : $Revision: 49313 $
+//
+// Description : forwarding source
+// ***************************************************************************
+
+#define BOOST_TEST_SOURCE
+#include <boost/test/impl/plain_report_formatter.ipp>
+
+// EOF
diff --git a/libs/test/src/progress_monitor.cpp b/libs/test/src/progress_monitor.cpp
new file mode 100644
index 0000000..0c77f45
--- /dev/null
+++ b/libs/test/src/progress_monitor.cpp
@@ -0,0 +1,18 @@
+// (C) Copyright Gennadiy Rozental 2005-2008.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/test for the library home page.
+//
+// File : $RCSfile$
+//
+// Version : $Revision: 49313 $
+//
+// Description : forwarding source
+// ***************************************************************************
+
+#define BOOST_TEST_SOURCE
+#include <boost/test/impl/progress_monitor.ipp>
+
+// EOF
diff --git a/libs/test/src/results_collector.cpp b/libs/test/src/results_collector.cpp
new file mode 100644
index 0000000..ddf8d21
--- /dev/null
+++ b/libs/test/src/results_collector.cpp
@@ -0,0 +1,18 @@
+// (C) Copyright Gennadiy Rozental 2005-2008.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/test for the library home page.
+//
+// File : $RCSfile$
+//
+// Version : $Revision: 49313 $
+//
+// Description : forwarding source
+// ***************************************************************************
+
+#define BOOST_TEST_SOURCE
+#include <boost/test/impl/results_collector.ipp>
+
+// EOF
diff --git a/libs/test/src/results_reporter.cpp b/libs/test/src/results_reporter.cpp
new file mode 100644
index 0000000..b6848c4
--- /dev/null
+++ b/libs/test/src/results_reporter.cpp
@@ -0,0 +1,18 @@
+// (C) Copyright Gennadiy Rozental 2005-2008.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/test for the library home page.
+//
+// File : $RCSfile$
+//
+// Version : $Revision: 49313 $
+//
+// Description : forwarding source
+// ***************************************************************************
+
+#define BOOST_TEST_SOURCE
+#include <boost/test/impl/results_reporter.ipp>
+
+// EOF
diff --git a/libs/test/src/test_main.cpp b/libs/test/src/test_main.cpp
new file mode 100644
index 0000000..f9fffbf
--- /dev/null
+++ b/libs/test/src/test_main.cpp
@@ -0,0 +1,18 @@
+// (C) Copyright Gennadiy Rozental 2005-2008.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/test for the library home page.
+//
+// File : $RCSfile$
+//
+// Version : $Revision: 49313 $
+//
+// Description : forwarding source
+// ***************************************************************************
+
+#define BOOST_TEST_SOURCE
+#include <boost/test/impl/test_main.ipp>
+
+// EOF
diff --git a/libs/test/src/test_tools.cpp b/libs/test/src/test_tools.cpp
new file mode 100644
index 0000000..3154fa5
--- /dev/null
+++ b/libs/test/src/test_tools.cpp
@@ -0,0 +1,18 @@
+// (C) Copyright Gennadiy Rozental 2005-2008.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/test for the library home page.
+//
+// File : $RCSfile$
+//
+// Version : $Revision: 49313 $
+//
+// Description : forwarding source
+// ***************************************************************************
+
+#define BOOST_TEST_SOURCE
+#include <boost/test/impl/test_tools.ipp>
+
+// EOF
diff --git a/libs/test/src/unit_test_log.cpp b/libs/test/src/unit_test_log.cpp
new file mode 100644
index 0000000..b22017e
--- /dev/null
+++ b/libs/test/src/unit_test_log.cpp
@@ -0,0 +1,18 @@
+// (C) Copyright Gennadiy Rozental 2005-2008.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/test for the library home page.
+//
+// File : $RCSfile$
+//
+// Version : $Revision: 49313 $
+//
+// Description : forwarding source
+// ***************************************************************************
+
+#define BOOST_TEST_SOURCE
+#include <boost/test/impl/unit_test_log.ipp>
+
+// EOF
diff --git a/libs/test/src/unit_test_main.cpp b/libs/test/src/unit_test_main.cpp
new file mode 100644
index 0000000..44fc10a
--- /dev/null
+++ b/libs/test/src/unit_test_main.cpp
@@ -0,0 +1,18 @@
+// (C) Copyright Gennadiy Rozental 2005-2008.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/test for the library home page.
+//
+// File : $RCSfile$
+//
+// Version : $Revision: 49313 $
+//
+// Description : forwarding source
+// ***************************************************************************
+
+#define BOOST_TEST_SOURCE
+#include <boost/test/impl/unit_test_main.ipp>
+
+// EOF
diff --git a/libs/test/src/unit_test_monitor.cpp b/libs/test/src/unit_test_monitor.cpp
new file mode 100644
index 0000000..413016b
--- /dev/null
+++ b/libs/test/src/unit_test_monitor.cpp
@@ -0,0 +1,18 @@
+// (C) Copyright Gennadiy Rozental 2005-2008.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/test for the library home page.
+//
+// File : $RCSfile$
+//
+// Version : $Revision: 49313 $
+//
+// Description : forwarding source
+// ***************************************************************************
+
+#define BOOST_TEST_SOURCE
+#include <boost/test/impl/unit_test_monitor.ipp>
+
+// EOF
diff --git a/libs/test/src/unit_test_parameters.cpp b/libs/test/src/unit_test_parameters.cpp
new file mode 100644
index 0000000..527258e
--- /dev/null
+++ b/libs/test/src/unit_test_parameters.cpp
@@ -0,0 +1,18 @@
+// (C) Copyright Gennadiy Rozental 2005-2008.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/test for the library home page.
+//
+// File : $RCSfile$
+//
+// Version : $Revision: 49313 $
+//
+// Description : forwarding source
+// ***************************************************************************
+
+#define BOOST_TEST_SOURCE
+#include <boost/test/impl/unit_test_parameters.ipp>
+
+// EOF
diff --git a/libs/test/src/unit_test_suite.cpp b/libs/test/src/unit_test_suite.cpp
new file mode 100644
index 0000000..8308085
--- /dev/null
+++ b/libs/test/src/unit_test_suite.cpp
@@ -0,0 +1,18 @@
+// (C) Copyright Gennadiy Rozental 2005-2008.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/test for the library home page.
+//
+// File : $RCSfile$
+//
+// Version : $Revision: 49313 $
+//
+// Description : forwarding source
+// ***************************************************************************
+
+#define BOOST_TEST_SOURCE
+#include <boost/test/impl/unit_test_suite.ipp>
+
+// EOF
diff --git a/libs/test/src/xml_log_formatter.cpp b/libs/test/src/xml_log_formatter.cpp
new file mode 100644
index 0000000..4921670
--- /dev/null
+++ b/libs/test/src/xml_log_formatter.cpp
@@ -0,0 +1,18 @@
+// (C) Copyright Gennadiy Rozental 2005-2008.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/test for the library home page.
+//
+// File : $RCSfile$
+//
+// Version : $Revision: 49313 $
+//
+// Description : forwarding source
+// ***************************************************************************
+
+#define BOOST_TEST_SOURCE
+#include <boost/test/impl/xml_log_formatter.ipp>
+
+// EOF
diff --git a/libs/test/src/xml_report_formatter.cpp b/libs/test/src/xml_report_formatter.cpp
new file mode 100644
index 0000000..5b706ad
--- /dev/null
+++ b/libs/test/src/xml_report_formatter.cpp
@@ -0,0 +1,18 @@
+// (C) Copyright Gennadiy Rozental 2005-2008.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/test for the library home page.
+//
+// File : $RCSfile$
+//
+// Version : $Revision: 49313 $
+//
+// Description : forwarding source
+// ***************************************************************************
+
+#define BOOST_TEST_SOURCE
+#include <boost/test/impl/xml_report_formatter.ipp>
+
+// EOF