|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r49312 - in branches/release/boost/test: . detail impl included output utils utils/basic_cstring utils/iterator utils/runtime utils/runtime/cla utils/runtime/cla/detail utils/runtime/cla/iface utils/runtime/env utils/runtime/file
From: gennadiy.rozental_at_[hidden]
Date: 2008-10-13 04:20:38
Author: rogeeff
Date: 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
New Revision: 49312
URL: http://svn.boost.org/trac/boost/changeset/49312
Log:
merge from trunk
Added:
branches/release/boost/test/utils/lazy_ostream.hpp
- copied unchanged from r49311, /trunk/boost/test/utils/lazy_ostream.hpp
Text files modified:
branches/release/boost/test/auto_unit_test.hpp | 2
branches/release/boost/test/debug.hpp | 2
branches/release/boost/test/debug_config.hpp | 2
branches/release/boost/test/detail/config.hpp | 35 +-
branches/release/boost/test/detail/enable_warnings.hpp | 3
branches/release/boost/test/detail/fwd_decl.hpp | 3
branches/release/boost/test/detail/global_typedef.hpp | 2
branches/release/boost/test/detail/log_level.hpp | 2
branches/release/boost/test/detail/suppress_warnings.hpp | 3
branches/release/boost/test/detail/unit_test_parameters.hpp | 2
branches/release/boost/test/detail/workaround.hpp | 2
branches/release/boost/test/exception_safety.hpp | 4
branches/release/boost/test/execution_monitor.hpp | 2
branches/release/boost/test/floating_point_comparison.hpp | 6
branches/release/boost/test/framework.hpp | 4
branches/release/boost/test/impl/compiler_log_formatter.ipp | 17 +
branches/release/boost/test/impl/cpp_main.ipp | 2
branches/release/boost/test/impl/debug.ipp | 46 ++-
branches/release/boost/test/impl/exception_safety.ipp | 9
branches/release/boost/test/impl/execution_monitor.ipp | 490 +++++++++++++++++++++------------------
branches/release/boost/test/impl/framework.ipp | 29 ++
branches/release/boost/test/impl/interaction_based.ipp | 7
branches/release/boost/test/impl/logged_expectations.ipp | 7
branches/release/boost/test/impl/plain_report_formatter.ipp | 4
branches/release/boost/test/impl/progress_monitor.ipp | 2
branches/release/boost/test/impl/results_collector.ipp | 2
branches/release/boost/test/impl/results_reporter.ipp | 2
branches/release/boost/test/impl/test_main.ipp | 2
branches/release/boost/test/impl/test_tools.ipp | 179 +++++++-------
branches/release/boost/test/impl/unit_test_log.ipp | 121 ++++++---
branches/release/boost/test/impl/unit_test_main.ipp | 17
branches/release/boost/test/impl/unit_test_monitor.ipp | 2
branches/release/boost/test/impl/unit_test_parameters.ipp | 6
branches/release/boost/test/impl/unit_test_suite.ipp | 9
branches/release/boost/test/impl/xml_log_formatter.ipp | 5
branches/release/boost/test/impl/xml_report_formatter.ipp | 2
branches/release/boost/test/included/prg_exec_monitor.hpp | 2
branches/release/boost/test/included/test_exec_monitor.hpp | 2
branches/release/boost/test/included/unit_test.hpp | 2
branches/release/boost/test/interaction_based.hpp | 5
branches/release/boost/test/logged_expectations.hpp | 4
branches/release/boost/test/minimal.hpp | 2
branches/release/boost/test/mock_object.hpp | 2
branches/release/boost/test/output/compiler_log_formatter.hpp | 3
branches/release/boost/test/output/plain_report_formatter.hpp | 2
branches/release/boost/test/output/xml_log_formatter.hpp | 3
branches/release/boost/test/output/xml_report_formatter.hpp | 2
branches/release/boost/test/output_test_stream.hpp | 2
branches/release/boost/test/parameterized_test.hpp | 2
branches/release/boost/test/predicate_result.hpp | 2
branches/release/boost/test/prg_exec_monitor.hpp | 2
branches/release/boost/test/progress_monitor.hpp | 2
branches/release/boost/test/results_collector.hpp | 2
branches/release/boost/test/results_reporter.hpp | 2
branches/release/boost/test/test_case_template.hpp | 5
branches/release/boost/test/test_exec_monitor.hpp | 2
branches/release/boost/test/test_observer.hpp | 2
branches/release/boost/test/test_tools.hpp | 129 ++++++----
branches/release/boost/test/unit_test.hpp | 2
branches/release/boost/test/unit_test_log.hpp | 33 +-
branches/release/boost/test/unit_test_log_formatter.hpp | 3
branches/release/boost/test/unit_test_monitor.hpp | 2
branches/release/boost/test/unit_test_suite.hpp | 3
branches/release/boost/test/unit_test_suite_impl.hpp | 11
branches/release/boost/test/utils/algorithm.hpp | 2
branches/release/boost/test/utils/assign_op.hpp | 2
branches/release/boost/test/utils/basic_cstring/basic_cstring.hpp | 18
branches/release/boost/test/utils/basic_cstring/basic_cstring_fwd.hpp | 2
branches/release/boost/test/utils/basic_cstring/bcs_char_traits.hpp | 2
branches/release/boost/test/utils/basic_cstring/compare.hpp | 4
branches/release/boost/test/utils/basic_cstring/io.hpp | 2
branches/release/boost/test/utils/callback.hpp | 2
branches/release/boost/test/utils/class_properties.hpp | 2
branches/release/boost/test/utils/custom_manip.hpp | 2
branches/release/boost/test/utils/fixed_mapping.hpp | 2
branches/release/boost/test/utils/foreach.hpp | 26 --
branches/release/boost/test/utils/iterator/ifstream_line_iterator.hpp | 2
branches/release/boost/test/utils/iterator/input_iterator_facade.hpp | 2
branches/release/boost/test/utils/iterator/istream_line_iterator.hpp | 8
branches/release/boost/test/utils/iterator/token_iterator.hpp | 2
branches/release/boost/test/utils/named_params.hpp | 2
branches/release/boost/test/utils/nullstream.hpp | 2
branches/release/boost/test/utils/rtti.hpp | 2
branches/release/boost/test/utils/runtime/argument.hpp | 2
branches/release/boost/test/utils/runtime/cla/argument_factory.hpp | 2
branches/release/boost/test/utils/runtime/cla/argv_traverser.cpp | 2
branches/release/boost/test/utils/runtime/cla/argv_traverser.hpp | 2
branches/release/boost/test/utils/runtime/cla/argv_traverser.ipp | 2
branches/release/boost/test/utils/runtime/cla/basic_parameter.hpp | 2
branches/release/boost/test/utils/runtime/cla/char_parameter.cpp | 2
branches/release/boost/test/utils/runtime/cla/char_parameter.hpp | 2
branches/release/boost/test/utils/runtime/cla/char_parameter.ipp | 2
branches/release/boost/test/utils/runtime/cla/detail/argument_value_usage.hpp | 2
branches/release/boost/test/utils/runtime/cla/dual_name_parameter.cpp | 2
branches/release/boost/test/utils/runtime/cla/dual_name_parameter.hpp | 2
branches/release/boost/test/utils/runtime/cla/dual_name_parameter.ipp | 2
branches/release/boost/test/utils/runtime/cla/fwd.hpp | 2
branches/release/boost/test/utils/runtime/cla/id_policy.cpp | 2
branches/release/boost/test/utils/runtime/cla/id_policy.hpp | 2
branches/release/boost/test/utils/runtime/cla/id_policy.ipp | 2
branches/release/boost/test/utils/runtime/cla/iface/argument_factory.hpp | 4
branches/release/boost/test/utils/runtime/cla/iface/id_policy.hpp | 3
branches/release/boost/test/utils/runtime/cla/modifier.hpp | 2
branches/release/boost/test/utils/runtime/cla/named_parameter.cpp | 2
branches/release/boost/test/utils/runtime/cla/named_parameter.hpp | 2
branches/release/boost/test/utils/runtime/cla/named_parameter.ipp | 2
branches/release/boost/test/utils/runtime/cla/parameter.hpp | 4
branches/release/boost/test/utils/runtime/cla/parser.cpp | 2
branches/release/boost/test/utils/runtime/cla/parser.hpp | 2
branches/release/boost/test/utils/runtime/cla/parser.ipp | 2
branches/release/boost/test/utils/runtime/cla/positional_parameter.hpp | 8
branches/release/boost/test/utils/runtime/cla/typed_parameter.hpp | 2
branches/release/boost/test/utils/runtime/cla/validation.cpp | 2
branches/release/boost/test/utils/runtime/cla/validation.hpp | 2
branches/release/boost/test/utils/runtime/cla/validation.ipp | 2
branches/release/boost/test/utils/runtime/cla/value_generator.hpp | 2
branches/release/boost/test/utils/runtime/cla/value_handler.hpp | 2
branches/release/boost/test/utils/runtime/config.hpp | 2
branches/release/boost/test/utils/runtime/configuration.hpp | 2
branches/release/boost/test/utils/runtime/env/environment.cpp | 2
branches/release/boost/test/utils/runtime/env/environment.hpp | 2
branches/release/boost/test/utils/runtime/env/environment.ipp | 2
branches/release/boost/test/utils/runtime/env/fwd.hpp | 6
branches/release/boost/test/utils/runtime/env/modifier.hpp | 2
branches/release/boost/test/utils/runtime/env/variable.hpp | 2
branches/release/boost/test/utils/runtime/file/config_file.cpp | 2
branches/release/boost/test/utils/runtime/file/config_file.hpp | 2
branches/release/boost/test/utils/runtime/file/config_file_iterator.cpp | 2
branches/release/boost/test/utils/runtime/file/config_file_iterator.hpp | 2
branches/release/boost/test/utils/runtime/fwd.hpp | 2
branches/release/boost/test/utils/runtime/interpret_argument_value.hpp | 2
branches/release/boost/test/utils/runtime/parameter.hpp | 2
branches/release/boost/test/utils/runtime/trace.hpp | 2
branches/release/boost/test/utils/runtime/validation.hpp | 2
branches/release/boost/test/utils/trivial_singleton.hpp | 2
branches/release/boost/test/utils/wrap_stringstream.hpp | 6
branches/release/boost/test/utils/xml_printer.hpp | 14
137 files changed, 818 insertions(+), 676 deletions(-)
Modified: branches/release/boost/test/auto_unit_test.hpp
==============================================================================
--- branches/release/boost/test/auto_unit_test.hpp (original)
+++ branches/release/boost/test/auto_unit_test.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
Modified: branches/release/boost/test/debug.hpp
==============================================================================
--- branches/release/boost/test/debug.hpp (original)
+++ branches/release/boost/test/debug.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2006-2007.
+// (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)
Modified: branches/release/boost/test/debug_config.hpp
==============================================================================
--- branches/release/boost/test/debug_config.hpp (original)
+++ branches/release/boost/test/debug_config.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2006-2007.
+// (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)
Modified: branches/release/boost/test/detail/config.hpp
==============================================================================
--- branches/release/boost/test/detail/config.hpp (original)
+++ branches/release/boost/test/detail/config.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
@@ -19,12 +19,6 @@
#include <boost/config.hpp> // compilers workarounds
#include <boost/detail/workaround.hpp>
-#if BOOST_WORKAROUND(__GNUC__, < 3) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
-# define BOOST_CLASSIC_IOSTREAMS
-#else
-# define BOOST_STANDARD_IOSTREAMS
-#endif
-
//____________________________________________________________________________//
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)) || \
@@ -43,19 +37,20 @@
//____________________________________________________________________________//
-#if defined(BOOST_HAS_SIGACTION)
-# define BOOST_TEST_SUPPORT_TIMEOUT
+#if !defined(BOOST_NO_STD_LOCALE) && \
+ !BOOST_WORKAROUND(BOOST_MSVC, < 1310) && \
+ !defined(__MWERKS__)
+# define BOOST_TEST_USE_STD_LOCALE 1
#endif
//____________________________________________________________________________//
-#if BOOST_WORKAROUND(__BORLANDC__, <= 0x570) || \
- BOOST_WORKAROUND( __COMO__, <= 0x433 ) || \
- BOOST_WORKAROUND( __INTEL_COMPILER, <= 800 ) || \
- BOOST_WORKAROUND(__GNUC__, < 3) || \
- defined(__sgi) && _COMPILER_VERSION <= 730 || \
- BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) || \
- defined(__DECCXX) || \
+#if BOOST_WORKAROUND(__BORLANDC__, <= 0x570) || \
+ BOOST_WORKAROUND( __COMO__, <= 0x433 ) || \
+ BOOST_WORKAROUND( __INTEL_COMPILER, <= 800 ) || \
+ defined(__sgi) && _COMPILER_VERSION <= 730 || \
+ BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) || \
+ defined(__DECCXX) || \
defined(__DMC__)
# define BOOST_TEST_NO_PROTECTED_USING
#endif
@@ -70,6 +65,14 @@
//____________________________________________________________________________//
+#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
+ !BOOST_WORKAROUND(BOOST_MSVC, <1310) && \
+ !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x530))
+# define BOOST_TEST_SUPPORT_INTERACTION_TESTING 1
+#endif
+
+//____________________________________________________________________________//
+
#if defined(BOOST_ALL_DYN_LINK) && !defined(BOOST_TEST_DYN_LINK)
# define BOOST_TEST_DYN_LINK
#endif
Modified: branches/release/boost/test/detail/enable_warnings.hpp
==============================================================================
--- branches/release/boost/test/detail/enable_warnings.hpp (original)
+++ branches/release/boost/test/detail/enable_warnings.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2004-2007.
+// (C) Copyright Gennadiy Rozental 2004-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)
@@ -23,5 +23,6 @@
# pragma warning(default: 4127) // conditional expression is constant
# pragma warning(default: 4290) // C++ exception specification ignored except to ...
# pragma warning(default: 4180) // qualifier applied to function type has no meaning; ignored
+# pragma warning(default: 4275) // non dll-interface class ... used as base for dll-interface class ...
# pragma warning(pop)
#endif
Modified: branches/release/boost/test/detail/fwd_decl.hpp
==============================================================================
--- branches/release/boost/test/detail/fwd_decl.hpp (original)
+++ branches/release/boost/test/detail/fwd_decl.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
@@ -38,6 +38,7 @@
struct log_entry_data;
struct log_checkpoint_data;
+class lazy_ostream;
} // namespace unit_test
Modified: branches/release/boost/test/detail/global_typedef.hpp
==============================================================================
--- branches/release/boost/test/detail/global_typedef.hpp (original)
+++ branches/release/boost/test/detail/global_typedef.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
Modified: branches/release/boost/test/detail/log_level.hpp
==============================================================================
--- branches/release/boost/test/detail/log_level.hpp (original)
+++ branches/release/boost/test/detail/log_level.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/detail/suppress_warnings.hpp
==============================================================================
--- branches/release/boost/test/detail/suppress_warnings.hpp (original)
+++ branches/release/boost/test/detail/suppress_warnings.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2004-2007.
+// (C) Copyright Gennadiy Rozental 2004-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)
@@ -24,5 +24,6 @@
# pragma warning(disable: 4127) // conditional expression is constant
# pragma warning(disable: 4290) // C++ exception specification ignored except to ...
# pragma warning(disable: 4180) // qualifier applied to function type has no meaning; ignored
+# pragma warning(disable: 4275) // non dll-interface class ... used as base for dll-interface class ...
#endif
Modified: branches/release/boost/test/detail/unit_test_parameters.hpp
==============================================================================
--- branches/release/boost/test/detail/unit_test_parameters.hpp (original)
+++ branches/release/boost/test/detail/unit_test_parameters.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
Modified: branches/release/boost/test/detail/workaround.hpp
==============================================================================
--- branches/release/boost/test/detail/workaround.hpp (original)
+++ branches/release/boost/test/detail/workaround.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/exception_safety.hpp
==============================================================================
--- branches/release/boost/test/exception_safety.hpp (original)
+++ branches/release/boost/test/exception_safety.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
@@ -46,7 +46,7 @@
\
struct BOOST_AUTO_TC_UNIQUE_ID( test_name ) {}; \
\
-BOOST_AUTO_TC_REGISTRAR( test_name )( \
+BOOST_AUTO_TU_REGISTRAR( test_name )( \
boost::unit_test::make_test_case( \
&BOOST_AUTO_TC_INVOKER( test_name ), #test_name ), \
boost::unit_test::ut_detail::auto_tc_exp_fail< \
Modified: branches/release/boost/test/execution_monitor.hpp
==============================================================================
--- branches/release/boost/test/execution_monitor.hpp (original)
+++ branches/release/boost/test/execution_monitor.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-2008.
// (C) Copyright Beman Dawes 2001.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
Modified: branches/release/boost/test/floating_point_comparison.hpp
==============================================================================
--- branches/release/boost/test/floating_point_comparison.hpp (original)
+++ branches/release/boost/test/floating_point_comparison.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
@@ -181,8 +181,8 @@
FPT d2 = tt_detail::safe_fpt_division( diff, tt_detail::fpt_abs( left ) );
return p_strong_or_weak
- ? (d1 <= p_fraction_tolerance && d2 <= p_fraction_tolerance)
- : (d1 <= p_fraction_tolerance || d2 <= p_fraction_tolerance);
+ ? (d1 <= p_fraction_tolerance.get() && d2 <= p_fraction_tolerance.get())
+ : (d1 <= p_fraction_tolerance.get() || d2 <= p_fraction_tolerance.get());
}
// Public properties
Modified: branches/release/boost/test/framework.hpp
==============================================================================
--- branches/release/boost/test/framework.hpp (original)
+++ branches/release/boost/test/framework.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
@@ -54,6 +54,8 @@
// mutation access methods
BOOST_TEST_DECL void register_test_unit( test_case* tc );
BOOST_TEST_DECL void register_test_unit( test_suite* ts );
+BOOST_TEST_DECL void deregister_test_unit( test_unit* tu );
+BOOST_TEST_DECL void clear();
BOOST_TEST_DECL void register_observer( test_observer& );
BOOST_TEST_DECL void deregister_observer( test_observer& );
Modified: branches/release/boost/test/impl/compiler_log_formatter.ipp
==============================================================================
--- branches/release/boost/test/impl/compiler_log_formatter.ipp (original)
+++ branches/release/boost/test/impl/compiler_log_formatter.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
@@ -20,6 +20,7 @@
#include <boost/test/unit_test_suite_impl.hpp>
#include <boost/test/framework.hpp>
#include <boost/test/utils/basic_cstring/io.hpp>
+#include <boost/test/utils/lazy_ostream.hpp>
// Boost
#include <boost/version.hpp>
@@ -167,6 +168,14 @@
//____________________________________________________________________________//
void
+compiler_log_formatter::log_entry_value( std::ostream& output, lazy_ostream const& value )
+{
+ output << value;
+}
+
+//____________________________________________________________________________//
+
+void
compiler_log_formatter::log_entry_finish( std::ostream& output )
{
output << std::endl;
@@ -177,7 +186,13 @@
void
compiler_log_formatter::print_prefix( std::ostream& output, const_string file, std::size_t line )
{
+#ifdef __APPLE_CC__
+ // Xcode-compatible logging format, idea by Richard Dingwall at
+ // <http://richarddingwall.name/2008/06/01/using-the-boost-unit-test-framework-with-xcode-3/>.
+ output << file << ':' << line << ": ";
+#else
output << file << '(' << line << "): ";
+#endif
}
//____________________________________________________________________________//
Modified: branches/release/boost/test/impl/cpp_main.ipp
==============================================================================
--- branches/release/boost/test/impl/cpp_main.ipp (original)
+++ branches/release/boost/test/impl/cpp_main.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-2008.
// (C) Copyright Beman Dawes 1995-2001.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
Modified: branches/release/boost/test/impl/debug.ipp
==============================================================================
--- branches/release/boost/test/impl/debug.ipp (original)
+++ branches/release/boost/test/impl/debug.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2006-2007.
+// (C) Copyright Gennadiy Rozental 2006-2008.
// Use, modification, and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// http://www.boost.org/LICENSE_1_0.txt)
@@ -32,6 +32,7 @@
# include <windows.h>
# include <winreg.h>
# include <cstdio>
+# include <cstring>
# if !defined(NDEBUG) && defined(_MSC_VER)
# define BOOST_MS_CRT_BASED_DEBUG
@@ -56,8 +57,9 @@
#include <boost/test/utils/algorithm.hpp>
// STL
-#include <cstring>
+#include <cstring> // std::memcpy
#include <map>
+#include <cstdio>
#include <stdarg.h> // !! ?? cstdarg
// SYSTEM API
@@ -495,7 +497,7 @@
//____________________________________________________________________________//
static void
-start_gdb_in_xemacs( dbg_startup_info const& dsi )
+start_gdb_in_xemacs( dbg_startup_info const& )
{
// !! ??
}
@@ -550,7 +552,7 @@
//____________________________________________________________________________//
static void
-start_dbx_in_emacs( dbg_startup_info const& dsi )
+start_dbx_in_emacs( dbg_startup_info const& /*dsi*/ )
{
// char dbg_cmd_buff[500]; // !! ??
//
@@ -562,7 +564,7 @@
//____________________________________________________________________________//
static void
-start_dbx_in_xemacs( dbg_startup_info const& dsi )
+start_dbx_in_xemacs( dbg_startup_info const& )
{
// !! ??
}
@@ -722,19 +724,11 @@
// ************** console debugger setup ************** //
// ************************************************************************** //
-#if BOOST_WORKAROUND( BOOST_MSVC, <1300)
-std::string
-set_debugger( unit_test::const_string dbg_id )
-{
- dbg_starter s;
-#else
+#if defined(BOOST_UNIX_BASED_DEBUG) // ************************ UNIX
+
std::string
set_debugger( unit_test::const_string dbg_id, dbg_starter s )
{
-#endif
-
-#if defined(BOOST_UNIX_BASED_DEBUG) // ************************ UNIX
-
std::string old = s_info.p_dbg;
assign_op( s_info.p_dbg.value, dbg_id, 0 );
@@ -743,13 +737,17 @@
s_info.m_dbg_starter_reg[s_info.p_dbg] = s;
return old;
+}
#else // ***************************************************** default
+std::string
+set_debugger( unit_test::const_string, dbg_starter )
+{
return std::string();
+}
#endif
-}
//____________________________________________________________________________//
@@ -854,6 +852,11 @@
if( !created )
return false;
+ if( break_or_continue )
+ debugger_break();
+
+ return true;
+
#elif defined(BOOST_UNIX_BASED_DEBUG) // ********************** UNIX
char init_done_lock_fn[] = "/tmp/btl_dbg_init_done_XXXXXX";
@@ -900,16 +903,16 @@
// char dummy;
// while( ::read( init_done_lock_fd, &dummy, sizeof(char) ) == 0 );
+ if( break_or_continue )
+ debugger_break();
+
+ return true;
+
#else // ****************************************************** default
return false;
#endif
-
- if( break_or_continue )
- debugger_break();
-
- return true;
}
//____________________________________________________________________________//
@@ -964,3 +967,4 @@
#include <boost/test/detail/enable_warnings.hpp>
#endif // BOOST_TEST_DEBUG_API_IPP_112006GER
+
Modified: branches/release/boost/test/impl/exception_safety.ipp
==============================================================================
--- branches/release/boost/test/impl/exception_safety.ipp (original)
+++ branches/release/boost/test/impl/exception_safety.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// http://www.boost.org/LICENSE_1_0.txt)
@@ -18,10 +18,7 @@
// Boost.Test
#include <boost/test/detail/config.hpp>
-#if !BOOST_WORKAROUND(__GNUC__, < 3) && \
- !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
- !BOOST_WORKAROUND(BOOST_MSVC, <1310) && \
- !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x530))
+#if BOOST_TEST_SUPPORT_INTERACTION_TESTING
#include <boost/test/detail/global_typedef.hpp>
#include <boost/test/detail/unit_test_parameters.hpp>
@@ -401,7 +398,7 @@
namespace {
inline void
-format_location( wrap_stringstream& formatter, execution_path_point const& p, unsigned indent )
+format_location( wrap_stringstream& formatter, execution_path_point const& /*p*/, unsigned indent )
{
if( indent )
formatter << std::left << std::setw( indent ) << "";
Modified: branches/release/boost/test/impl/execution_monitor.ipp
==============================================================================
--- branches/release/boost/test/impl/execution_monitor.ipp (original)
+++ branches/release/boost/test/impl/execution_monitor.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-2008.
// (C) Copyright Beman Dawes and Ullrich Koethe 1995-2001.
// Use, modification, and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
@@ -51,12 +51,17 @@
#endif
// to use vsnprintf
-#if defined(__SUNPRO_CC) && defined(__SunOS)
+#if defined(__SUNPRO_CC) || defined(__SunOS)
# include <stdio.h>
# include <stdarg.h>
using std::va_list;
#endif
+// to use vsnprintf
+#if defined(__QNXNTO__)
+# include <stdio.h>
+#endif
+
#if defined(_WIN32) && !defined(BOOST_DISABLE_WIN32) && \
(!defined(__COMO__) && !defined(__MWERKS__) && !defined(__GNUC__) || \
BOOST_WORKAROUND(__MWERKS__, >= 0x3000))
@@ -65,13 +70,17 @@
# include <windows.h>
-# if defined(__MWERKS__)
+# if defined(__MWERKS__) || (defined(_MSC_VER) && !defined(UNDER_CE))
# include <eh.h>
# endif
-# if defined(__BORLANDC__) || defined(__MWERKS__)
+# if defined(__BORLANDC__) && __BORLANDC__ >= 0x560 || defined(__MWERKS__)
# include <stdint.h>
-#endif
+# endif
+
+# if defined(__BORLANDC__) && __BORLANDC__ < 0x560
+ typedef unsigned uintptr_t;
+# endif
# if BOOST_WORKAROUND(_MSC_VER, < 1300 ) || defined(UNDER_CE)
typedef void* uintptr_t;
@@ -135,11 +144,14 @@
# include <signal.h>
# include <setjmp.h>
-# if !defined(__CYGWIN__)
+# if !defined(__CYGWIN__) && !defined(__QNXNTO__)
# define BOOST_TEST_USE_ALT_STACK
# endif
-# if !defined(__CYGWIN__) && !(defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__))
+# if defined(SIGPOLL) && !defined(__CYGWIN__) && \
+ !(defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)) && \
+ !defined(__NetBSD__) && \
+ !defined(__QNXNTO__)
# define BOOST_TEST_CATCH_SIGPOLL
# endif
@@ -249,245 +261,246 @@
if( !m_sig_info )
return; // no error actually occur?
- if( m_sig_info->si_code <= 0 ) {
+ switch( m_sig_info->si_code ) {
+ case SI_USER:
+ report_error( execution_exception::system_error,
+ "signal: generated by kill() (or family); uid=%d; pid=%d",
+ (int)m_sig_info->si_uid, (int)m_sig_info->si_pid );
+ break;
+ case SI_QUEUE:
+ report_error( execution_exception::system_error,
+ "signal: sent by sigqueue()" );
+ break;
+ case SI_TIMER:
+ report_error( execution_exception::system_error,
+ "signal: the expiration of a timer set by timer_settimer()" );
+ break;
+ case SI_ASYNCIO:
+ report_error( execution_exception::system_error,
+ "signal: generated by the completion of an asynchronous I/O request" );
+ break;
+ case SI_MESGQ:
+ report_error( execution_exception::system_error,
+ "signal: generated by the the arrival of a message on an empty message queue" );
+ break;
+ default:
+ break;
+ }
+
+ switch( m_sig_info->si_signo ) {
+ case SIGILL:
switch( m_sig_info->si_code ) {
- case SI_USER:
+ case ILL_ILLOPC:
+ report_error( execution_exception::system_fatal_error,
+ "signal: illegal opcode; address of failing instruction: 0x%08lx",
+ m_sig_info->si_addr );
+ break;
+ case ILL_ILLOPN:
+ report_error( execution_exception::system_fatal_error,
+ "signal: illegal operand; address of failing instruction: 0x%08lx",
+ m_sig_info->si_addr );
+ break;
+ case ILL_ILLADR:
+ report_error( execution_exception::system_fatal_error,
+ "signal: illegal addressing mode; address of failing instruction: 0x%08lx",
+ m_sig_info->si_addr );
+ break;
+ case ILL_ILLTRP:
+ report_error( execution_exception::system_fatal_error,
+ "signal: illegal trap; address of failing instruction: 0x%08lx",
+ m_sig_info->si_addr );
+ break;
+ case ILL_PRVOPC:
+ report_error( execution_exception::system_fatal_error,
+ "signal: privileged opcode; address of failing instruction: 0x%08lx",
+ m_sig_info->si_addr );
+ break;
+ case ILL_PRVREG:
+ report_error( execution_exception::system_fatal_error,
+ "signal: privileged register; address of failing instruction: 0x%08lx",
+ m_sig_info->si_addr );
+ break;
+ case ILL_COPROC:
+ report_error( execution_exception::system_fatal_error,
+ "signal: co-processor error; address of failing instruction: 0x%08lx",
+ m_sig_info->si_addr );
+ break;
+ case ILL_BADSTK:
+ report_error( execution_exception::system_fatal_error,
+ "signal: internal stack error; address of failing instruction: 0x%08lx",
+ m_sig_info->si_addr );
+ break;
+ }
+ break;
+
+ case SIGFPE:
+ switch( m_sig_info->si_code ) {
+ case FPE_INTDIV:
+ report_error( execution_exception::system_error,
+ "signal: integer divide by zero; address of failing instruction: 0x%08lx",
+ m_sig_info->si_addr );
+ break;
+ case FPE_INTOVF:
+ report_error( execution_exception::system_error,
+ "signal: integer overflow; address of failing instruction: 0x%08lx",
+ m_sig_info->si_addr );
+ break;
+ case FPE_FLTDIV:
report_error( execution_exception::system_error,
- "signal: generated by kill() (or family); uid=%d; pid=%d",
- (int)m_sig_info->si_uid, (int)m_sig_info->si_pid );
+ "signal: floating point divide by zero; address of failing instruction: 0x%08lx",
+ m_sig_info->si_addr );
break;
- case SI_QUEUE:
+ case FPE_FLTOVF:
report_error( execution_exception::system_error,
- "signal: sent by sigqueue()" );
+ "signal: floating point overflow; address of failing instruction: 0x%08lx",
+ m_sig_info->si_addr );
break;
- case SI_TIMER:
+ case FPE_FLTUND:
report_error( execution_exception::system_error,
- "signal: the expiration of a timer set by timer_settimer()" );
+ "signal: floating point underflow; address of failing instruction: 0x%08lx",
+ m_sig_info->si_addr );
break;
- case SI_ASYNCIO:
+ case FPE_FLTRES:
report_error( execution_exception::system_error,
- "signal: generated by the completion of an asynchronous I/O request" );
+ "signal: floating point inexact result; address of failing instruction: 0x%08lx",
+ m_sig_info->si_addr );
break;
- case SI_MESGQ:
+ case FPE_FLTINV:
report_error( execution_exception::system_error,
- "signal: generated by the the arrival of a message on an empty message queue" );
+ "signal: invalid floating point operation; address of failing instruction: 0x%08lx",
+ m_sig_info->si_addr );
+ break;
+ case FPE_FLTSUB:
+ report_error( execution_exception::system_error,
+ "signal: subscript out of range; address of failing instruction: 0x%08lx",
+ m_sig_info->si_addr );
break;
}
- }
- else {
- switch( m_sig_info->si_signo ) {
- case SIGILL:
- switch( m_sig_info->si_code ) {
- case ILL_ILLOPC:
- report_error( execution_exception::system_fatal_error,
- "signal: illegal opcode; address of failing instruction: 0x%08lx",
- m_sig_info->si_addr );
- break;
- case ILL_ILLOPN:
- report_error( execution_exception::system_fatal_error,
- "signal: illegal operand; address of failing instruction: 0x%08lx",
- m_sig_info->si_addr );
- break;
- case ILL_ILLADR:
- report_error( execution_exception::system_fatal_error,
- "signal: illegal addressing mode; address of failing instruction: 0x%08lx",
- m_sig_info->si_addr );
- break;
- case ILL_ILLTRP:
- report_error( execution_exception::system_fatal_error,
- "signal: illegal trap; address of failing instruction: 0x%08lx",
- m_sig_info->si_addr );
- break;
- case ILL_PRVOPC:
- report_error( execution_exception::system_fatal_error,
- "signal: privileged opcode; address of failing instruction: 0x%08lx",
- m_sig_info->si_addr );
- break;
- case ILL_PRVREG:
- report_error( execution_exception::system_fatal_error,
- "signal: privileged register; address of failing instruction: 0x%08lx",
- m_sig_info->si_addr );
- break;
- case ILL_COPROC:
- report_error( execution_exception::system_fatal_error,
- "signal: co-processor error; address of failing instruction: 0x%08lx",
- m_sig_info->si_addr );
- break;
- case ILL_BADSTK:
- report_error( execution_exception::system_fatal_error,
- "signal: internal stack error; address of failing instruction: 0x%08lx",
- m_sig_info->si_addr );
- break;
- }
- break;
-
- case SIGFPE:
- switch( m_sig_info->si_code ) {
- case FPE_INTDIV:
- report_error( execution_exception::system_error,
- "signal: integer divide by zero; address of failing instruction: 0x%08lx",
- m_sig_info->si_addr );
- break;
- case FPE_INTOVF:
- report_error( execution_exception::system_error,
- "signal: integer overflow; address of failing instruction: 0x%08lx",
- m_sig_info->si_addr );
- break;
- case FPE_FLTDIV:
- report_error( execution_exception::system_error,
- "signal: floating point divide by zero; address of failing instruction: 0x%08lx",
- m_sig_info->si_addr );
- break;
- case FPE_FLTOVF:
- report_error( execution_exception::system_error,
- "signal: floating point overflow; address of failing instruction: 0x%08lx",
- m_sig_info->si_addr );
- break;
- case FPE_FLTUND:
- report_error( execution_exception::system_error,
- "signal: floating point underflow; address of failing instruction: 0x%08lx",
- m_sig_info->si_addr );
- break;
- case FPE_FLTRES:
- report_error( execution_exception::system_error,
- "signal: floating point inexact result; address of failing instruction: 0x%08lx",
- m_sig_info->si_addr );
- break;
- case FPE_FLTINV:
- report_error( execution_exception::system_error,
- "signal: invalid floating point operation; address of failing instruction: 0x%08lx",
- m_sig_info->si_addr );
- break;
- case FPE_FLTSUB:
- report_error( execution_exception::system_error,
- "signal: subscript out of range; address of failing instruction: 0x%08lx",
- m_sig_info->si_addr );
- break;
- }
- break;
-
- case SIGSEGV:
- switch( m_sig_info->si_code ) {
- case SEGV_MAPERR:
- report_error( execution_exception::system_fatal_error,
- "memory access violation at address: 0x%08lx: no mapping at fault address",
- m_sig_info->si_addr );
- break;
- case SEGV_ACCERR:
- report_error( execution_exception::system_fatal_error,
- "memory access violation at address: 0x%08lx: invalid permissions",
- m_sig_info->si_addr );
- break;
- }
- break;
-
- case SIGBUS:
- switch( m_sig_info->si_code ) {
- case BUS_ADRALN:
- report_error( execution_exception::system_fatal_error,
- "memory access violation at address: 0x%08lx: invalid address alignment",
- m_sig_info->si_addr );
- break;
- case BUS_ADRERR:
- report_error( execution_exception::system_fatal_error,
- "memory access violation at address: 0x%08lx: non-existent physical address",
- m_sig_info->si_addr );
- break;
- case BUS_OBJERR:
- report_error( execution_exception::system_fatal_error,
- "memory access violation at address: 0x%08lx: object specific hardware error",
- m_sig_info->si_addr );
- break;
- }
- break;
-
- case SIGCHLD:
- switch( m_sig_info->si_code ) {
- case CLD_EXITED:
- report_error( execution_exception::system_error,
- "child has exited; pid: %d; uid: %d; exit value: %d",
- (int)m_sig_info->si_uid, (int)m_sig_info->si_pid, (int)m_sig_info->si_status );
- break;
- case CLD_KILLED:
- report_error( execution_exception::system_error,
- "child was killed; pid: %d; uid: %d; exit value: %d",
- (int)m_sig_info->si_uid, (int)m_sig_info->si_pid, (int)m_sig_info->si_status );
- break;
- case CLD_DUMPED:
- report_error( execution_exception::system_error,
- "child terminated abnormally; pid: %d; uid: %d; exit value: %d",
- (int)m_sig_info->si_uid, (int)m_sig_info->si_pid, (int)m_sig_info->si_status );
- break;
- case CLD_TRAPPED:
- report_error( execution_exception::system_error,
- "traced child has trapped; pid: %d; uid: %d; exit value: %d",
- (int)m_sig_info->si_uid, (int)m_sig_info->si_pid, (int)m_sig_info->si_status );
- break;
- case CLD_STOPPED:
- report_error( execution_exception::system_error,
- "child has stopped; pid: %d; uid: %d; exit value: %d",
- (int)m_sig_info->si_uid, (int)m_sig_info->si_pid, (int)m_sig_info->si_status );
- break;
- case CLD_CONTINUED:
- report_error( execution_exception::system_error,
- "stopped child had continued; pid: %d; uid: %d; exit value: %d",
- (int)m_sig_info->si_uid, (int)m_sig_info->si_pid, (int)m_sig_info->si_status );
- break;
- }
+ break;
+
+ case SIGSEGV:
+ switch( m_sig_info->si_code ) {
+ case SEGV_MAPERR:
+ report_error( execution_exception::system_fatal_error,
+ "memory access violation at address: 0x%08lx: no mapping at fault address",
+ m_sig_info->si_addr );
+ break;
+ case SEGV_ACCERR:
+ report_error( execution_exception::system_fatal_error,
+ "memory access violation at address: 0x%08lx: invalid permissions",
+ m_sig_info->si_addr );
break;
+ }
+ break;
-#if defined(BOOST_TEST_CATCH_SIGPOLL)
+ case SIGBUS:
+ switch( m_sig_info->si_code ) {
+ case BUS_ADRALN:
+ report_error( execution_exception::system_fatal_error,
+ "memory access violation at address: 0x%08lx: invalid address alignment",
+ m_sig_info->si_addr );
+ break;
+ case BUS_ADRERR:
+ report_error( execution_exception::system_fatal_error,
+ "memory access violation at address: 0x%08lx: non-existent physical address",
+ m_sig_info->si_addr );
+ break;
+ case BUS_OBJERR:
+ report_error( execution_exception::system_fatal_error,
+ "memory access violation at address: 0x%08lx: object specific hardware error",
+ m_sig_info->si_addr );
+ break;
+ }
+ break;
- case SIGPOLL:
- switch( m_sig_info->si_code ) {
- case POLL_IN:
- report_error( execution_exception::system_error,
- "data input available; band event %d",
- (int)m_sig_info->si_band );
- break;
- case POLL_OUT:
- report_error( execution_exception::system_error,
- "output buffers available; band event %d",
- (int)m_sig_info->si_band );
- break;
- case POLL_MSG:
- report_error( execution_exception::system_error,
- "input message available; band event %d",
- (int)m_sig_info->si_band );
- break;
- case POLL_ERR:
- report_error( execution_exception::system_error,
- "i/o error; band event %d",
- (int)m_sig_info->si_band );
- break;
- case POLL_PRI:
- report_error( execution_exception::system_error,
- "high priority input available; band event %d",
- (int)m_sig_info->si_band );
- break;
- case POLL_HUP:
- report_error( execution_exception::system_error,
- "device disconnected; band event %d",
- (int)m_sig_info->si_band );
- break;
- }
+ case SIGCHLD:
+ switch( m_sig_info->si_code ) {
+ case CLD_EXITED:
+ report_error( execution_exception::system_error,
+ "child has exited; pid: %d; uid: %d; exit value: %d",
+ (int)m_sig_info->si_pid, (int)m_sig_info->si_uid, (int)m_sig_info->si_status );
+ break;
+ case CLD_KILLED:
+ report_error( execution_exception::system_error,
+ "child was killed; pid: %d; uid: %d; exit value: %d",
+ (int)m_sig_info->si_pid, (int)m_sig_info->si_uid, (int)m_sig_info->si_status );
+ break;
+ case CLD_DUMPED:
+ report_error( execution_exception::system_error,
+ "child terminated abnormally; pid: %d; uid: %d; exit value: %d",
+ (int)m_sig_info->si_pid, (int)m_sig_info->si_uid, (int)m_sig_info->si_status );
+ break;
+ case CLD_TRAPPED:
+ report_error( execution_exception::system_error,
+ "traced child has trapped; pid: %d; uid: %d; exit value: %d",
+ (int)m_sig_info->si_pid, (int)m_sig_info->si_uid, (int)m_sig_info->si_status );
break;
+ case CLD_STOPPED:
+ report_error( execution_exception::system_error,
+ "child has stopped; pid: %d; uid: %d; exit value: %d",
+ (int)m_sig_info->si_pid, (int)m_sig_info->si_uid, (int)m_sig_info->si_status );
+ break;
+ case CLD_CONTINUED:
+ report_error( execution_exception::system_error,
+ "stopped child had continued; pid: %d; uid: %d; exit value: %d",
+ (int)m_sig_info->si_pid, (int)m_sig_info->si_uid, (int)m_sig_info->si_status );
+ break;
+ }
+ break;
-#endif
+#if defined(BOOST_TEST_CATCH_SIGPOLL)
- case SIGABRT:
+ case SIGPOLL:
+ switch( m_sig_info->si_code ) {
+ case POLL_IN:
report_error( execution_exception::system_error,
- "signal: SIGABRT (application abort requested)" );
+ "data input available; band event %d",
+ (int)m_sig_info->si_band );
break;
-
- case SIGALRM:
- report_error( execution_exception::timeout_error,
- "signal: SIGALRM (timeout while executing function)" );
+ case POLL_OUT:
+ report_error( execution_exception::system_error,
+ "output buffers available; band event %d",
+ (int)m_sig_info->si_band );
break;
-
- default:
- report_error( execution_exception::system_error, "unrecognized signal" );
+ case POLL_MSG:
+ report_error( execution_exception::system_error,
+ "input message available; band event %d",
+ (int)m_sig_info->si_band );
+ break;
+ case POLL_ERR:
+ report_error( execution_exception::system_error,
+ "i/o error; band event %d",
+ (int)m_sig_info->si_band );
+ break;
+ case POLL_PRI:
+ report_error( execution_exception::system_error,
+ "high priority input available; band event %d",
+ (int)m_sig_info->si_band );
+ break;
+#if defined(POLL_ERR) && defined(POLL_HUP) && (POLL_ERR - POLL_HUP)
+ case POLL_HUP:
+ report_error( execution_exception::system_error,
+ "device disconnected; band event %d",
+ (int)m_sig_info->si_band );
+ break;
+#endif
}
+ break;
+
+#endif
+
+ case SIGABRT:
+ report_error( execution_exception::system_error,
+ "signal: SIGABRT (application abort requested)" );
+ break;
+
+ case SIGALRM:
+ report_error( execution_exception::timeout_error,
+ "signal: SIGALRM (timeout while executing function)" );
+ break;
+
+ default:
+ report_error( execution_exception::system_error, "unrecognized signal" );
}
}
@@ -638,6 +651,7 @@
#ifdef BOOST_TEST_USE_ALT_STACK
if( alt_stack ) {
stack_t sigstk;
+ std::memset( &sigstk, 0, sizeof(stack_t) );
BOOST_TEST_SYS_ASSERT( ::sigaltstack( 0, &sigstk ) != -1 );
@@ -661,8 +675,9 @@
::alarm( 0 );
#ifdef BOOST_TEST_USE_ALT_STACK
- stack_t sigstk;
+ stack_t sigstk = {};
+ sigstk.ss_size = MINSIGSTKSZ;
sigstk.ss_flags = SS_DISABLE;
BOOST_TEST_SYS_ASSERT( ::sigaltstack( &sigstk, 0 ) != -1 );
#endif
@@ -678,8 +693,23 @@
extern "C" {
+static bool ignore_sigchild( siginfo_t* info )
+{
+ return info->si_signo == SIGCHLD && info->si_code == CLD_EXITED
+#ifdef BOOST_TEST_IGNORE_NON_ZERO_CHILD_CODE
+ ;
+#else
+ && (int)info->si_status == 0;
+#endif
+}
+
+//____________________________________________________________________________//
+
static void execution_monitor_jumping_signal_handler( int sig, siginfo_t* info, void* context )
{
+ if( ignore_sigchild( info ) )
+ return;
+
signal_handler::sys_sig()( info, context );
siglongjmp( signal_handler::jump_buffer(), sig );
@@ -689,8 +719,11 @@
static void execution_monitor_attaching_signal_handler( int sig, siginfo_t* info, void* context )
{
+ if( ignore_sigchild( info ) )
+ return;
+
if( !debug::attach_debugger( false ) )
- execution_monitor_jumping_signal_handler( sig, info, context );
+ execution_monitor_jumping_signal_handler( sig, info, context );
// debugger attached; it will handle the signal
BOOST_TEST_SYS_ASSERT( ::signal( sig, SIG_DFL ) != SIG_ERR );
@@ -981,7 +1014,7 @@
int
execution_monitor::catch_signals( unit_test::callback0<int> const& F )
{
- _invalid_parameter_handler old_iph;
+ _invalid_parameter_handler old_iph = _invalid_parameter_handler();
if( !p_catch_system_errors )
_set_se_translator( &detail::seh_catch_preventer );
@@ -1003,7 +1036,7 @@
__try {
__try {
- ret_val = detail::do_invoke( m_custom_translators , F );
+ ret_val = detail::do_invoke( m_custom_translators, F );
}
__except( SSE( GetExceptionCode(), GetExceptionInformation() ) ) {
throw SSE;
@@ -1149,3 +1182,4 @@
#include <boost/test/detail/enable_warnings.hpp>
#endif // BOOST_TEST_EXECUTION_MONITOR_IPP_012205GER
+
Modified: branches/release/boost/test/impl/framework.ipp
==============================================================================
--- branches/release/boost/test/impl/framework.ipp (original)
+++ branches/release/boost/test/impl/framework.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
@@ -119,9 +119,14 @@
, m_test_in_progress( false )
{}
- ~framework_impl()
+ ~framework_impl() { clear(); }
+
+ void clear()
{
- BOOST_TEST_FOREACH( test_unit_store::value_type const&, tu, m_test_units ) {
+ while( !m_test_units.empty() ) {
+ test_unit_store::value_type const& tu = *m_test_units.begin();
+
+ // the delete will erase this element from map
if( test_id_2_unit_type( tu.second->p_id ) == tut_suite )
delete (test_suite const*)tu.second;
else
@@ -190,7 +195,7 @@
struct priority_order {
bool operator()( test_observer* lhs, test_observer* rhs ) const
{
- return (lhs->priority() < rhs->priority()) || (lhs->priority() == rhs->priority()) && (lhs < rhs);
+ return (lhs->priority() < rhs->priority()) || ((lhs->priority() == rhs->priority()) && (lhs < rhs));
}
};
@@ -316,6 +321,22 @@
//____________________________________________________________________________//
void
+deregister_test_unit( test_unit* tu )
+{
+ s_frk_impl().m_test_units.erase( tu->p_id );
+}
+
+//____________________________________________________________________________//
+
+void
+clear()
+{
+ s_frk_impl().clear();
+}
+
+//____________________________________________________________________________//
+
+void
register_observer( test_observer& to )
{
s_frk_impl().m_observers.insert( &to );
Modified: branches/release/boost/test/impl/interaction_based.ipp
==============================================================================
--- branches/release/boost/test/impl/interaction_based.ipp (original)
+++ branches/release/boost/test/impl/interaction_based.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// http://www.boost.org/LICENSE_1_0.txt)
@@ -18,10 +18,7 @@
// Boost.Test
#include <boost/test/detail/config.hpp>
-#if !BOOST_WORKAROUND(__GNUC__, < 3) && \
- !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
- !BOOST_WORKAROUND(BOOST_MSVC, <1310) && \
- !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x530))
+#if BOOST_TEST_SUPPORT_INTERACTION_TESTING
// Boost.Test
#include <boost/test/detail/config.hpp>
Modified: branches/release/boost/test/impl/logged_expectations.ipp
==============================================================================
--- branches/release/boost/test/impl/logged_expectations.ipp (original)
+++ branches/release/boost/test/impl/logged_expectations.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to the
// Boost Software License, ELOG_VER 1.0. (See accompanying file
// http://www.boost.org/LICENSE_1_0.txt)
@@ -18,10 +18,7 @@
// Boost.Test
#include <boost/test/detail/config.hpp>
-#if !BOOST_WORKAROUND(__GNUC__, < 3) && \
- !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
- !BOOST_WORKAROUND(BOOST_MSVC, <1310) && \
- !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x530))
+#if BOOST_TEST_SUPPORT_INTERACTION_TESTING
#include <boost/test/detail/global_typedef.hpp>
Modified: branches/release/boost/test/impl/plain_report_formatter.ipp
==============================================================================
--- branches/release/boost/test/impl/plain_report_formatter.ipp (original)
+++ branches/release/boost/test/impl/plain_report_formatter.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
@@ -25,7 +25,7 @@
// STL
#include <iomanip>
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
#include <iostream>
#include <boost/test/detail/suppress_warnings.hpp>
Modified: branches/release/boost/test/impl/progress_monitor.ipp
==============================================================================
--- branches/release/boost/test/impl/progress_monitor.ipp (original)
+++ branches/release/boost/test/impl/progress_monitor.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/impl/results_collector.ipp
==============================================================================
--- branches/release/boost/test/impl/results_collector.ipp (original)
+++ branches/release/boost/test/impl/results_collector.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/impl/results_reporter.ipp
==============================================================================
--- branches/release/boost/test/impl/results_reporter.ipp (original)
+++ branches/release/boost/test/impl/results_reporter.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/impl/test_main.ipp
==============================================================================
--- branches/release/boost/test/impl/test_main.ipp (original)
+++ branches/release/boost/test/impl/test_main.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-2008.
// (C) Copyright Beman Dawes 1995-2001.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
Modified: branches/release/boost/test/impl/test_tools.ipp
==============================================================================
--- branches/release/boost/test/impl/test_tools.ipp (original)
+++ branches/release/boost/test/impl/test_tools.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
@@ -33,9 +33,7 @@
#include <cctype>
#include <cwchar>
#include <stdexcept>
-#ifdef BOOST_STANDARD_IOSTREAMS
#include <ios>
-#endif
// !! should we use #include <cstdarg>
#include <stdarg.h>
@@ -55,14 +53,68 @@
namespace test_tools {
+// ************************************************************************** //
+// ************** print_log_value ************** //
+// ************************************************************************** //
+
+void
+print_log_value<char>::operator()( std::ostream& ostr, char t )
+{
+ if( (std::isprint)( (unsigned char)t ) )
+ ostr << '\'' << t << '\'';
+ else
+ ostr << std::hex
+#if BOOST_TEST_USE_STD_LOCALE
+ << std::showbase
+#else
+ << "0x"
+#endif
+ << (int)t;
+}
+
+//____________________________________________________________________________//
+
+void
+print_log_value<unsigned char>::operator()( std::ostream& ostr, unsigned char t )
+{
+ ostr << std::hex
+ // showbase is only available for new style streams:
+#if BOOST_TEST_USE_STD_LOCALE
+ << std::showbase
+#else
+ << "0x"
+#endif
+ << (int)t;
+}
+
+//____________________________________________________________________________//
+
+void
+print_log_value<char const*>::operator()( std::ostream& ostr, char const* t )
+{
+ ostr << ( t ? t : "null string" );
+}
+
+//____________________________________________________________________________//
+
+void
+print_log_value<wchar_t const*>::operator()( std::ostream& ostr, wchar_t const* t )
+{
+ ostr << ( t ? t : L"null string" );
+}
+
+//____________________________________________________________________________//
+
namespace tt_detail {
// ************************************************************************** //
// ************** TOOL BOX Implementation ************** //
// ************************************************************************** //
-void
-check_impl( predicate_result const& pr, wrap_stringstream& check_descr,
+using ::boost::unit_test::lazy_ostream;
+
+bool
+check_impl( predicate_result const& pr, lazy_ostream const& check_descr,
const_string file_name, std::size_t line_num,
tool_level tl, check_type ct,
std::size_t num_of_args, ... )
@@ -101,13 +153,13 @@
suffix = " failed";
break;
default:
- return;
+ return true;
}
switch( ct ) {
case CHECK_PRED:
unit_test_log << unit_test::log::begin( file_name, line_num )
- << ll << prefix << check_descr.str() << suffix;
+ << ll << prefix << check_descr << suffix;
if( !pr.has_empty_message() )
unit_test_log << ". " << pr.message();
@@ -119,9 +171,9 @@
unit_test_log << unit_test::log::begin( file_name, line_num ) << ll;
if( tl == PASS )
- unit_test_log << prefix << "'" << check_descr.str() << "'" << suffix;
+ unit_test_log << prefix << "'" << check_descr << "'" << suffix;
else
- unit_test_log << check_descr.str();
+ unit_test_log << check_descr;
if( !pr.has_empty_message() )
unit_test_log << ". " << pr.message();
@@ -141,16 +193,16 @@
va_list args;
va_start( args, num_of_args );
- char const* arg1_descr = va_arg( args, char const* );
- char const* arg1_val = va_arg( args, char const* );
- char const* arg2_descr = va_arg( args, char const* );
- char const* arg2_val = va_arg( args, char const* );
+ char const* arg1_descr = va_arg( args, char const* );
+ lazy_ostream const* arg1_val = va_arg( args, lazy_ostream const* );
+ char const* arg2_descr = va_arg( args, char const* );
+ lazy_ostream const* arg2_val = va_arg( args, lazy_ostream const* );
unit_test_log << unit_test::log::begin( file_name, line_num )
<< ll << prefix << arg1_descr << check_str[ct-CHECK_EQUAL] << arg2_descr << suffix;
if( tl != PASS )
- unit_test_log << " [" << arg1_val << rever_str[ct-CHECK_EQUAL] << arg2_val << "]" ;
+ unit_test_log << " [" << *arg1_val << rever_str[ct-CHECK_EQUAL] << *arg2_val << "]" ;
va_end( args );
@@ -166,19 +218,19 @@
va_list args;
va_start( args, num_of_args );
- char const* arg1_descr = va_arg( args, char const* );
- char const* arg1_val = va_arg( args, char const* );
- char const* arg2_descr = va_arg( args, char const* );
- char const* arg2_val = va_arg( args, char const* );
- /* toler_descr = */ va_arg( args, char const* );
- char const* toler_val = va_arg( args, char const* );
+ char const* arg1_descr = va_arg( args, char const* );
+ lazy_ostream const* arg1_val = va_arg( args, lazy_ostream const* );
+ char const* arg2_descr = va_arg( args, char const* );
+ lazy_ostream const* arg2_val = va_arg( args, lazy_ostream const* );
+ /* toler_descr = */ va_arg( args, char const* );
+ lazy_ostream const* toler_val = va_arg( args, lazy_ostream const* );
unit_test_log << unit_test::log::begin( file_name, line_num ) << ll;
- unit_test_log << "difference between " << arg1_descr << "{" << arg1_val << "}"
- << " and " << arg2_descr << "{" << arg2_val << "}"
+ unit_test_log << "difference between " << arg1_descr << "{" << *arg1_val << "}"
+ << " and " << arg2_descr << "{" << *arg2_val << "}"
<< ( tl == PASS ? " doesn't exceed " : " exceeds " )
- << toler_val;
+ << *toler_val;
if( ct == CHECK_CLOSE )
unit_test_log << "%";
@@ -194,16 +246,16 @@
va_list args;
va_start( args, num_of_args );
- char const* arg1_descr = va_arg( args, char const* );
- char const* arg1_val = va_arg( args, char const* );
- /* toler_descr = */ va_arg( args, char const* );
- char const* toler_val = va_arg( args, char const* );
+ char const* arg1_descr = va_arg( args, char const* );
+ lazy_ostream const* arg1_val = va_arg( args, lazy_ostream const* );
+ /* toler_descr = */ va_arg( args, char const* );
+ lazy_ostream const* toler_val = va_arg( args, lazy_ostream const* );
unit_test_log << unit_test::log::begin( file_name, line_num ) << ll;
- unit_test_log << "absolute value of " << arg1_descr << "{" << arg1_val << "}"
+ unit_test_log << "absolute value of " << arg1_descr << "{" << *arg1_val << "}"
<< ( tl == PASS ? " doesn't exceed " : " exceeds " )
- << toler_val;
+ << *toler_val;
va_end( args );
@@ -216,7 +268,7 @@
case CHECK_PRED_WITH_ARGS: {
unit_test_log << unit_test::log::begin( file_name, line_num )
- << ll << prefix << check_descr.str();
+ << ll << prefix << check_descr;
// print predicate call description
{
@@ -226,7 +278,7 @@
unit_test_log << "( ";
for( std::size_t i = 0; i < num_of_args; ++i ) {
unit_test_log << va_arg( args, char const* );
- va_arg( args, char const* ); // skip argument value;
+ va_arg( args, lazy_ostream const* ); // skip argument value;
if( i != num_of_args-1 )
unit_test_log << ", ";
@@ -242,7 +294,7 @@
unit_test_log << " for ( ";
for( std::size_t i = 0; i < num_of_args; ++i ) {
va_arg( args, char const* ); // skip argument description;
- unit_test_log << va_arg( args, char const* );
+ unit_test_log << *va_arg( args, lazy_ostream const* );
if( i != num_of_args-1 )
unit_test_log << ", ";
@@ -305,14 +357,14 @@
switch( tl ) {
case PASS:
framework::assertion_result( true );
- break;
+ return true;
case WARN:
- break;
+ return false;
case CHECK:
framework::assertion_result( false );
- break;
+ return false;
case REQUIRE:
framework::assertion_result( false );
@@ -321,6 +373,8 @@
throw execution_aborted();
}
+
+ return true;
}
//____________________________________________________________________________//
@@ -354,59 +408,6 @@
//____________________________________________________________________________//
-// ************************************************************************** //
-// ************** log print helper ************** //
-// ************************************************************************** //
-
-void
-print_log_value<char>::operator()( std::ostream& ostr, char t )
-{
- if( (std::isprint)( (unsigned char)t ) )
- ostr << '\'' << t << '\'';
- else
- ostr << std::hex
- // showbase is only available for new style streams:
-#ifndef BOOST_NO_STD_LOCALE
- << std::showbase
-#else
- << "0x"
-#endif
- << (int)t;
-}
-
-//____________________________________________________________________________//
-
-void
-print_log_value<unsigned char>::operator()( std::ostream& ostr, unsigned char t )
-{
- ostr << std::hex
- // showbase is only available for new style streams:
-#ifndef BOOST_NO_STD_LOCALE
- << std::showbase
-#else
- << "0x"
-#endif
- << (int)t;
-}
-
-//____________________________________________________________________________//
-
-void
-print_log_value<char const*>::operator()( std::ostream& ostr, char const* t )
-{
- ostr << ( t ? t : "null string" );
-}
-
-//____________________________________________________________________________//
-
-void
-print_log_value<wchar_t const*>::operator()( std::ostream& ostr, wchar_t const* t )
-{
- ostr << ( t ? t : L"null string" );
-}
-
-//____________________________________________________________________________//
-
} // namespace tt_detail
// ************************************************************************** //
@@ -527,7 +528,7 @@
if( !m_pimpl->m_pattern.is_open() ) {
result = false;
- result.message() << "Pattern file could not be open!";
+ result.message() << "Pattern file could not be opened!";
}
else {
if( m_pimpl->m_match_or_save ) {
Modified: branches/release/boost/test/impl/unit_test_log.ipp
==============================================================================
--- branches/release/boost/test/impl/unit_test_log.ipp (original)
+++ branches/release/boost/test/impl/unit_test_log.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
@@ -50,15 +50,22 @@
namespace ut_detail {
-entry_value_collector
-entry_value_collector::operator<<( const_string v )
+entry_value_collector const&
+entry_value_collector::operator<<( lazy_ostream const& v ) const
{
unit_test_log << v;
- m_last = false;
+ return *this;
+}
- entry_value_collector res;
- return res;
+//____________________________________________________________________________//
+
+entry_value_collector const&
+entry_value_collector::operator<<( const_string v ) const
+{
+ unit_test_log << v;
+
+ return *this;
}
//____________________________________________________________________________//
@@ -303,8 +310,49 @@
{
*this << l;
- ut_detail::entry_value_collector res;
- return res;
+ return ut_detail::entry_value_collector();
+}
+
+//____________________________________________________________________________//
+
+bool
+unit_test_log_t::log_entry_start()
+{
+ if( s_log_impl().m_entry_in_progress )
+ return true;
+
+ switch( s_log_impl().m_entry_data.m_level ) {
+ case log_successful_tests:
+ s_log_impl().m_log_formatter->log_entry_start( s_log_impl().stream(), s_log_impl().m_entry_data,
+ unit_test_log_formatter::BOOST_UTL_ET_INFO );
+ break;
+ case log_messages:
+ s_log_impl().m_log_formatter->log_entry_start( s_log_impl().stream(), s_log_impl().m_entry_data,
+ unit_test_log_formatter::BOOST_UTL_ET_MESSAGE );
+ break;
+ case log_warnings:
+ s_log_impl().m_log_formatter->log_entry_start( s_log_impl().stream(), s_log_impl().m_entry_data,
+ unit_test_log_formatter::BOOST_UTL_ET_WARNING );
+ break;
+ case log_all_errors:
+ case log_cpp_exception_errors:
+ case log_system_errors:
+ s_log_impl().m_log_formatter->log_entry_start( s_log_impl().stream(), s_log_impl().m_entry_data,
+ unit_test_log_formatter::BOOST_UTL_ET_ERROR );
+ break;
+ case log_fatal_errors:
+ s_log_impl().m_log_formatter->log_entry_start( s_log_impl().stream(), s_log_impl().m_entry_data,
+ unit_test_log_formatter::BOOST_UTL_ET_FATAL_ERROR );
+ break;
+ case log_nothing:
+ case log_test_units:
+ case invalid_log_level:
+ return false;
+ }
+
+ s_log_impl().m_entry_in_progress = true;
+
+ return true;
}
//____________________________________________________________________________//
@@ -312,42 +360,19 @@
unit_test_log_t&
unit_test_log_t::operator<<( const_string value )
{
- if( s_log_impl().m_entry_data.m_level >= s_log_impl().m_threshold_level && !value.empty() ) {
- if( !s_log_impl().m_entry_in_progress ) {
- s_log_impl().m_entry_in_progress = true;
-
- switch( s_log_impl().m_entry_data.m_level ) {
- case log_successful_tests:
- s_log_impl().m_log_formatter->log_entry_start( s_log_impl().stream(), s_log_impl().m_entry_data,
- unit_test_log_formatter::BOOST_UTL_ET_INFO );
- break;
- case log_messages:
- s_log_impl().m_log_formatter->log_entry_start( s_log_impl().stream(), s_log_impl().m_entry_data,
- unit_test_log_formatter::BOOST_UTL_ET_MESSAGE );
- break;
- case log_warnings:
- s_log_impl().m_log_formatter->log_entry_start( s_log_impl().stream(), s_log_impl().m_entry_data,
- unit_test_log_formatter::BOOST_UTL_ET_WARNING );
- break;
- case log_all_errors:
- case log_cpp_exception_errors:
- case log_system_errors:
- s_log_impl().m_log_formatter->log_entry_start( s_log_impl().stream(), s_log_impl().m_entry_data,
- unit_test_log_formatter::BOOST_UTL_ET_ERROR );
- break;
- case log_fatal_errors:
- s_log_impl().m_log_formatter->log_entry_start( s_log_impl().stream(), s_log_impl().m_entry_data,
- unit_test_log_formatter::BOOST_UTL_ET_FATAL_ERROR );
- break;
- case log_nothing:
- case log_test_units:
- case invalid_log_level:
- return *this;
- }
- }
+ if( s_log_impl().m_entry_data.m_level >= s_log_impl().m_threshold_level && !value.empty() && log_entry_start() )
+ s_log_impl().m_log_formatter->log_entry_value( s_log_impl().stream(), value );
+ return *this;
+}
+
+//____________________________________________________________________________//
+
+unit_test_log_t&
+unit_test_log_t::operator<<( lazy_ostream const& value )
+{
+ if( s_log_impl().m_entry_data.m_level >= s_log_impl().m_threshold_level && !value.empty() && log_entry_start() )
s_log_impl().m_log_formatter->log_entry_value( s_log_impl().stream(), value );
- }
return *this;
}
@@ -399,6 +424,18 @@
//____________________________________________________________________________//
+// ************************************************************************** //
+// ************** unit_test_log_formatter ************** //
+// ************************************************************************** //
+
+void
+unit_test_log_formatter::log_entry_value( std::ostream& ostr, lazy_ostream const& value )
+{
+ log_entry_value( ostr, (wrap_stringstream().ref() << value).str() );
+}
+
+//____________________________________________________________________________//
+
} // namespace unit_test
} // namespace boost
Modified: branches/release/boost/test/impl/unit_test_main.ipp
==============================================================================
--- branches/release/boost/test/impl/unit_test_main.ipp (original)
+++ branches/release/boost/test/impl/unit_test_main.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
@@ -23,7 +23,7 @@
#include <boost/test/detail/unit_test_parameters.hpp>
-#if !defined(__BORLANDC__) && BOOST_WORKAROUND( BOOST_MSVC, >= 1300 )
+#if !defined(__BORLANDC__) && !BOOST_WORKAROUND( BOOST_MSVC, < 1300 )
#include <boost/test/utils/iterator/token_iterator.hpp>
#endif
@@ -100,10 +100,12 @@
const_string m_value;
};
// Constructor
+#if defined(__BORLANDC__) || BOOST_WORKAROUND( BOOST_MSVC, < 1300 )
+ explicit test_case_filter( const_string ) : m_depth( 0 ) {}
+#else
explicit test_case_filter( const_string tc_to_tun )
: m_depth( 0 )
{
-#if !defined(__BORLANDC__) && BOOST_WORKAROUND( BOOST_MSVC, >= 1300 )
string_token_iterator tit( tc_to_tun, (dropped_delimeters = "/", kept_delimeters = dt_none) );
while( tit != string_token_iterator() ) {
@@ -113,8 +115,8 @@
++tit;
}
-#endif
}
+#endif
void filter_unit( test_unit const& tu )
{
@@ -129,12 +131,17 @@
std::vector<single_filter> const& filters = m_filters[m_depth-2];
tu.p_enabled.value =
- std::find_if( filters.begin(), filters.end(), bind( &single_filter::pass, _1, tu ) ) != filters.end();
+ std::find_if( filters.begin(), filters.end(), bind( &single_filter::pass, _1, boost::ref(tu) ) ) != filters.end();
}
// test tree visitor interface
virtual void visit( test_case const& tc )
{
+ if( m_depth < m_filters.size() ) {
+ tc.p_enabled.value = false;
+ return;
+ }
+
filter_unit( tc );
--m_depth;
Modified: branches/release/boost/test/impl/unit_test_monitor.ipp
==============================================================================
--- branches/release/boost/test/impl/unit_test_monitor.ipp (original)
+++ branches/release/boost/test/impl/unit_test_monitor.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/impl/unit_test_parameters.ipp
==============================================================================
--- branches/release/boost/test/impl/unit_test_parameters.ipp (original)
+++ branches/release/boost/test/impl/unit_test_parameters.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
@@ -208,7 +208,11 @@
s_save_pattern = retrieve_framework_parameter( SAVE_TEST_PATTERN, argc, argv ) == "yes";
s_show_build_info = retrieve_framework_parameter( BUILD_INFO, argc, argv ) == "yes";
s_show_progress = retrieve_framework_parameter( SHOW_PROGRESS, argc, argv ) == "yes";
+#ifdef BOOST_TEST_DEFAULTS_TO_CORE_DUMP
+ s_catch_sys_errors = retrieve_framework_parameter( CATCH_SYS_ERRORS, argc, argv ) == "yes";
+#else
s_catch_sys_errors = retrieve_framework_parameter( CATCH_SYS_ERRORS, argc, argv ) != "no";
+#endif
s_use_alt_stack = retrieve_framework_parameter( USE_ALT_STACK, argc, argv ) != "no";
s_detect_fp_except = retrieve_framework_parameter( DETECT_FP_EXCEPT, argc, argv ) == "yes";
s_tests_to_run = retrieve_framework_parameter( TESTS_TO_RUN, argc, argv );
Modified: branches/release/boost/test/impl/unit_test_suite.ipp
==============================================================================
--- branches/release/boost/test/impl/unit_test_suite.ipp (original)
+++ branches/release/boost/test/impl/unit_test_suite.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
@@ -60,6 +60,13 @@
//____________________________________________________________________________//
+test_unit::~test_unit()
+{
+ framework::deregister_test_unit( this );
+}
+
+//____________________________________________________________________________//
+
void
test_unit::depends_on( test_unit* tu )
{
Modified: branches/release/boost/test/impl/xml_log_formatter.ipp
==============================================================================
--- branches/release/boost/test/impl/xml_log_formatter.ipp (original)
+++ branches/release/boost/test/impl/xml_log_formatter.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
@@ -112,8 +112,7 @@
void
xml_log_formatter::log_exception( std::ostream& ostr, log_checkpoint_data const& checkpoint_data, const_string explanation )
{
- ostr << "<Exception name" << attr_value() << framework::current_test_case().p_name.get() << ">"
- << pcdata() << explanation;
+ ostr << "<Exception>" << pcdata() << explanation;
if( !checkpoint_data.m_file_name.is_empty() ) {
ostr << "<LastCheckpoint file" << attr_value() << checkpoint_data.m_file_name
Modified: branches/release/boost/test/impl/xml_report_formatter.ipp
==============================================================================
--- branches/release/boost/test/impl/xml_report_formatter.ipp (original)
+++ branches/release/boost/test/impl/xml_report_formatter.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/included/prg_exec_monitor.hpp
==============================================================================
--- branches/release/boost/test/included/prg_exec_monitor.hpp (original)
+++ branches/release/boost/test/included/prg_exec_monitor.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
Modified: branches/release/boost/test/included/test_exec_monitor.hpp
==============================================================================
--- branches/release/boost/test/included/test_exec_monitor.hpp (original)
+++ branches/release/boost/test/included/test_exec_monitor.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
Modified: branches/release/boost/test/included/unit_test.hpp
==============================================================================
--- branches/release/boost/test/included/unit_test.hpp (original)
+++ branches/release/boost/test/included/unit_test.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
Modified: branches/release/boost/test/interaction_based.hpp
==============================================================================
--- branches/release/boost/test/interaction_based.hpp (original)
+++ branches/release/boost/test/interaction_based.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
@@ -201,6 +201,9 @@
# ifdef BOOST_NO_STDC_NAMESPACE
namespace std { using ::malloc; using ::free; }
# endif
+# ifdef _CRTDBG_MAP_ALLOC
+namespace std { using ::_malloc_dbg; using ::_free_dbg; }
+# endif
inline void*
operator new( std::size_t s, ::boost::itest::location const& l )
Modified: branches/release/boost/test/logged_expectations.hpp
==============================================================================
--- branches/release/boost/test/logged_expectations.hpp (original)
+++ branches/release/boost/test/logged_expectations.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
@@ -43,7 +43,7 @@
\
struct BOOST_AUTO_TC_UNIQUE_ID( test_name ) {}; \
\
-BOOST_AUTO_TC_REGISTRAR( test_name )( \
+BOOST_AUTO_TU_REGISTRAR( test_name )( \
boost::unit_test::make_test_case( \
&BOOST_AUTO_TC_INVOKER( test_name ), #test_name ), \
boost::unit_test::ut_detail::auto_tc_exp_fail< \
Modified: branches/release/boost/test/minimal.hpp
==============================================================================
--- branches/release/boost/test/minimal.hpp (original)
+++ branches/release/boost/test/minimal.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2002-2007.
+// (C) Copyright Gennadiy Rozental 2002-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)
Modified: branches/release/boost/test/mock_object.hpp
==============================================================================
--- branches/release/boost/test/mock_object.hpp (original)
+++ branches/release/boost/test/mock_object.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/output/compiler_log_formatter.hpp
==============================================================================
--- branches/release/boost/test/output/compiler_log_formatter.hpp (original)
+++ branches/release/boost/test/output/compiler_log_formatter.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
@@ -48,6 +48,7 @@
void log_entry_start( std::ostream&, log_entry_data const&, log_entry_types let );
void log_entry_value( std::ostream&, const_string value );
+ void log_entry_value( std::ostream&, lazy_ostream const& value );
void log_entry_finish( std::ostream& );
protected:
Modified: branches/release/boost/test/output/plain_report_formatter.hpp
==============================================================================
--- branches/release/boost/test/output/plain_report_formatter.hpp (original)
+++ branches/release/boost/test/output/plain_report_formatter.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/output/xml_log_formatter.hpp
==============================================================================
--- branches/release/boost/test/output/xml_log_formatter.hpp (original)
+++ branches/release/boost/test/output/xml_log_formatter.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
@@ -50,6 +50,7 @@
void log_exception( std::ostream&, log_checkpoint_data const&, const_string explanation );
void log_entry_start( std::ostream&, log_entry_data const&, log_entry_types let );
+ using unit_test_log_formatter::log_entry_value; // bring base class functions into overload set
void log_entry_value( std::ostream&, const_string value );
void log_entry_finish( std::ostream& );
Modified: branches/release/boost/test/output/xml_report_formatter.hpp
==============================================================================
--- branches/release/boost/test/output/xml_report_formatter.hpp (original)
+++ branches/release/boost/test/output/xml_report_formatter.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/output_test_stream.hpp
==============================================================================
--- branches/release/boost/test/output_test_stream.hpp (original)
+++ branches/release/boost/test/output_test_stream.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
Modified: branches/release/boost/test/parameterized_test.hpp
==============================================================================
--- branches/release/boost/test/parameterized_test.hpp (original)
+++ branches/release/boost/test/parameterized_test.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
Modified: branches/release/boost/test/predicate_result.hpp
==============================================================================
--- branches/release/boost/test/predicate_result.hpp (original)
+++ branches/release/boost/test/predicate_result.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
Modified: branches/release/boost/test/prg_exec_monitor.hpp
==============================================================================
--- branches/release/boost/test/prg_exec_monitor.hpp (original)
+++ branches/release/boost/test/prg_exec_monitor.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
Modified: branches/release/boost/test/progress_monitor.hpp
==============================================================================
--- branches/release/boost/test/progress_monitor.hpp (original)
+++ branches/release/boost/test/progress_monitor.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/results_collector.hpp
==============================================================================
--- branches/release/boost/test/results_collector.hpp (original)
+++ branches/release/boost/test/results_collector.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
Modified: branches/release/boost/test/results_reporter.hpp
==============================================================================
--- branches/release/boost/test/results_reporter.hpp (original)
+++ branches/release/boost/test/results_reporter.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
Modified: branches/release/boost/test/test_case_template.hpp
==============================================================================
--- branches/release/boost/test/test_case_template.hpp (original)
+++ branches/release/boost/test/test_case_template.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2003-2007.
+// (C) Copyright Gennadiy Rozental 2003-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)
@@ -16,9 +16,6 @@
#ifndef BOOST_TEST_TEST_CASE_TEMPLATE_HPP_071894GER
#define BOOST_TEST_TEST_CASE_TEMPLATE_HPP_071894GER
-// Boost.Test
-#include <boost/test/unit_test_suite.hpp>
-
// Boost
#include <boost/mpl/for_each.hpp>
#include <boost/mpl/identity.hpp>
Modified: branches/release/boost/test/test_exec_monitor.hpp
==============================================================================
--- branches/release/boost/test/test_exec_monitor.hpp (original)
+++ branches/release/boost/test/test_exec_monitor.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
Modified: branches/release/boost/test/test_observer.hpp
==============================================================================
--- branches/release/boost/test/test_observer.hpp (original)
+++ branches/release/boost/test/test_observer.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/test_tools.hpp
==============================================================================
--- branches/release/boost/test/test_tools.hpp (original)
+++ branches/release/boost/test/test_tools.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
@@ -18,6 +18,7 @@
// Boost.Test
#include <boost/test/predicate_result.hpp>
#include <boost/test/unit_test_log.hpp>
+#include <boost/test/floating_point_comparison.hpp>
#include <boost/test/detail/config.hpp>
#include <boost/test/detail/global_typedef.hpp>
@@ -25,6 +26,7 @@
#include <boost/test/utils/wrap_stringstream.hpp>
#include <boost/test/utils/basic_cstring/io.hpp>
+#include <boost/test/utils/lazy_ostream.hpp>
// Boost
#include <boost/preprocessor/seq/for_each.hpp>
@@ -33,6 +35,7 @@
#include <boost/preprocessor/repetition/repeat.hpp>
#include <boost/preprocessor/punctuation/comma_if.hpp>
#include <boost/preprocessor/arithmetic/add.hpp>
+
#include <boost/limits.hpp>
#include <boost/type_traits/is_array.hpp>
@@ -44,8 +47,13 @@
// STL
#include <cstddef> // for std::size_t
#include <iosfwd>
+#include <ios> // for std::boolalpha
#include <climits> // for CHAR_BIT
+#ifdef BOOST_MSVC
+# pragma warning(disable: 4127) // conditional expression is constant
+#endif
+
#include <boost/test/detail/suppress_warnings.hpp>
//____________________________________________________________________________//
@@ -65,14 +73,14 @@
// CT - check type
// ARGS - arguments list
-#define BOOST_TEST_TOOL_IMPL( func, P, check_descr, TL, CT ) \
- ::boost::test_tools::tt_detail::func( \
- P, \
- ::boost::wrap_stringstream().ref() << check_descr, \
- BOOST_TEST_L(__FILE__), \
- (std::size_t)__LINE__, \
- ::boost::test_tools::tt_detail::TL, \
- ::boost::test_tools::tt_detail::CT \
+#define BOOST_TEST_TOOL_IMPL( func, P, check_descr, TL, CT ) \
+ ::boost::test_tools::tt_detail::func( \
+ P, \
+ ::boost::unit_test::lazy_ostream::instance() << check_descr, \
+ BOOST_TEST_L(__FILE__), \
+ (std::size_t)__LINE__, \
+ ::boost::test_tools::tt_detail::TL, \
+ ::boost::test_tools::tt_detail::CT \
/**/
//____________________________________________________________________________//
@@ -298,43 +306,19 @@
typedef unit_test::const_string const_string;
-namespace { bool dummy_cond = false; }
-
-namespace tt_detail {
-
-// ************************************************************************** //
-// ************** tools classification ************** //
-// ************************************************************************** //
-
-enum check_type {
- CHECK_PRED,
- CHECK_MSG,
- CHECK_EQUAL,
- CHECK_NE,
- CHECK_LT,
- CHECK_LE,
- CHECK_GT,
- CHECK_GE,
- CHECK_CLOSE,
- CHECK_CLOSE_FRACTION,
- CHECK_SMALL,
- CHECK_BITWISE_EQUAL,
- CHECK_PRED_WITH_ARGS,
- CHECK_EQUAL_COLL
-};
-
-enum tool_level {
- WARN, CHECK, REQUIRE, PASS
-};
+namespace { bool const dummy_cond = false; }
// ************************************************************************** //
-// ************** log print helper ************** //
+// ************** print_log_value ************** //
// ************************************************************************** //
template<typename T>
struct print_log_value {
void operator()( std::ostream& ostr, T const& t )
{
+ // avoid warning: 'boost::test_tools::<unnamed>::dummy_cond' defined but not used
+ if (::boost::test_tools::dummy_cond) {}
+
typedef typename mpl::or_<is_array<T>,is_function<T>,is_abstract<T> >::type couldnt_use_nl;
set_precision( ostr, couldnt_use_nl() );
@@ -353,13 +337,13 @@
//____________________________________________________________________________//
-#define BOOST_TEST_DONT_PRINT_LOG_VALUE( the_type ) \
-namespace boost { namespace test_tools { namespace tt_detail { \
-template<> \
-struct print_log_value<the_type > { \
- void operator()( std::ostream& ostr, the_type const& t ) {} \
-}; \
-}}} \
+#define BOOST_TEST_DONT_PRINT_LOG_VALUE( the_type ) \
+namespace boost { namespace test_tools { \
+template<> \
+struct print_log_value<the_type > { \
+ void operator()( std::ostream&, the_type const& ) {} \
+}; \
+}} \
/**/
//____________________________________________________________________________//
@@ -377,6 +361,16 @@
//____________________________________________________________________________//
template<>
+struct BOOST_TEST_DECL print_log_value<bool> {
+ void operator()( std::ostream& ostr, bool t )
+ {
+ ostr << std::boolalpha << t;
+ }
+};
+
+//____________________________________________________________________________//
+
+template<>
struct BOOST_TEST_DECL print_log_value<char> {
void operator()( std::ostream& ostr, char t );
};
@@ -404,6 +398,39 @@
//____________________________________________________________________________//
+namespace tt_detail {
+
+// ************************************************************************** //
+// ************** tools classification ************** //
+// ************************************************************************** //
+
+enum check_type {
+ CHECK_PRED,
+ CHECK_MSG,
+ CHECK_EQUAL,
+ CHECK_NE,
+ CHECK_LT,
+ CHECK_LE,
+ CHECK_GT,
+ CHECK_GE,
+ CHECK_CLOSE,
+ CHECK_CLOSE_FRACTION,
+ CHECK_SMALL,
+ CHECK_BITWISE_EQUAL,
+ CHECK_PRED_WITH_ARGS,
+ CHECK_EQUAL_COLL
+};
+
+enum tool_level {
+ WARN, CHECK, REQUIRE, PASS
+};
+
+// ************************************************************************** //
+// ************** print_helper ************** //
+// ************************************************************************** //
+// Adds level of indirection to the output operation, allowing us to customize
+// it for types that do not support operator << directly or for any other reason
+
template<typename T>
struct print_helper_t {
explicit print_helper_t( T const& t ) : m_t( t ) {}
@@ -449,7 +476,7 @@
// ************************************************************************** //
BOOST_TEST_DECL
-void check_impl( predicate_result const& pr, wrap_stringstream& check_descr,
+bool check_impl( predicate_result const& pr, ::boost::unit_test::lazy_ostream const& check_descr,
const_string file_name, std::size_t line_num,
tool_level tl, check_type ct,
std::size_t num_args, ... );
@@ -466,21 +493,21 @@
#define ARG_INFO( z, m, dummy ) \
, BOOST_JOIN( BOOST_JOIN( arg, m ), _descr ) \
- , (boost::wrap_stringstream().ref() \
- << ::boost::test_tools::tt_detail:: \
- print_helper( BOOST_JOIN( arg, m ) )).str().c_str() \
+ , &(const unit_test::lazy_ostream&)(unit_test::lazy_ostream::instance() \
+ << ::boost::test_tools::tt_detail::print_helper( BOOST_JOIN( arg, m ) )) \
/**/
#define IMPL_FRWD( z, n, dummy ) \
template<typename Pred \
BOOST_PP_REPEAT_ ## z( BOOST_PP_ADD( n, 1 ), TEMPL_PARAMS, _ )> \
-inline void \
-check_frwd( Pred P, wrap_stringstream& check_descr, \
+inline bool \
+check_frwd( Pred P, unit_test::lazy_ostream const& check_descr, \
const_string file_name, std::size_t line_num, \
tool_level tl, check_type ct \
BOOST_PP_REPEAT_ ## z( BOOST_PP_ADD( n, 1 ), FUNC_PARAMS, _ ) \
) \
{ \
+ return \
check_impl( P( BOOST_PP_REPEAT_ ## z( BOOST_PP_ADD( n, 1 ), PRED_PARAMS, _ ) ), \
check_descr, file_name, line_num, tl, ct, \
BOOST_PP_ADD( n, 1 ) \
Modified: branches/release/boost/test/unit_test.hpp
==============================================================================
--- branches/release/boost/test/unit_test.hpp (original)
+++ branches/release/boost/test/unit_test.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
Modified: branches/release/boost/test/unit_test_log.hpp
==============================================================================
--- branches/release/boost/test/unit_test_log.hpp (original)
+++ branches/release/boost/test/unit_test_log.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
@@ -26,6 +26,7 @@
#include <boost/test/utils/wrap_stringstream.hpp>
#include <boost/test/utils/trivial_singleton.hpp>
+#include <boost/test/utils/lazy_ostream.hpp>
// Boost
#include <boost/utility.hpp>
@@ -71,15 +72,16 @@
public:
// Constructors
entry_value_collector() : m_last( true ) {}
- entry_value_collector( entry_value_collector& rhs ) : m_last( true ) { rhs.m_last = false; }
+ entry_value_collector( entry_value_collector const& rhs ) : m_last( true ) { rhs.m_last = false; }
~entry_value_collector();
// collection interface
- entry_value_collector operator<<( const_string );
+ entry_value_collector const& operator<<( lazy_ostream const& ) const;
+ entry_value_collector const& operator<<( const_string ) const;
private:
// Data members
- bool m_last;
+ mutable bool m_last;
};
} // namespace ut_detail
@@ -119,10 +121,13 @@
unit_test_log_t& operator<<( log::end const& ); // end entry
unit_test_log_t& operator<<( log_level ); // set entry level
unit_test_log_t& operator<<( const_string ); // log entry value
+ unit_test_log_t& operator<<( lazy_ostream const& ); // log entry value
ut_detail::entry_value_collector operator()( log_level ); // initiate entry collection
private:
+ bool log_entry_start();
+
BOOST_TEST_SINGLETON_CONS( unit_test_log_t );
}; // unit_test_log_t
@@ -144,24 +149,24 @@
#define BOOST_TEST_MESSAGE( M ) \
BOOST_TEST_LOG_ENTRY( ::boost::unit_test::log_messages ) \
- << (boost::wrap_stringstream().ref() << M).str() \
+ << (::boost::unit_test::lazy_ostream::instance() << M) \
/**/
//____________________________________________________________________________//
-#define BOOST_TEST_PASSPOINT() \
- ::boost::unit_test::unit_test_log.set_checkpoint( \
- BOOST_TEST_L(__FILE__), \
- (std::size_t)__LINE__ ) \
+#define BOOST_TEST_PASSPOINT() \
+ ::boost::unit_test::unit_test_log.set_checkpoint( \
+ BOOST_TEST_L(__FILE__), \
+ (std::size_t)__LINE__ ) \
/**/
//____________________________________________________________________________//
-#define BOOST_TEST_CHECKPOINT( M ) \
- ::boost::unit_test::unit_test_log.set_checkpoint( \
- BOOST_TEST_L(__FILE__), \
- (std::size_t)__LINE__, \
- (boost::wrap_stringstream().ref() << M).str() ) \
+#define BOOST_TEST_CHECKPOINT( M ) \
+ ::boost::unit_test::unit_test_log.set_checkpoint( \
+ BOOST_TEST_L(__FILE__), \
+ (std::size_t)__LINE__, \
+ (::boost::wrap_stringstream().ref() << M).str() ) \
/**/
//____________________________________________________________________________//
Modified: branches/release/boost/test/unit_test_log_formatter.hpp
==============================================================================
--- branches/release/boost/test/unit_test_log_formatter.hpp (original)
+++ branches/release/boost/test/unit_test_log_formatter.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2003-2007.
+// (C) Copyright Gennadiy Rozental 2003-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)
@@ -100,6 +100,7 @@
virtual void log_entry_start( std::ostream&, log_entry_data const&, log_entry_types let ) = 0;
virtual void log_entry_value( std::ostream&, const_string value ) = 0;
+ virtual void log_entry_value( std::ostream&, lazy_ostream const& value ); // there is a default impl
virtual void log_entry_finish( std::ostream& ) = 0;
};
Modified: branches/release/boost/test/unit_test_monitor.hpp
==============================================================================
--- branches/release/boost/test/unit_test_monitor.hpp (original)
+++ branches/release/boost/test/unit_test_monitor.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
Modified: branches/release/boost/test/unit_test_suite.hpp
==============================================================================
--- branches/release/boost/test/unit_test_suite.hpp (original)
+++ branches/release/boost/test/unit_test_suite.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
@@ -17,6 +17,7 @@
// Boost.Test
#include <boost/test/unit_test_suite_impl.hpp>
+#include <boost/test/test_case_template.hpp>
#include <boost/test/framework.hpp>
//____________________________________________________________________________//
Modified: branches/release/boost/test/unit_test_suite_impl.hpp
==============================================================================
--- branches/release/boost/test/unit_test_suite_impl.hpp (original)
+++ branches/release/boost/test/unit_test_suite_impl.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
@@ -71,6 +71,9 @@
void increase_exp_fail( unsigned num );
+protected:
+ ~test_unit();
+
private:
// Data members
std::list<test_unit_id> m_dependencies;
@@ -226,15 +229,15 @@
template<typename InstanceType,typename UserTestCase>
struct user_tc_method_invoker {
- typedef void (UserTestCase::*test_method )();
+ typedef void (UserTestCase::*TestMethod )();
- user_tc_method_invoker( shared_ptr<InstanceType> inst, test_method test_method )
+ user_tc_method_invoker( shared_ptr<InstanceType> inst, TestMethod test_method )
: m_inst( inst ), m_test_method( test_method ) {}
void operator()() { ((*m_inst).*m_test_method)(); }
shared_ptr<InstanceType> m_inst;
- test_method m_test_method;
+ TestMethod m_test_method;
};
} // namespace ut_detail
Modified: branches/release/boost/test/utils/algorithm.hpp
==============================================================================
--- branches/release/boost/test/utils/algorithm.hpp (original)
+++ branches/release/boost/test/utils/algorithm.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2004-2007.
+// (C) Copyright Gennadiy Rozental 2004-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)
Modified: branches/release/boost/test/utils/assign_op.hpp
==============================================================================
--- branches/release/boost/test/utils/assign_op.hpp (original)
+++ branches/release/boost/test/utils/assign_op.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/utils/basic_cstring/basic_cstring.hpp
==============================================================================
--- branches/release/boost/test/utils/basic_cstring/basic_cstring.hpp (original)
+++ branches/release/boost/test/utils/basic_cstring/basic_cstring.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2004-2007.
+// (C) Copyright Gennadiy Rozental 2004-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)
@@ -511,16 +511,16 @@
template<typename CharT>
inline typename basic_cstring<CharT>::size_type
-basic_cstring<CharT>::find( basic_cstring<CharT> substr ) const
+basic_cstring<CharT>::find( basic_cstring<CharT> str ) const
{
- if( substr.is_empty() || substr.size() > size() )
+ if( str.is_empty() || str.size() > size() )
return (size_type)npos;
const_iterator it = begin();
- const_iterator last = end() - substr.size() + 1;
+ const_iterator last = end() - str.size() + 1;
while( it != last ) {
- if( traits_type::compare( it, substr.begin(), substr.size() ) == 0 )
+ if( traits_type::compare( it, str.begin(), str.size() ) == 0 )
break;
++it;
@@ -533,16 +533,16 @@
template<typename CharT>
inline typename basic_cstring<CharT>::size_type
-basic_cstring<CharT>::rfind( basic_cstring<CharT> substr ) const
+basic_cstring<CharT>::rfind( basic_cstring<CharT> str ) const
{
- if( substr.is_empty() || substr.size() > size() )
+ if( str.is_empty() || str.size() > size() )
return (size_type)npos;
- const_iterator it = end() - substr.size();
+ const_iterator it = end() - str.size();
const_iterator last = begin()-1;
while( it != last ) {
- if( traits_type::compare( it, substr.begin(), substr.size() ) == 0 )
+ if( traits_type::compare( it, str.begin(), str.size() ) == 0 )
break;
--it;
Modified: branches/release/boost/test/utils/basic_cstring/basic_cstring_fwd.hpp
==============================================================================
--- branches/release/boost/test/utils/basic_cstring/basic_cstring_fwd.hpp (original)
+++ branches/release/boost/test/utils/basic_cstring/basic_cstring_fwd.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2004-2007.
+// (C) Copyright Gennadiy Rozental 2004-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)
Modified: branches/release/boost/test/utils/basic_cstring/bcs_char_traits.hpp
==============================================================================
--- branches/release/boost/test/utils/basic_cstring/bcs_char_traits.hpp (original)
+++ branches/release/boost/test/utils/basic_cstring/bcs_char_traits.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2004-2007.
+// (C) Copyright Gennadiy Rozental 2004-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)
Modified: branches/release/boost/test/utils/basic_cstring/compare.hpp
==============================================================================
--- branches/release/boost/test/utils/basic_cstring/compare.hpp (original)
+++ branches/release/boost/test/utils/basic_cstring/compare.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2004-2007.
+// (C) Copyright Gennadiy Rozental 2004-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)
@@ -26,7 +26,7 @@
//____________________________________________________________________________//
-# if defined(BOOST_NO_STDC_NAMESPACE) && !BOOST_WORKAROUND(__BORLANDC__, <= 0x570) && !BOOST_WORKAROUND(__GNUC__, < 3)
+# if defined(BOOST_NO_STDC_NAMESPACE) && !BOOST_WORKAROUND(__BORLANDC__, <= 0x570)
namespace std { using ::toupper; }
# endif
Modified: branches/release/boost/test/utils/basic_cstring/io.hpp
==============================================================================
--- branches/release/boost/test/utils/basic_cstring/io.hpp (original)
+++ branches/release/boost/test/utils/basic_cstring/io.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2004-2007.
+// (C) Copyright Gennadiy Rozental 2004-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)
Modified: branches/release/boost/test/utils/callback.hpp
==============================================================================
--- branches/release/boost/test/utils/callback.hpp (original)
+++ branches/release/boost/test/utils/callback.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/class_properties.hpp
==============================================================================
--- branches/release/boost/test/utils/class_properties.hpp (original)
+++ branches/release/boost/test/utils/class_properties.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
Modified: branches/release/boost/test/utils/custom_manip.hpp
==============================================================================
--- branches/release/boost/test/utils/custom_manip.hpp (original)
+++ branches/release/boost/test/utils/custom_manip.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/utils/fixed_mapping.hpp
==============================================================================
--- branches/release/boost/test/utils/fixed_mapping.hpp (original)
+++ branches/release/boost/test/utils/fixed_mapping.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2007.
+// (C) Copyright Gennadiy Rozental 2001-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)
Modified: branches/release/boost/test/utils/foreach.hpp
==============================================================================
--- branches/release/boost/test/utils/foreach.hpp (original)
+++ branches/release/boost/test/utils/foreach.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,5 +1,5 @@
// (C) Copyright Eric Niebler 2004-2005
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
@@ -203,10 +203,6 @@
// ************** BOOST_TEST_FOREACH ************** //
// ************************************************************************** //
-#if BOOST_WORKAROUND(__GNUC__, < 3)
-#define BOOST_TEST_FE_MULTISTATEMENT
-#endif
-
#define BOOST_TEST_FE_ANY ::boost::unit_test::for_each::static_any_t
#define BOOST_TEST_FE_IS_CONST( COL ) ::boost::unit_test::for_each::is_const_coll( COL )
@@ -258,8 +254,6 @@
#define BOOST_TEST_FE_END_VAR BOOST_JOIN( _fe_end_, BOOST_TEST_LINE_NUM )
#define BOOST_TEST_FE_CON_VAR BOOST_JOIN( _fe_con_, BOOST_TEST_LINE_NUM )
-#ifndef BOOST_TEST_FE_MULTISTATEMENT
-
#define BOOST_TEST_FOREACH( RefType, var, COL ) \
if( BOOST_TEST_FE_ANY BOOST_TEST_FE_CUR_VAR = BOOST_TEST_FE_BEG( COL ) ) {} else \
if( BOOST_TEST_FE_ANY BOOST_TEST_FE_END_VAR = BOOST_TEST_FE_END( COL ) ) {} else \
@@ -272,24 +266,6 @@
!BOOST_TEST_FE_CON_VAR; BOOST_TEST_FE_CON_VAR = true ) \
/**/
-#else
-
-#define BOOST_TEST_FOREACH( RefType, var, COL ) \
-BOOST_TEST_FE_ANY BOOST_TEST_FE_CUR_VAR = BOOST_TEST_FE_BEG( COL ), \
- BOOST_TEST_FE_END_VAR = BOOST_TEST_FE_END( COL ); \
- \
-for( bool BOOST_TEST_FE_CON_VAR = true; BOOST_TEST_FE_CON_VAR; ) \
-for( ; \
- BOOST_TEST_FE_CON_VAR && (BOOST_TEST_FE_CON_VAR = !BOOST_TEST_FE_DONE( COL )); \
- BOOST_TEST_FE_CON_VAR ? BOOST_TEST_FE_NEXT( COL ) : BOOST_FOREACH_NOOP( COL )) \
- \
- if( (BOOST_TEST_FE_CON_VAR = false, false) ) {} else \
- for( RefType var = BOOST_TEST_FE_DEREF( COL, RefType ); \
- !BOOST_TEST_FE_CON_VAR; BOOST_TEST_FE_CON_VAR = true ) \
-/**/
-
-#endif
-
//____________________________________________________________________________//
} // namespace for_each
Modified: branches/release/boost/test/utils/iterator/ifstream_line_iterator.hpp
==============================================================================
--- branches/release/boost/test/utils/iterator/ifstream_line_iterator.hpp (original)
+++ branches/release/boost/test/utils/iterator/ifstream_line_iterator.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2004-2007.
+// (C) Copyright Gennadiy Rozental 2004-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)
Modified: branches/release/boost/test/utils/iterator/input_iterator_facade.hpp
==============================================================================
--- branches/release/boost/test/utils/iterator/input_iterator_facade.hpp (original)
+++ branches/release/boost/test/utils/iterator/input_iterator_facade.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2004-2007.
+// (C) Copyright Gennadiy Rozental 2004-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)
Modified: branches/release/boost/test/utils/iterator/istream_line_iterator.hpp
==============================================================================
--- branches/release/boost/test/utils/iterator/istream_line_iterator.hpp (original)
+++ branches/release/boost/test/utils/iterator/istream_line_iterator.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2004-2007.
+// (C) Copyright Gennadiy Rozental 2004-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)
@@ -59,11 +59,7 @@
}
explicit basic_istream_line_iterator( istream_type& input )
: m_input_stream( &input )
-#if BOOST_WORKAROUND(__GNUC__, < 3) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
- , m_delimeter( '\n' )
-#else
, m_delimeter( input.widen( '\n' ) )
-#endif
{
this->init();
}
@@ -74,7 +70,7 @@
// increment implementation
bool get()
{
- return std::getline( *m_input_stream, this->m_value, m_delimeter );
+ return !!std::getline( *m_input_stream, this->m_value, m_delimeter );
}
// Data members
Modified: branches/release/boost/test/utils/iterator/token_iterator.hpp
==============================================================================
--- branches/release/boost/test/utils/iterator/token_iterator.hpp (original)
+++ branches/release/boost/test/utils/iterator/token_iterator.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2004-2007.
+// (C) Copyright Gennadiy Rozental 2004-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)
Modified: branches/release/boost/test/utils/named_params.hpp
==============================================================================
--- branches/release/boost/test/utils/named_params.hpp (original)
+++ branches/release/boost/test/utils/named_params.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/utils/nullstream.hpp
==============================================================================
--- branches/release/boost/test/utils/nullstream.hpp (original)
+++ branches/release/boost/test/utils/nullstream.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2002-2007.
+// (C) Copyright Gennadiy Rozental 2002-2008.
// (C) Copyright Daryle Walker 2000-2001.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
Modified: branches/release/boost/test/utils/rtti.hpp
==============================================================================
--- branches/release/boost/test/utils/rtti.hpp (original)
+++ branches/release/boost/test/utils/rtti.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/utils/runtime/argument.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/argument.hpp (original)
+++ branches/release/boost/test/utils/runtime/argument.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/utils/runtime/cla/argument_factory.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/argument_factory.hpp (original)
+++ branches/release/boost/test/utils/runtime/cla/argument_factory.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/argv_traverser.cpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/argv_traverser.cpp (original)
+++ branches/release/boost/test/utils/runtime/cla/argv_traverser.cpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/argv_traverser.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/argv_traverser.hpp (original)
+++ branches/release/boost/test/utils/runtime/cla/argv_traverser.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/argv_traverser.ipp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/argv_traverser.ipp (original)
+++ branches/release/boost/test/utils/runtime/cla/argv_traverser.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/basic_parameter.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/basic_parameter.hpp (original)
+++ branches/release/boost/test/utils/runtime/cla/basic_parameter.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/char_parameter.cpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/char_parameter.cpp (original)
+++ branches/release/boost/test/utils/runtime/cla/char_parameter.cpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/char_parameter.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/char_parameter.hpp (original)
+++ branches/release/boost/test/utils/runtime/cla/char_parameter.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/char_parameter.ipp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/char_parameter.ipp (original)
+++ branches/release/boost/test/utils/runtime/cla/char_parameter.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/detail/argument_value_usage.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/detail/argument_value_usage.hpp (original)
+++ branches/release/boost/test/utils/runtime/cla/detail/argument_value_usage.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Permission to copy, use, modify, sell and distribute this software
// is granted provided this copyright notice appears in all copies.
// This software is provided "as is" without express or implied warranty,
Modified: branches/release/boost/test/utils/runtime/cla/dual_name_parameter.cpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/dual_name_parameter.cpp (original)
+++ branches/release/boost/test/utils/runtime/cla/dual_name_parameter.cpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/dual_name_parameter.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/dual_name_parameter.hpp (original)
+++ branches/release/boost/test/utils/runtime/cla/dual_name_parameter.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/dual_name_parameter.ipp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/dual_name_parameter.ipp (original)
+++ branches/release/boost/test/utils/runtime/cla/dual_name_parameter.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/fwd.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/fwd.hpp (original)
+++ branches/release/boost/test/utils/runtime/cla/fwd.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/id_policy.cpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/id_policy.cpp (original)
+++ branches/release/boost/test/utils/runtime/cla/id_policy.cpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/id_policy.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/id_policy.hpp (original)
+++ branches/release/boost/test/utils/runtime/cla/id_policy.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/id_policy.ipp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/id_policy.ipp (original)
+++ branches/release/boost/test/utils/runtime/cla/id_policy.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/iface/argument_factory.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/iface/argument_factory.hpp (original)
+++ branches/release/boost/test/utils/runtime/cla/iface/argument_factory.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
@@ -38,6 +38,8 @@
virtual argument_ptr produce_using( parameter& p, argv_traverser& tr ) = 0; /// produce argument based on input
virtual argument_ptr produce_using( parameter& p, parser const& ) = 0; /// produce argument based on internal generator and/or values of other parameters
virtual void argument_usage_info( format_stream& fs ) = 0; /// argument value format information
+protected:
+ BOOST_TEST_PROTECTED_VIRTUAL ~argument_factory() {}
};
} // namespace boost
Modified: branches/release/boost/test/utils/runtime/cla/iface/id_policy.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/iface/id_policy.hpp (original)
+++ branches/release/boost/test/utils/runtime/cla/iface/id_policy.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
@@ -52,6 +52,7 @@
explicit identification_policy( rtti::id_t const& dyn_type )
: p_type_id( dyn_type )
{}
+ BOOST_TEST_PROTECTED_VIRTUAL ~identification_policy() {}
};
} // namespace cla
Modified: branches/release/boost/test/utils/runtime/cla/modifier.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/modifier.hpp (original)
+++ branches/release/boost/test/utils/runtime/cla/modifier.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/named_parameter.cpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/named_parameter.cpp (original)
+++ branches/release/boost/test/utils/runtime/cla/named_parameter.cpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/named_parameter.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/named_parameter.hpp (original)
+++ branches/release/boost/test/utils/runtime/cla/named_parameter.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/named_parameter.ipp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/named_parameter.ipp (original)
+++ branches/release/boost/test/utils/runtime/cla/named_parameter.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/parameter.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/parameter.hpp (original)
+++ branches/release/boost/test/utils/runtime/cla/parameter.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
@@ -87,7 +87,7 @@
bool responds_to( cstring name ) const { return m_id_policy.responds_to( name ); }
bool conflict_with( parameter const& p ) const
{
- return id_2_report() == p.id_2_report() && !id_2_report().is_empty() ||
+ return (id_2_report() == p.id_2_report() && !id_2_report().is_empty()) ||
m_id_policy.conflict_with( p.m_id_policy ) ||
p.m_id_policy.conflict_with( m_id_policy );
}
Modified: branches/release/boost/test/utils/runtime/cla/parser.cpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/parser.cpp (original)
+++ branches/release/boost/test/utils/runtime/cla/parser.cpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/parser.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/parser.hpp (original)
+++ branches/release/boost/test/utils/runtime/cla/parser.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/parser.ipp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/parser.ipp (original)
+++ branches/release/boost/test/utils/runtime/cla/parser.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/positional_parameter.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/positional_parameter.hpp (original)
+++ branches/release/boost/test/utils/runtime/cla/positional_parameter.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
@@ -38,17 +38,17 @@
BOOST_RT_PARAM_UNNEEDED_VIRTUAL ~trivial_id_policy() {}
virtual bool responds_to( cstring name ) const { return m_name == name; }
- virtual bool conflict_with( identification_policy const& id ) const { return false; }
+ virtual bool conflict_with( identification_policy const& ) const { return false; }
virtual cstring id_2_report() const { return m_name; }
virtual void usage_info( format_stream& fs ) const
{
if( !m_name.empty() )
fs << BOOST_RT_PARAM_LITERAL( '<' ) << m_name << BOOST_RT_PARAM_LITERAL( '>' );
else
- fs << BOOST_RT_PARAM_CSTRING_LITERAL( "<value>" );;
+ fs << BOOST_RT_PARAM_CSTRING_LITERAL( "<value>" );
}
- virtual bool matching( parameter const& p, argv_traverser& tr, bool primary ) const
+ virtual bool matching( parameter const& p, argv_traverser&, bool primary ) const
{
return primary && ( !p.has_argument() || p.p_multiplicable );
}
Modified: branches/release/boost/test/utils/runtime/cla/typed_parameter.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/typed_parameter.hpp (original)
+++ branches/release/boost/test/utils/runtime/cla/typed_parameter.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/validation.cpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/validation.cpp (original)
+++ branches/release/boost/test/utils/runtime/cla/validation.cpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/validation.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/validation.hpp (original)
+++ branches/release/boost/test/utils/runtime/cla/validation.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/validation.ipp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/validation.ipp (original)
+++ branches/release/boost/test/utils/runtime/cla/validation.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/value_generator.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/value_generator.hpp (original)
+++ branches/release/boost/test/utils/runtime/cla/value_generator.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/cla/value_handler.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/cla/value_handler.hpp (original)
+++ branches/release/boost/test/utils/runtime/cla/value_handler.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/config.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/config.hpp (original)
+++ branches/release/boost/test/utils/runtime/config.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/utils/runtime/configuration.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/configuration.hpp (original)
+++ branches/release/boost/test/utils/runtime/configuration.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/utils/runtime/env/environment.cpp
==============================================================================
--- branches/release/boost/test/utils/runtime/env/environment.cpp (original)
+++ branches/release/boost/test/utils/runtime/env/environment.cpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2004-2007.
+// (C) Copyright Gennadiy Rozental 2004-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/env/environment.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/env/environment.hpp (original)
+++ branches/release/boost/test/utils/runtime/env/environment.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/utils/runtime/env/environment.ipp
==============================================================================
--- branches/release/boost/test/utils/runtime/env/environment.ipp (original)
+++ branches/release/boost/test/utils/runtime/env/environment.ipp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/utils/runtime/env/fwd.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/env/fwd.hpp (original)
+++ branches/release/boost/test/utils/runtime/env/fwd.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
@@ -24,6 +24,9 @@
namespace environment {
+class variable_base;
+variable_base var( cstring var_name );
+
namespace rt_env_detail {
struct variable_data;
@@ -36,7 +39,6 @@
}
-class variable_base;
template <typename T> class variable;
} // namespace environment
Modified: branches/release/boost/test/utils/runtime/env/modifier.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/env/modifier.hpp (original)
+++ branches/release/boost/test/utils/runtime/env/modifier.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/env/variable.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/env/variable.hpp (original)
+++ branches/release/boost/test/utils/runtime/env/variable.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/utils/runtime/file/config_file.cpp
==============================================================================
--- branches/release/boost/test/utils/runtime/file/config_file.cpp (original)
+++ branches/release/boost/test/utils/runtime/file/config_file.cpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/file/config_file.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/file/config_file.hpp (original)
+++ branches/release/boost/test/utils/runtime/file/config_file.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/file/config_file_iterator.cpp
==============================================================================
--- branches/release/boost/test/utils/runtime/file/config_file_iterator.cpp (original)
+++ branches/release/boost/test/utils/runtime/file/config_file_iterator.cpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/file/config_file_iterator.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/file/config_file_iterator.hpp (original)
+++ branches/release/boost/test/utils/runtime/file/config_file_iterator.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (C) Copyright Gennadiy Rozental 2005-2008.
// Use, modification, and distribution are subject to 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)
Modified: branches/release/boost/test/utils/runtime/fwd.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/fwd.hpp (original)
+++ branches/release/boost/test/utils/runtime/fwd.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/utils/runtime/interpret_argument_value.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/interpret_argument_value.hpp (original)
+++ branches/release/boost/test/utils/runtime/interpret_argument_value.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/utils/runtime/parameter.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/parameter.hpp (original)
+++ branches/release/boost/test/utils/runtime/parameter.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/utils/runtime/trace.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/trace.hpp (original)
+++ branches/release/boost/test/utils/runtime/trace.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/utils/runtime/validation.hpp
==============================================================================
--- branches/release/boost/test/utils/runtime/validation.hpp (original)
+++ branches/release/boost/test/utils/runtime/validation.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/utils/trivial_singleton.hpp
==============================================================================
--- branches/release/boost/test/utils/trivial_singleton.hpp (original)
+++ branches/release/boost/test/utils/trivial_singleton.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2007.
+// (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)
Modified: branches/release/boost/test/utils/wrap_stringstream.hpp
==============================================================================
--- branches/release/boost/test/utils/wrap_stringstream.hpp (original)
+++ branches/release/boost/test/utils/wrap_stringstream.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2002-2007.
+// (C) Copyright Gennadiy Rozental 2002-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)
@@ -114,9 +114,7 @@
//____________________________________________________________________________//
-#if !defined(BOOST_NO_STD_LOCALE) && \
- (!defined(BOOST_MSVC) || BOOST_WORKAROUND(BOOST_MSVC, >= 1310)) && \
- !defined(__MWERKS__) && !BOOST_WORKAROUND(__GNUC__, < 3)
+#if BOOST_TEST_USE_STD_LOCALE
template <typename CharT>
inline basic_wrap_stringstream<CharT>&
Modified: branches/release/boost/test/utils/xml_printer.hpp
==============================================================================
--- branches/release/boost/test/utils/xml_printer.hpp (original)
+++ branches/release/boost/test/utils/xml_printer.hpp 2008-10-13 04:20:26 EDT (Mon, 13 Oct 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2004-2007.
+// (C) Copyright Gennadiy Rozental 2004-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)
@@ -67,7 +67,7 @@
inline void
print_escaped( std::ostream& where_to, std::string const& value )
{
- print_escaped( where_to, const_string( value ) );
+ print_escaped( where_to, const_string( value ) );
}
//____________________________________________________________________________//
@@ -76,7 +76,7 @@
inline void
print_escaped( std::ostream& where_to, T const& value )
{
- where_to << value;
+ where_to << value;
}
//____________________________________________________________________________//
@@ -87,11 +87,11 @@
inline std::ostream&
operator<<( custom_printer<attr_value> const& p, T const& value )
{
- *p << "=\"";
- print_escaped( *p, value );
- *p << '"';
+ *p << "=\"";
+ print_escaped( *p, value );
+ *p << '"';
- return *p;
+ return *p;
}
//____________________________________________________________________________//
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk