1 // (C) Copyright Gennadiy Rozental 2011-2015. 2 // Distributed under the Boost Software License, Version 1.0. 3 // (See accompanying file LICENSE_1_0.txt or copy at 4 // http://www.boost.org/LICENSE_1_0.txt) 5 6 // See http://www.boost.org/libs/test for the library home page. 7 8 //[example_code 9 #define BOOST_TEST_MODULE example 10 #include <boost/test/included/unit_test.hpp> 11 12 extern void foo( int i ); 13 BOOST_AUTO_TEST_CASE(test_external_interface)14BOOST_AUTO_TEST_CASE( test_external_interface ) 15 { 16 for( int i = 3; i >=0; i-- ) { 17 BOOST_TEST_CHECKPOINT( "Calling 'foo' with i=" << i ); 18 foo( i ); 19 } 20 } 21 goo(int value)22void goo( int value ) 23 { 24 BOOST_TEST_CHECKPOINT( "Inside goo with value '" << value << "'"); 25 } 26 foo(int i)27void foo( int i ) 28 { 29 if( i == 1 ) 30 throw std::runtime_error("Undefined Behaviour ahead!"); 31 // following line may not raise an exception on some compilers: 32 // Undefined Behaviour is implementation specific 33 goo( 2/(i-1) ); 34 } 35 //] 36