Update throw_exception_test4.cpp to reflect changes to function name coming from BOOST_CURRENT_LOCATION

This commit is contained in:
Peter Dimov
2022-02-08 16:55:28 +02:00
parent d0f136e079
commit dbbbb71232

View File

@ -8,6 +8,7 @@
#include <boost/throw_exception.hpp> #include <boost/throw_exception.hpp>
#include <boost/exception/get_error_info.hpp> #include <boost/exception/get_error_info.hpp>
#include <boost/detail/lightweight_test.hpp> #include <boost/detail/lightweight_test.hpp>
#include <cstring>
class my_exception: public std::exception 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() int main()
{ {
try try
@ -40,14 +47,14 @@ int main()
int const * line = boost::get_error_info<boost::throw_line>( x ); int const * line = boost::get_error_info<boost::throw_line>( x );
BOOST_TEST( line != 0 ); BOOST_TEST( line != 0 );
BOOST_TEST_EQ( *line, 28 ); BOOST_TEST_EQ( *line, 35 );
} }
{ {
char const * const * function = boost::get_error_info<boost::throw_function>( x ); char const * const * function = boost::get_error_info<boost::throw_function>( x );
BOOST_TEST( function != 0 ); 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<boost::throw_line>( x ); int const * line = boost::get_error_info<boost::throw_line>( x );
BOOST_TEST( line != 0 ); BOOST_TEST( line != 0 );
BOOST_TEST_EQ( *line, 56 ); BOOST_TEST_EQ( *line, 63 );
} }
{ {
char const * const * function = boost::get_error_info<boost::throw_function>( x ); char const * const * function = boost::get_error_info<boost::throw_function>( x );
BOOST_TEST( function != 0 ); 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<boost::throw_line>( x ); int const * line = boost::get_error_info<boost::throw_line>( x );
BOOST_TEST( line != 0 ); BOOST_TEST( line != 0 );
BOOST_TEST_EQ( *line, 84 ); BOOST_TEST_EQ( *line, 91 );
} }
{ {
char const * const * function = boost::get_error_info<boost::throw_function>( x ); char const * const * function = boost::get_error_info<boost::throw_function>( x );
BOOST_TEST( function != 0 ); 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 );
} }
} }