Ticket #7419: boost_test_support_multiple_test_runs.diff

File boost_test_support_multiple_test_runs.diff, 4.9 KB (added by Jamie Allsop <ja11sop@…>, 10 years ago)
  • boost/test/impl/framework.ipp

     
    346346                delete static_cast<test_case const*>(tu_ptr);
    347347        }
    348348    }
    349                                    
     349
     350    void            reset()
     351    {
     352        clear();
     353        m_master_test_suite  = 0;
     354        m_curr_test_case     = INV_TEST_UNIT_ID;
     355        m_next_test_case_id  = MIN_TEST_CASE_ID;
     356        m_next_test_suite_id = MIN_TEST_SUITE_ID;
     357        m_test_in_progress   = false;
     358    }
     359
    350360    void            set_tu_id( test_unit& tu, test_unit_id id ) { tu.p_id.value = id; }
    351361
    352362    // test_tree_visitor interface implementation
     
    637647} // namespace impl
    638648
    639649// ************************************************************************** //
     650// **************                framework::reset              ************** //
     651// ************************************************************************** //
     652
     653void
     654reset()
     655{
     656    reset_observers();
     657    s_frk_impl().reset();
     658}
     659
     660// ************************************************************************** //
    640661// **************                framework::init               ************** //
    641662// ************************************************************************** //
    642663
    643664void
    644665init( init_unit_test_func init_func, int argc, char* argv[] )
    645666{
     667    if( s_frk_impl().m_is_initialized )
     668    {
     669        reset();
     670    }
     671
    646672    runtime_config::init( argc, argv );
    647673
    648674    // set the log level and format
  • boost/test/impl/unit_test_parameters.ipp

     
    152152namespace {
    153153
    154154// framework parameters and corresponding command-line arguments
     155#ifdef BOOST_TEST_USE_QUALIFIED_COMMANDLINE_ARGUMENTS
     156std::string AUTO_START_DBG    = "boost.test.auto_start_dbg";
     157std::string BREAK_EXEC_PATH   = "boost.test.break_exec_path";
     158std::string BUILD_INFO        = "boost.test.build_info";
     159std::string CATCH_SYS_ERRORS  = "boost.test.catch_system_errors";
     160std::string COLOR_OUTPUT      = "boost.test.color_output";
     161std::string DETECT_FP_EXCEPT  = "boost.test.detect_fp_exceptions";
     162std::string DETECT_MEM_LEAKS  = "boost.test.detect_memory_leaks";
     163std::string LIST_CONTENT      = "boost.test.list_content";
     164std::string LOG_FORMAT        = "boost.test.log_format";
     165std::string LOG_LEVEL         = "boost.test.log_level";
     166std::string LOG_SINK          = "boost.test.log_sink";
     167std::string OUTPUT_FORMAT     = "boost.test.output_format";
     168std::string RANDOM_SEED       = "boost.test.random";
     169std::string REPORT_FORMAT     = "boost.test.report_format";
     170std::string REPORT_LEVEL      = "boost.test.report_level";
     171std::string REPORT_SINK       = "boost.test.report_sink";
     172std::string RESULT_CODE       = "boost.test.result_code";
     173std::string TESTS_TO_RUN      = "boost.test.run_test";
     174std::string SAVE_TEST_PATTERN = "boost.test.save_pattern";
     175std::string SHOW_PROGRESS     = "boost.test.show_progress";
     176std::string USE_ALT_STACK     = "boost.test.use_alt_stack";
     177std::string WAIT_FOR_DEBUGGER = "boost.test.wait_for_debugger";
     178#else
    155179std::string AUTO_START_DBG    = "auto_start_dbg";
    156180std::string BREAK_EXEC_PATH   = "break_exec_path";
    157181std::string BUILD_INFO        = "build_info";
     
    174198std::string SHOW_PROGRESS     = "show_progress";
    175199std::string USE_ALT_STACK     = "use_alt_stack";
    176200std::string WAIT_FOR_DEBUGGER = "wait_for_debugger";
     201#endif
    177202
    178203static const_string
    179204parameter_2_env_var( const_string param_name )
     
    262287{
    263288    using namespace cla;
    264289
     290    s_cla_parser.clear();
     291
    265292    try {
    266293        if( s_cla_parser.num_params() != 0 )
    267294            s_cla_parser.reset();
  • boost/test/utils/runtime/cla/parser.hpp

     
    128128    void                usage( out_stream& ostr );
    129129    void                help(  out_stream& ostr );
    130130
     131    //clear
     132    void                clear();
     133
    131134private:
    132135    argument const&     valid_argument( cstring string_id ) const;
    133136
  • boost/test/utils/runtime/cla/parser.ipp

     
    258258
    259259//____________________________________________________________________________//
    260260
     261BOOST_RT_PARAM_INLINE void
     262parser::clear()
     263{
     264    m_parameters.clear();
     265}
     266
     267//____________________________________________________________________________//
     268
    261269} // namespace cla
    262270
    263271} // namespace BOOST_RT_PARAM_NAMESPACE