• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)14 BOOST_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)22 void goo( int value )
23 {
24   BOOST_TEST_CHECKPOINT( "Inside goo with value '" << value << "'");
25 }
26 
foo(int i)27 void 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