|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r74789 - in trunk/boost/test: . detail impl included interaction
From: gennadiy.rozental_at_[hidden]
Date: 2011-10-08 00:50:40
Author: rogeeff
Date: 2011-10-08 00:50:38 EDT (Sat, 08 Oct 2011)
New Revision: 74789
URL: http://svn.boost.org/trac/boost/changeset/74789
Log:
renamed unit_test_suite.ipp into test_tree.ipp
moved unit_test_parameters.hpp from detail into main directory
New CLA wait_for_debugger: allows to force test module to wait till user attaches debugger
Added:
trunk/boost/test/impl/test_tree.ipp
- copied, changed from r74774, /trunk/boost/test/impl/unit_test_suite.ipp
trunk/boost/test/unit_test_parameters.hpp
- copied, changed from r74774, /trunk/boost/test/detail/unit_test_parameters.hpp
Removed:
trunk/boost/test/detail/unit_test_parameters.hpp
trunk/boost/test/impl/unit_test_suite.ipp
Text files modified:
trunk/boost/test/impl/compiler_log_formatter.ipp | 2
trunk/boost/test/impl/exception_safety.ipp | 2
trunk/boost/test/impl/framework.ipp | 2
trunk/boost/test/impl/plain_report_formatter.ipp | 2
trunk/boost/test/impl/progress_monitor.ipp | 2
trunk/boost/test/impl/results_reporter.ipp | 2
trunk/boost/test/impl/test_tree.ipp | 2
trunk/boost/test/impl/unit_test_log.ipp | 2
trunk/boost/test/impl/unit_test_main.ipp | 11 ++++-
trunk/boost/test/impl/unit_test_monitor.ipp | 2
trunk/boost/test/impl/unit_test_parameters.ipp | 78 +++++++++++++++++++++++++--------------
trunk/boost/test/included/test_exec_monitor.hpp | 2
trunk/boost/test/included/unit_test.hpp | 2
trunk/boost/test/interaction/logged_expectations.hpp | 2
trunk/boost/test/unit_test_parameters.hpp | 1
15 files changed, 72 insertions(+), 42 deletions(-)
Deleted: trunk/boost/test/detail/unit_test_parameters.hpp
==============================================================================
--- trunk/boost/test/detail/unit_test_parameters.hpp 2011-10-08 00:50:38 EDT (Sat, 08 Oct 2011)
+++ (empty file)
@@ -1,68 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2001-2010.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : storage for unit test framework parameters information
-// ***************************************************************************
-
-#ifndef BOOST_TEST_UNIT_TEST_PARAMETERS_HPP_071894GER
-#define BOOST_TEST_UNIT_TEST_PARAMETERS_HPP_071894GER
-
-#include <boost/test/detail/global_typedef.hpp>
-#include <boost/test/detail/log_level.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-// STL
-#include <iosfwd>
-#include <list>
-
-//____________________________________________________________________________//
-
-namespace boost {
-namespace unit_test {
-namespace runtime_config {
-
-// ************************************************************************** //
-// ************** runtime_config ************** //
-// ************************************************************************** //
-
-BOOST_TEST_DECL void init( int& argc, char** argv );
-
-BOOST_TEST_DECL unit_test::log_level log_level();
-BOOST_TEST_DECL bool no_result_code();
-BOOST_TEST_DECL unit_test::report_level report_level();
-BOOST_TEST_DECL std::list<std::string> const& test_to_run();
-BOOST_TEST_DECL const_string break_exec_path();
-BOOST_TEST_DECL bool save_pattern();
-BOOST_TEST_DECL bool show_build_info();
-BOOST_TEST_DECL bool list_content();
-BOOST_TEST_DECL bool show_progress();
-BOOST_TEST_DECL bool catch_sys_errors();
-BOOST_TEST_DECL bool color_output();
-BOOST_TEST_DECL bool auto_start_dbg();
-BOOST_TEST_DECL bool use_alt_stack();
-BOOST_TEST_DECL bool detect_fp_exceptions();
-BOOST_TEST_DECL output_format report_format();
-BOOST_TEST_DECL output_format log_format();
-BOOST_TEST_DECL std::ostream* report_sink();
-BOOST_TEST_DECL std::ostream* log_sink();
-BOOST_TEST_DECL long detect_memory_leaks();
-BOOST_TEST_DECL int random_seed();
-
-} // namespace runtime_config
-} // namespace unit_test
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_UNIT_TEST_PARAMETERS_HPP_071894GER
Modified: trunk/boost/test/impl/compiler_log_formatter.ipp
==============================================================================
--- trunk/boost/test/impl/compiler_log_formatter.ipp (original)
+++ trunk/boost/test/impl/compiler_log_formatter.ipp 2011-10-08 00:50:38 EDT (Sat, 08 Oct 2011)
@@ -23,7 +23,7 @@
#include <boost/test/utils/lazy_ostream.hpp>
#include <boost/test/utils/setcolor.hpp>
#include <boost/test/output/compiler_log_formatter.hpp>
-#include <boost/test/detail/unit_test_parameters.hpp>
+#include <boost/test/unit_test_parameters.hpp>
// Boost
#include <boost/version.hpp>
Modified: trunk/boost/test/impl/exception_safety.ipp
==============================================================================
--- trunk/boost/test/impl/exception_safety.ipp (original)
+++ trunk/boost/test/impl/exception_safety.ipp 2011-10-08 00:50:38 EDT (Sat, 08 Oct 2011)
@@ -21,7 +21,7 @@
#if BOOST_TEST_SUPPORT_INTERACTION_TESTING
#include <boost/test/detail/global_typedef.hpp>
-#include <boost/test/detail/unit_test_parameters.hpp>
+#include <boost/test/unit_test_parameters.hpp>
#include <boost/test/utils/wrap_stringstream.hpp>
#include <boost/test/utils/iterator/token_iterator.hpp>
Modified: trunk/boost/test/impl/framework.ipp
==============================================================================
--- trunk/boost/test/impl/framework.ipp (original)
+++ trunk/boost/test/impl/framework.ipp 2011-10-08 00:50:38 EDT (Sat, 08 Oct 2011)
@@ -36,7 +36,7 @@
#include <boost/test/utils/iterator/token_iterator.hpp>
#endif
-#include <boost/test/detail/unit_test_parameters.hpp>
+#include <boost/test/unit_test_parameters.hpp>
#include <boost/test/detail/global_typedef.hpp>
#include <boost/test/utils/foreach.hpp>
Modified: trunk/boost/test/impl/plain_report_formatter.ipp
==============================================================================
--- trunk/boost/test/impl/plain_report_formatter.ipp (original)
+++ trunk/boost/test/impl/plain_report_formatter.ipp 2011-10-08 00:50:38 EDT (Sat, 08 Oct 2011)
@@ -25,7 +25,7 @@
#include <boost/test/utils/basic_cstring/io.hpp>
#include <boost/test/utils/setcolor.hpp>
-#include <boost/test/detail/unit_test_parameters.hpp>
+#include <boost/test/unit_test_parameters.hpp>
// STL
#include <iomanip>
Modified: trunk/boost/test/impl/progress_monitor.ipp
==============================================================================
--- trunk/boost/test/impl/progress_monitor.ipp (original)
+++ trunk/boost/test/impl/progress_monitor.ipp 2011-10-08 00:50:38 EDT (Sat, 08 Oct 2011)
@@ -18,7 +18,7 @@
// Boost.Test
#include <boost/test/progress_monitor.hpp>
-#include <boost/test/detail/unit_test_parameters.hpp>
+#include <boost/test/unit_test_parameters.hpp>
#include <boost/test/utils/setcolor.hpp>
#include <boost/test/tree/test_unit.hpp>
Modified: trunk/boost/test/impl/results_reporter.ipp
==============================================================================
--- trunk/boost/test/impl/results_reporter.ipp (original)
+++ trunk/boost/test/impl/results_reporter.ipp 2011-10-08 00:50:38 EDT (Sat, 08 Oct 2011)
@@ -26,7 +26,7 @@
#include <boost/test/tree/test_unit.hpp>
#include <boost/test/tree/traverse.hpp>
-#include <boost/test/detail/unit_test_parameters.hpp>
+#include <boost/test/unit_test_parameters.hpp>
// Boost
#include <boost/scoped_ptr.hpp>
Copied: trunk/boost/test/impl/test_tree.ipp (from r74774, /trunk/boost/test/impl/unit_test_suite.ipp)
==============================================================================
--- /trunk/boost/test/impl/unit_test_suite.ipp (original)
+++ trunk/boost/test/impl/test_tree.ipp 2011-10-08 00:50:38 EDT (Sat, 08 Oct 2011)
@@ -30,7 +30,7 @@
#include <boost/test/utils/foreach.hpp>
-#include <boost/test/detail/unit_test_parameters.hpp>
+#include <boost/test/unit_test_parameters.hpp>
// Boost
#include <boost/timer.hpp>
Modified: trunk/boost/test/impl/unit_test_log.ipp
==============================================================================
--- trunk/boost/test/impl/unit_test_log.ipp (original)
+++ trunk/boost/test/impl/unit_test_log.ipp 2011-10-08 00:50:38 EDT (Sat, 08 Oct 2011)
@@ -21,7 +21,7 @@
#include <boost/test/execution_monitor.hpp>
#include <boost/test/framework.hpp>
-#include <boost/test/detail/unit_test_parameters.hpp>
+#include <boost/test/unit_test_parameters.hpp>
#include <boost/test/utils/basic_cstring/compare.hpp>
Modified: trunk/boost/test/impl/unit_test_main.ipp
==============================================================================
--- trunk/boost/test/impl/unit_test_main.ipp (original)
+++ trunk/boost/test/impl/unit_test_main.ipp 2011-10-08 00:50:38 EDT (Sat, 08 Oct 2011)
@@ -24,7 +24,7 @@
#include <boost/test/tree/test_unit.hpp>
#include <boost/test/tree/traverse.hpp>
-#include <boost/test/detail/unit_test_parameters.hpp>
+#include <boost/test/unit_test_parameters.hpp>
// Boost
#include <boost/cstdlib.hpp>
@@ -91,8 +91,15 @@
return boost::exit_success;
}
- framework::run();
+ if( runtime_config::wait_for_debugger() ) {
+ results_reporter::get_stream() << "Press any key to continue..." << std::endl;
+
+ std::getchar();
+ results_reporter::get_stream() << "Continuing..." << std::endl;
+ }
+ framework::run();
+
results_reporter::make_report();
return runtime_config::no_result_code()
Modified: trunk/boost/test/impl/unit_test_monitor.ipp
==============================================================================
--- trunk/boost/test/impl/unit_test_monitor.ipp (original)
+++ trunk/boost/test/impl/unit_test_monitor.ipp 2011-10-08 00:50:38 EDT (Sat, 08 Oct 2011)
@@ -21,7 +21,7 @@
#include <boost/test/test_tools.hpp>
#include <boost/test/framework.hpp>
#include <boost/test/tree/test_unit.hpp>
-#include <boost/test/detail/unit_test_parameters.hpp>
+#include <boost/test/unit_test_parameters.hpp>
#include <boost/test/detail/suppress_warnings.hpp>
Modified: trunk/boost/test/impl/unit_test_parameters.ipp
==============================================================================
--- trunk/boost/test/impl/unit_test_parameters.ipp (original)
+++ trunk/boost/test/impl/unit_test_parameters.ipp 2011-10-08 00:50:38 EDT (Sat, 08 Oct 2011)
@@ -19,8 +19,8 @@
#define BOOST_TEST_UNIT_TEST_PARAMETERS_IPP_012205GER
// Boost.Test
-#define MAX_MAP_SIZE 25
-#include <boost/test/detail/unit_test_parameters.hpp>
+
+#include <boost/test/unit_test_parameters.hpp>
#include <boost/test/utils/basic_cstring/basic_cstring.hpp>
#include <boost/test/utils/basic_cstring/compare.hpp>
#include <boost/test/utils/basic_cstring/io.hpp>
@@ -173,32 +173,43 @@
std::string SAVE_TEST_PATTERN = "save_pattern";
std::string SHOW_PROGRESS = "show_progress";
std::string USE_ALT_STACK = "use_alt_stack";
+std::string WAIT_FOR_DEBUGGER = "wait_for_debugger";
+
+static const_string
+parameter_2_env_var( const_string param_name )
+{
+ typedef std::map<const_string,const_string> mtype;
+ static mtype s_mapping;
-fixed_mapping<const_string,const_string> parameter_2_env_var(
- AUTO_START_DBG , "BOOST_TEST_AUTO_START_DBG",
- BREAK_EXEC_PATH , "BOOST_TEST_BREAK_EXEC_PATH",
- BUILD_INFO , "BOOST_TEST_BUILD_INFO",
- CATCH_SYS_ERRORS , "BOOST_TEST_CATCH_SYSTEM_ERRORS",
- COLOR_OUTPUT , "BOOST_TEST_COLOR_OUTPUT",
- DETECT_FP_EXCEPT , "BOOST_TEST_DETECT_FP_EXCEPTIONS",
- DETECT_MEM_LEAKS , "BOOST_TEST_DETECT_MEMORY_LEAK",
- LIST_CONTENT , "BOOST_TEST_LIST_CONTENT",
- LOG_FORMAT , "BOOST_TEST_LOG_FORMAT",
- LOG_LEVEL , "BOOST_TEST_LOG_LEVEL",
- LOG_SINK , "BOOST_TEST_LOG_SINK",
- OUTPUT_FORMAT , "BOOST_TEST_OUTPUT_FORMAT",
- RANDOM_SEED , "BOOST_TEST_RANDOM",
- REPORT_FORMAT , "BOOST_TEST_REPORT_FORMAT",
- REPORT_LEVEL , "BOOST_TEST_REPORT_LEVEL",
- REPORT_SINK , "BOOST_TEST_REPORT_SINK",
- RESULT_CODE , "BOOST_TEST_RESULT_CODE",
- TESTS_TO_RUN , "BOOST_TESTS_TO_RUN",
- SAVE_TEST_PATTERN , "BOOST_TEST_SAVE_PATTERN",
- SHOW_PROGRESS , "BOOST_TEST_SHOW_PROGRESS",
- USE_ALT_STACK , "BOOST_TEST_USE_ALT_STACK",
+ if( s_mapping.empty() ) {
+ s_mapping[AUTO_START_DBG] = "BOOST_TEST_AUTO_START_DBG";
+ s_mapping[BREAK_EXEC_PATH] = "BOOST_TEST_BREAK_EXEC_PATH";
+ s_mapping[BUILD_INFO] = "BOOST_TEST_BUILD_INFO";
+ s_mapping[CATCH_SYS_ERRORS] = "BOOST_TEST_CATCH_SYSTEM_ERRORS";
+ s_mapping[COLOR_OUTPUT] = "BOOST_TEST_COLOR_OUTPUT";
+ s_mapping[DETECT_FP_EXCEPT] = "BOOST_TEST_DETECT_FP_EXCEPTIONS";
+ s_mapping[DETECT_MEM_LEAKS] = "BOOST_TEST_DETECT_MEMORY_LEAK";
+ s_mapping[LIST_CONTENT] = "BOOST_TEST_LIST_CONTENT";
+ s_mapping[LOG_FORMAT] = "BOOST_TEST_LOG_FORMAT";
+ s_mapping[LOG_LEVEL] = "BOOST_TEST_LOG_LEVEL";
+ s_mapping[LOG_SINK] = "BOOST_TEST_LOG_SINK";
+ s_mapping[OUTPUT_FORMAT] = "BOOST_TEST_OUTPUT_FORMAT";
+ s_mapping[RANDOM_SEED] = "BOOST_TEST_RANDOM";
+ s_mapping[REPORT_FORMAT] = "BOOST_TEST_REPORT_FORMAT";
+ s_mapping[REPORT_LEVEL] = "BOOST_TEST_REPORT_LEVEL";
+ s_mapping[REPORT_SINK] = "BOOST_TEST_REPORT_SINK";
+ s_mapping[RESULT_CODE] = "BOOST_TEST_RESULT_CODE";
+ s_mapping[TESTS_TO_RUN] = "BOOST_TESTS_TO_RUN";
+ s_mapping[SAVE_TEST_PATTERN] = "BOOST_TEST_SAVE_PATTERN";
+ s_mapping[SHOW_PROGRESS] = "BOOST_TEST_SHOW_PROGRESS";
+ s_mapping[USE_ALT_STACK] = "BOOST_TEST_USE_ALT_STACK";
+ s_mapping[WAIT_FOR_DEBUGGER] = "BOOST_TEST_WAIT_FOR_DEBUGGER";
+ }
- ""
-);
+ mtype::const_iterator it = s_mapping.find( param_name );
+
+ return it == s_mapping.end() ? const_string() : it->second;
+}
//____________________________________________________________________________//
@@ -233,7 +244,7 @@
boost::optional<T> v;
#ifndef UNDER_CE
- env::get( parameter_2_env_var[parameter_name], v );
+ env::get( parameter_2_env_var(parameter_name), v );
#endif
if( v )
@@ -320,6 +331,9 @@
<< cla::named_parameter<bool>( USE_ALT_STACK )
- (cla::prefix = "--",cla::separator = "=",cla::guess_name,cla::optional,
cla::description = "Turns on/off usage of an alternative stack for signal handling")
+ << cla::dual_name_parameter<bool>( WAIT_FOR_DEBUGGER + "|w" )
+ - (cla::prefix = "--|-",cla::separator = "=| ",cla::guess_name,cla::optional,cla::optional_value,
+ cla::description = "Forces test module to wait for button to be pressed before starting test run")
<< cla::dual_name_parameter<bool>( "help|?" )
- (cla::prefix = "--|-",cla::separator = "=",cla::guess_name,cla::optional,
@@ -454,7 +468,7 @@
bool
auto_start_dbg()
{
- // !! set debugger as an option
+ // !! ?? set debugger as an option
return retrieve_parameter( AUTO_START_DBG, s_cla_parser, false );
;
}
@@ -462,6 +476,14 @@
//____________________________________________________________________________//
bool
+wait_for_debugger()
+{
+ return retrieve_parameter( WAIT_FOR_DEBUGGER, s_cla_parser, false );
+}
+
+//____________________________________________________________________________//
+
+bool
use_alt_stack()
{
return retrieve_parameter( USE_ALT_STACK, s_cla_parser, true );
Deleted: trunk/boost/test/impl/unit_test_suite.ipp
==============================================================================
--- trunk/boost/test/impl/unit_test_suite.ipp 2011-10-08 00:50:38 EDT (Sat, 08 Oct 2011)
+++ (empty file)
@@ -1,364 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2010.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : privides core implementation for Unit Test Framework.
-// Extensions can be provided in separate files
-// ***************************************************************************
-
-#ifndef BOOST_TEST_UNIT_TEST_SUITE_IPP_012205GER
-#define BOOST_TEST_UNIT_TEST_SUITE_IPP_012205GER
-
-// Boost.Test
-#include <boost/detail/workaround.hpp>
-
-#include <boost/test/framework.hpp>
-#include <boost/test/results_collector.hpp>
-
-#include <boost/test/tree/test_unit.hpp>
-#include <boost/test/tree/visitor.hpp>
-#include <boost/test/tree/traverse.hpp>
-#include <boost/test/tree/auto_registration.hpp>
-#include <boost/test/tree/global_fixture.hpp>
-
-#include <boost/test/utils/foreach.hpp>
-
-#include <boost/test/detail/unit_test_parameters.hpp>
-
-// Boost
-#include <boost/timer.hpp>
-
-// STL
-#include <algorithm>
-#include <vector>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x600) && BOOST_WORKAROUND(_STLPORT_VERSION, <= 0x450)
- using std::rand; // rand is in std and random_shuffle is in _STL
-#endif
-
-//____________________________________________________________________________//
-
-namespace boost {
-namespace unit_test {
-
-// ************************************************************************** //
-// ************** test_unit ************** //
-// ************************************************************************** //
-
-test_unit::test_unit( const_string name, test_unit_type t )
-: p_type( t )
-, p_type_name( t == tut_case ? "case" : "suite" )
-, p_id( INV_TEST_UNIT_ID )
-, p_name( std::string( name.begin(), name.size() ) )
-, p_enabled( true )
-{
-}
-
-//____________________________________________________________________________//
-
-test_unit::~test_unit()
-{
- framework::deregister_test_unit( this );
-}
-
-//____________________________________________________________________________//
-
-void
-test_unit::depends_on( test_unit* tu )
-{
- p_dependencies.value.push_back( tu->p_id );
-}
-
-//____________________________________________________________________________//
-
-bool
-test_unit::check_dependencies() const
-{
- BOOST_TEST_FOREACH( test_unit_id, tu_id, p_dependencies.get() ) {
- if( !unit_test::results_collector.results( tu_id ).passed() )
- return false;
- }
-
- return true;
-}
-
-//____________________________________________________________________________//
-
-void
-test_unit::increase_exp_fail( unsigned num )
-{
- p_expected_failures.value += num;
-
- if( p_parent_id != 0 )
- framework::get<test_suite>( p_parent_id ).increase_exp_fail( num );
-}
-
-//____________________________________________________________________________//
-
-void
-test_unit::add_label( const_string l )
-{
- m_labels.push_back( std::string() + l );
-}
-
-//____________________________________________________________________________//
-
-bool
-test_unit::has_label( const_string l ) const
-{
- return std::find( m_labels.begin(), m_labels.end(), l ) != m_labels.end();
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** test_case ************** //
-// ************************************************************************** //
-
-test_case::test_case( const_string name, boost::function<void ()> const& test_func )
-: test_unit( name, static_cast<test_unit_type>(type) )
-, p_test_func( test_func )
-{
- framework::register_test_unit( this );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** test_suite ************** //
-// ************************************************************************** //
-
-//____________________________________________________________________________//
-
-test_suite::test_suite( const_string name )
-: test_unit( name, static_cast<test_unit_type>(type) )
-{
- framework::register_test_unit( this );
-}
-
-//____________________________________________________________________________//
-
-void
-test_suite::add( test_unit* tu, counter_t expected_failures, unsigned timeout )
-{
- if( timeout != 0 )
- tu->p_timeout.value = timeout;
-
- m_members.push_back( tu->p_id );
- tu->p_parent_id.value = p_id;
-
- if( tu->p_expected_failures != 0 )
- increase_exp_fail( tu->p_expected_failures );
-
- if( expected_failures )
- tu->increase_exp_fail( expected_failures );
-}
-
-//____________________________________________________________________________//
-
-void
-test_suite::add( test_unit_generator const& gen, unsigned timeout )
-{
- test_unit* tu;
- while((tu = gen.next(), tu))
- add( tu, 0, timeout );
-}
-
-//____________________________________________________________________________//
-
-void
-test_suite::remove( test_unit_id id )
-{
- std::vector<test_unit_id>::iterator it = std::find( m_members.begin(), m_members.end(), id );
-
- if( it != m_members.end() )
- m_members.erase( it );
-}
-
-//____________________________________________________________________________//
-
-test_unit_id
-test_suite::get( const_string tu_name ) const
-{
- BOOST_TEST_FOREACH( test_unit_id, id, m_members ) {
- if( tu_name == framework::get( id, ut_detail::test_id_2_unit_type( id ) ).p_name.get() )
- return id;
- }
-
- return INV_TEST_UNIT_ID;
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** traverse_test_tree ************** //
-// ************************************************************************** //
-
-void
-traverse_test_tree( test_case const& tc, test_tree_visitor& V, bool ignore_status )
-{
- if( tc.p_enabled || ignore_status )
- V.visit( tc );
-}
-
-//____________________________________________________________________________//
-
-void
-traverse_test_tree( test_suite const& suite, test_tree_visitor& V, bool ignore_status )
-{
- if( (!ignore_status && !suite.p_enabled) || !V.test_suite_start( suite ) )
- return;
-
- try {
- if( runtime_config::random_seed() == 0 ) {
- unsigned total_members = suite.m_members.size();
- for( unsigned i=0; i < total_members; ) {
- // this statement can remove the test unit from this list
- traverse_test_tree( suite.m_members[i], V, ignore_status );
- if( total_members > suite.m_members.size() )
- total_members = suite.m_members.size();
- else
- ++i;
- }
- }
- else {
- std::vector<test_unit_id> members( suite.m_members );
- std::random_shuffle( members.begin(), members.end() );
- BOOST_TEST_FOREACH( test_unit_id, id, members )
- traverse_test_tree( id, V, ignore_status );
- }
-
- } catch( framework::test_being_aborted const& ) {
- V.test_suite_finish( suite );
- framework::test_unit_aborted( suite );
-
- throw;
- }
-
- V.test_suite_finish( suite );
-}
-
-//____________________________________________________________________________//
-
-void
-traverse_test_tree( test_unit_id id, test_tree_visitor& V, bool ignore_status )
-{
- if( ut_detail::test_id_2_unit_type( id ) == tut_case )
- traverse_test_tree( framework::get<test_case>( id ), V, ignore_status );
- else
- traverse_test_tree( framework::get<test_suite>( id ), V, ignore_status );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** object generators ************** //
-// ************************************************************************** //
-
-namespace ut_detail {
-
-std::string
-normalize_test_case_name( const_string name )
-{
- return ( name[0] == '&'
- ? std::string( name.begin()+1, name.size()-1 )
- : std::string( name.begin(), name.size() ) );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** auto_test_unit_registrar ************** //
-// ************************************************************************** //
-
-auto_test_unit_registrar::auto_test_unit_registrar( test_case* tc, decorator::collector* decorators, counter_t exp_fail )
-{
- curr_ts_store().back()->add( tc, exp_fail );
-
- if( decorators )
- decorators->store_in( *tc );
-}
-
-//____________________________________________________________________________//
-
-auto_test_unit_registrar::auto_test_unit_registrar( const_string ts_name, decorator::collector* decorators )
-{
- test_unit_id id = curr_ts_store().back()->get( ts_name );
-
- test_suite* ts;
-
- if( id != INV_TEST_UNIT_ID ) {
- ts = &framework::get<test_suite>( id );
- BOOST_ASSERT( ts->p_parent_id == curr_ts_store().back()->p_id );
- }
- else {
- ts = new test_suite( ts_name );
- curr_ts_store().back()->add( ts );
- }
-
- if( decorators )
- decorators->store_in( *ts );
-
- curr_ts_store().push_back( ts );
-}
-
-//____________________________________________________________________________//
-
-auto_test_unit_registrar::auto_test_unit_registrar( test_unit_generator const& tc_gen, decorator::collector* decorators )
-{
- curr_ts_store().back()->add( tc_gen );
-
- // !! ??if( decorators )
- // decorators->apply( *tc );
-
-}
-
-//____________________________________________________________________________//
-
-auto_test_unit_registrar::auto_test_unit_registrar( int )
-{
- if( curr_ts_store().size() == 0 )
- return; // report error?
-
- curr_ts_store().pop_back();
-}
-
-//____________________________________________________________________________//
-
-std::list<test_suite*>&
-auto_test_unit_registrar::curr_ts_store()
-{
- static std::list<test_suite*> inst( 1, &framework::master_test_suite() );
- return inst;
-}
-
-//____________________________________________________________________________//
-
-} // namespace ut_detail
-
-// ************************************************************************** //
-// ************** global_fixture ************** //
-// ************************************************************************** //
-
-global_fixture::global_fixture()
-{
- framework::register_observer( *this );
-}
-
-//____________________________________________________________________________//
-
-} // namespace unit_test
-} // namespace boost
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_UNIT_TEST_SUITE_IPP_012205GER
Modified: trunk/boost/test/included/test_exec_monitor.hpp
==============================================================================
--- trunk/boost/test/included/test_exec_monitor.hpp (original)
+++ trunk/boost/test/included/test_exec_monitor.hpp 2011-10-08 00:50:38 EDT (Sat, 08 Oct 2011)
@@ -26,11 +26,11 @@
#include <boost/test/impl/results_reporter.ipp>
#include <boost/test/impl/test_main.ipp>
#include <boost/test/impl/test_tools.ipp>
+#include <boost/test/impl/test_tree.ipp>
#include <boost/test/impl/unit_test_log.ipp>
#include <boost/test/impl/unit_test_main.ipp>
#include <boost/test/impl/unit_test_monitor.ipp>
#include <boost/test/impl/unit_test_parameters.ipp>
-#include <boost/test/impl/unit_test_suite.ipp>
#include <boost/test/impl/xml_log_formatter.ipp>
#include <boost/test/impl/xml_report_formatter.ipp>
Modified: trunk/boost/test/included/unit_test.hpp
==============================================================================
--- trunk/boost/test/included/unit_test.hpp (original)
+++ trunk/boost/test/included/unit_test.hpp 2011-10-08 00:50:38 EDT (Sat, 08 Oct 2011)
@@ -28,11 +28,11 @@
#include <boost/test/impl/results_collector.ipp>
#include <boost/test/impl/results_reporter.ipp>
#include <boost/test/impl/test_tools.ipp>
+#include <boost/test/impl/test_tree.ipp>
#include <boost/test/impl/unit_test_log.ipp>
#include <boost/test/impl/unit_test_main.ipp>
#include <boost/test/impl/unit_test_monitor.ipp>
#include <boost/test/impl/unit_test_parameters.ipp>
-#include <boost/test/impl/unit_test_suite.ipp>
#include <boost/test/impl/xml_log_formatter.ipp>
#include <boost/test/impl/xml_report_formatter.ipp>
Modified: trunk/boost/test/interaction/logged_expectations.hpp
==============================================================================
--- trunk/boost/test/interaction/logged_expectations.hpp (original)
+++ trunk/boost/test/interaction/logged_expectations.hpp 2011-10-08 00:50:38 EDT (Sat, 08 Oct 2011)
@@ -17,7 +17,7 @@
// Boost.Test
#include <boost/test/detail/config.hpp>
-#include <boost/test/detail/unit_test_parameters.hpp>
+#include <boost/test/unit_test_parameters.hpp>
// Boost
#include <boost/function/function0.hpp>
Copied: trunk/boost/test/unit_test_parameters.hpp (from r74774, /trunk/boost/test/detail/unit_test_parameters.hpp)
==============================================================================
--- /trunk/boost/test/detail/unit_test_parameters.hpp (original)
+++ trunk/boost/test/unit_test_parameters.hpp 2011-10-08 00:50:38 EDT (Sat, 08 Oct 2011)
@@ -48,6 +48,7 @@
BOOST_TEST_DECL bool catch_sys_errors();
BOOST_TEST_DECL bool color_output();
BOOST_TEST_DECL bool auto_start_dbg();
+BOOST_TEST_DECL bool wait_for_debugger();
BOOST_TEST_DECL bool use_alt_stack();
BOOST_TEST_DECL bool detect_fp_exceptions();
BOOST_TEST_DECL output_format report_format();
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