diff --git a/test/throw_exception_test4.cpp b/test/throw_exception_test4.cpp index 1a0eb81..5f88d96 100644 --- a/test/throw_exception_test4.cpp +++ b/test/throw_exception_test4.cpp @@ -8,6 +8,7 @@ #include #include #include +#include class my_exception: public std::exception { @@ -21,6 +22,12 @@ class my_exception3: public std::exception, public virtual boost::exception { }; +char const* translate_function( char const * fn, char const * cfn ) +{ + // translate "" and "main" to BOOST_CURRENT_FUNCTION + return fn[0] == 0 || std::strcmp( fn, "main" ) == 0? cfn: fn; +} + int main() { try @@ -40,14 +47,14 @@ int main() int const * line = boost::get_error_info( x ); BOOST_TEST( line != 0 ); - BOOST_TEST_EQ( *line, 28 ); + BOOST_TEST_EQ( *line, 35 ); } { char const * const * function = boost::get_error_info( x ); BOOST_TEST( function != 0 ); - BOOST_TEST_CSTR_EQ( *function, BOOST_CURRENT_FUNCTION ); + BOOST_TEST_CSTR_EQ( translate_function( *function, BOOST_CURRENT_FUNCTION ), BOOST_CURRENT_FUNCTION ); } } @@ -68,14 +75,14 @@ int main() int const * line = boost::get_error_info( x ); BOOST_TEST( line != 0 ); - BOOST_TEST_EQ( *line, 56 ); + BOOST_TEST_EQ( *line, 63 ); } { char const * const * function = boost::get_error_info( x ); BOOST_TEST( function != 0 ); - BOOST_TEST_CSTR_EQ( *function, BOOST_CURRENT_FUNCTION ); + BOOST_TEST_CSTR_EQ( translate_function( *function, BOOST_CURRENT_FUNCTION ), BOOST_CURRENT_FUNCTION ); } } @@ -96,14 +103,14 @@ int main() int const * line = boost::get_error_info( x ); BOOST_TEST( line != 0 ); - BOOST_TEST_EQ( *line, 84 ); + BOOST_TEST_EQ( *line, 91 ); } { char const * const * function = boost::get_error_info( x ); BOOST_TEST( function != 0 ); - BOOST_TEST_CSTR_EQ( *function, BOOST_CURRENT_FUNCTION ); + BOOST_TEST_CSTR_EQ( translate_function( *function, BOOST_CURRENT_FUNCTION ), BOOST_CURRENT_FUNCTION ); } }