diff options
Diffstat (limited to 'src/third_party/boost-1.69.0/boost/test/impl/test_main.ipp')
-rw-r--r-- | src/third_party/boost-1.69.0/boost/test/impl/test_main.ipp | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/third_party/boost-1.69.0/boost/test/impl/test_main.ipp b/src/third_party/boost-1.69.0/boost/test/impl/test_main.ipp new file mode 100644 index 00000000000..6adc5bb9c23 --- /dev/null +++ b/src/third_party/boost-1.69.0/boost/test/impl/test_main.ipp @@ -0,0 +1,65 @@ +// (C) Copyright Gennadiy Rozental 2001. +// (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 +// http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/test for the library home page. +// +/// @file +/// @brief Implements main function for Test Execution Monitor. +// *************************************************************************** + +#ifndef BOOST_TEST_TEST_MAIN_IPP_012205GER +#define BOOST_TEST_TEST_MAIN_IPP_012205GER + +// Boost.Test +#include <boost/test/framework.hpp> +#include <boost/test/test_tools.hpp> +#include <boost/test/unit_test_suite.hpp> + +// Boost +#include <boost/cstdlib.hpp> + +#include <boost/test/detail/suppress_warnings.hpp> + +//____________________________________________________________________________// + +extern int test_main( int argc, char* argv[] ); // prototype for user's test_main() + +struct test_main_caller { + test_main_caller( int argc, char** argv ) : m_argc( argc ), m_argv( argv ) {} + + void operator()() { + int test_main_result = test_main( m_argc, m_argv ); + + // translate a test_main non-success return into a test error + BOOST_CHECK( test_main_result == 0 || test_main_result == boost::exit_success ); + } + +private: + // Data members + int m_argc; + char** m_argv; +}; + +// ************************************************************************** // +// ************** test main ************** // +// ************************************************************************** // + +::boost::unit_test::test_suite* +init_unit_test_suite( int argc, char* argv[] ) { + using namespace ::boost::unit_test; + + framework::master_test_suite().p_name.value = "Test Program"; + + framework::master_test_suite().add( BOOST_TEST_CASE( test_main_caller( argc, argv ) ) ); + + return 0; +} + +//____________________________________________________________________________// + +#include <boost/test/detail/enable_warnings.hpp> + +#endif // BOOST_TEST_TEST_MAIN_IPP_012205GER |