]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | // (C) Copyright Gennadiy Rozental 2001. |
2 | // (C) Copyright Beman Dawes 1995-2001. | |
3 | // Distributed under the Boost Software License, Version 1.0. | |
4 | // (See accompanying file LICENSE_1_0.txt or copy at | |
5 | // http://www.boost.org/LICENSE_1_0.txt) | |
6 | ||
7 | // See http://www.boost.org/libs/test for the library home page. | |
8 | // | |
9 | /// @file | |
10 | /// @brief Implements main function for Test Execution Monitor. | |
11 | // *************************************************************************** | |
12 | ||
13 | #ifndef BOOST_TEST_TEST_MAIN_IPP_012205GER | |
14 | #define BOOST_TEST_TEST_MAIN_IPP_012205GER | |
15 | ||
16 | // Boost.Test | |
17 | #include <boost/test/framework.hpp> | |
18 | #include <boost/test/test_tools.hpp> | |
19 | #include <boost/test/unit_test_suite.hpp> | |
20 | ||
21 | // Boost | |
22 | #include <boost/cstdlib.hpp> | |
23 | ||
24 | #include <boost/test/detail/suppress_warnings.hpp> | |
25 | ||
26 | //____________________________________________________________________________// | |
27 | ||
28 | extern int test_main( int argc, char* argv[] ); // prototype for user's test_main() | |
29 | ||
30 | struct test_main_caller { | |
31 | test_main_caller( int argc, char** argv ) : m_argc( argc ), m_argv( argv ) {} | |
32 | ||
33 | void operator()() { | |
34 | int test_main_result = test_main( m_argc, m_argv ); | |
35 | ||
36 | // translate a test_main non-success return into a test error | |
37 | BOOST_CHECK( test_main_result == 0 || test_main_result == boost::exit_success ); | |
38 | } | |
39 | ||
40 | private: | |
41 | // Data members | |
42 | int m_argc; | |
43 | char** m_argv; | |
44 | }; | |
45 | ||
46 | // ************************************************************************** // | |
47 | // ************** test main ************** // | |
48 | // ************************************************************************** // | |
49 | ||
50 | ::boost::unit_test::test_suite* | |
51 | init_unit_test_suite( int argc, char* argv[] ) { | |
52 | using namespace ::boost::unit_test; | |
53 | ||
54 | framework::master_test_suite().p_name.value = "Test Program"; | |
55 | ||
56 | framework::master_test_suite().add( BOOST_TEST_CASE( test_main_caller( argc, argv ) ) ); | |
57 | ||
58 | return 0; | |
59 | } | |
60 | ||
61 | //____________________________________________________________________________// | |
62 | ||
63 | #include <boost/test/detail/enable_warnings.hpp> | |
64 | ||
65 | #endif // BOOST_TEST_TEST_MAIN_IPP_012205GER |