Chris@16: // (C) Copyright Gennadiy Rozental 2001-2008. Chris@16: // (C) Copyright Beman Dawes 1995-2001. Chris@16: // Distributed under the Boost Software License, Version 1.0. Chris@16: // (See accompanying file LICENSE_1_0.txt or copy at Chris@16: // http://www.boost.org/LICENSE_1_0.txt) Chris@16: Chris@16: // See http://www.boost.org/libs/test for the library home page. Chris@16: // Chris@16: // File : $RCSfile$ Chris@16: // Chris@101: // Version : $$Revision$ Chris@16: // Chris@16: // Description : implements main function for Test Execution Monitor. Chris@16: // *************************************************************************** Chris@16: Chris@16: #ifndef BOOST_TEST_TEST_MAIN_IPP_012205GER Chris@16: #define BOOST_TEST_TEST_MAIN_IPP_012205GER Chris@16: Chris@16: // Boost.Test Chris@16: #include Chris@16: #include Chris@16: #include Chris@16: Chris@16: // Boost Chris@16: #include Chris@16: Chris@16: #include Chris@16: Chris@16: //____________________________________________________________________________// Chris@16: Chris@16: extern int test_main( int argc, char* argv[] ); // prototype for user's test_main() Chris@16: Chris@16: struct test_main_caller { Chris@16: test_main_caller( int argc, char** argv ) : m_argc( argc ), m_argv( argv ) {} Chris@16: Chris@16: void operator()() { Chris@16: int test_main_result = test_main( m_argc, m_argv ); Chris@16: Chris@16: // translate a test_main non-success return into a test error Chris@16: BOOST_CHECK( test_main_result == 0 || test_main_result == boost::exit_success ); Chris@16: } Chris@16: Chris@16: private: Chris@16: // Data members Chris@16: int m_argc; Chris@16: char** m_argv; Chris@16: }; Chris@16: Chris@16: // ************************************************************************** // Chris@16: // ************** test main ************** // Chris@16: // ************************************************************************** // Chris@16: Chris@16: ::boost::unit_test::test_suite* Chris@16: init_unit_test_suite( int argc, char* argv[] ) { Chris@16: using namespace ::boost::unit_test; Chris@16: Chris@16: framework::master_test_suite().p_name.value = "Test Program"; Chris@16: Chris@16: framework::master_test_suite().add( BOOST_TEST_CASE( test_main_caller( argc, argv ) ) ); Chris@16: Chris@16: return 0; Chris@16: } Chris@16: Chris@16: //____________________________________________________________________________// Chris@16: Chris@16: #include Chris@16: Chris@16: #endif // BOOST_TEST_TEST_MAIN_IPP_012205GER