66 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			66 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								//  (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
							 |