Utility stuff for more convenient using of Boost.Test library. More...
#include <corelib/expr.hpp>
#include <corelib/request_ctx.hpp>
#include <corelib/ncbisys.hpp>
#include <corelib/ncbimtx.hpp>
#include <boost/version.hpp>
#include <boost/test/unit_test.hpp>
#include <boost/test/floating_point_comparison.hpp>
#include <boost/test/framework.hpp>
#include <boost/test/execution_monitor.hpp>
#include <boost/test/parameterized_test.hpp>
#include <boost/test/results_collector.hpp>
#include <boost/preprocessor/tuple/rem.hpp>
#include <boost/preprocessor/repeat.hpp>
#include <boost/preprocessor/array/elem.hpp>
#include <boost/preprocessor/arithmetic/inc.hpp>
#include <common/boost_skew_guard.hpp>
Go to the source code of this file.
Go to the SVN repository for this file.
#define BOOST_TEST_DETAIL_DUMMY_COND ::boost::test_tools::tt_detail::dummy_cond() #define BOOST_CHECK_THROW_IMPL_EX(S, E, P, prefix, TL, guard) #define BOOST_CHECK_NO_THROW_IMPL_EX(S, TL, guard) #define BOOST_THROW_AFFIX "exception " #define BOOST_EXCEPTION_AFFIX(P) "incorrect exception " #define BOOST_CHECK_THROW_IMPL(S, E, P, affix, TL) BOOST_CHECK_THROW_IMPL_EX( S, E, P, affix, TL, ) #define BOOST_CHECK_THROW_IMPL_MT_SAFE(S, E, P, affix, TL) #define BOOST_WARN_THROW_MT_SAFE(S, E) BOOST_CHECK_THROW_IMPL_MT_SAFE( S, E, true, BOOST_THROW_AFFIX, WARN ) #define BOOST_CHECK_THROW_MT_SAFE(S, E) BOOST_CHECK_THROW_IMPL_MT_SAFE( S, E, true, BOOST_THROW_AFFIX, CHECK ) #define BOOST_REQUIRE_THROW_MT_SAFE(S, E) BOOST_CHECK_THROW_IMPL_MT_SAFE( S, E, true, BOOST_THROW_AFFIX, REQUIRE ) #define BOOST_WARN_EXCEPTION_MT_SAFE(S, E, P) #define BOOST_CHECK_EXCEPTION_MT_SAFE(S, E, P) #define BOOST_REQUIRE_EXCEPTION_MT_SAFE(S, E, P) #define BOOST_CHECK_NO_THROW_IMPL(S, TL) BOOST_CHECK_NO_THROW_IMPL_EX( S, TL, ) #define BOOST_CHECK_NO_THROW_IMPL_MT_SAFE(S, TL) #define BOOST_WARN_NO_THROW_MT_SAFE(S) BOOST_CHECK_NO_THROW_IMPL_MT_SAFE( S, WARN ) #define BOOST_CHECK_NO_THROW_MT_SAFE(S) BOOST_CHECK_NO_THROW_IMPL_MT_SAFE( S, CHECK ) #define BOOST_REQUIRE_NO_THROW_MT_SAFE(S) BOOST_CHECK_NO_THROW_IMPL_MT_SAFE( S, REQUIRE ) #define NCBI_BOOST_LOCATION() #define NCBI_BOOST_DECORATOR_ARG #define BOOST_FIXTURE_TEST_CASE(test_name, F) #define BOOST_PARAM_TEST_CASE(function, begin, end) #define BOOST_AUTO_TEST_CASE_TIMEOUT(test_name, n) Set timeout value for the test case created using auto-registration facility. More...Utility stuff for more convenient using of Boost.Test library.
This header must be included before any Boost.Test header (if you have any).
Definition in file test_boost.hpp.
◆ BOOST_AUTO_PARAM_TEST_CASE #define BOOST_AUTO_PARAM_TEST_CASE ( function, begin, end ) Value:BOOST_AUTO_TU_REGISTRAR(function) ( \
BOOST_PARAM_TEST_CASE(function, begin, end) \
NCBI_BOOST_DECORATOR_ARG) \
Automatic registration of the set of test cases based on some function accepting one parameter.
Set of parameters used to call that function is taken from iterator 'begin' which is incremented until it reaches 'end'.
Definition at line 429 of file test_boost.hpp.
◆ BOOST_AUTO_TEST_CASE_TIMEOUT #define BOOST_AUTO_TEST_CASE_TIMEOUT ( test_name, n ) Value: structBOOST_AUTO_TC_UNIQUE_ID(
test_name); \
\
static
structBOOST_JOIN(
test_name, _timeout_spec ) \
{ \
{} \
} BOOST_JOIN(
test_name, _timeout_spec_inst ); \
static char test_name[128]
#define NCBI_NS_NCBI
Define the name for the NCBI namespace.
Copy of auto_tc_exp_fail from Boost.Test to store the value of timeout for each test.
Set timeout value for the test case created using auto-registration facility.
Definition at line 410 of file test_boost.hpp.
◆ BOOST_CHECK_CLOSE_MT_SAFE ◆ BOOST_CHECK_EQUAL_COLLECTIONS_MT_SAFE ◆ BOOST_CHECK_EQUAL_MT_SAFE #define BOOST_CHECK_EQUAL_MT_SAFE ( L, R ) Value:#define BOOST_CHECK_WITH_2_ARGS_IMPL_MT_SAFE(P, descr, TL, CT, A1, A2)
Definition at line 701 of file test_boost.hpp.
◆ BOOST_CHECK_EXCEPTION_MT_SAFE #define BOOST_CHECK_EXCEPTION_MT_SAFE ( S, E, P ) Value:#define BOOST_CHECK_THROW_IMPL_MT_SAFE(S, E, P, affix, TL)
#define BOOST_EXCEPTION_AFFIX(P)
Definition at line 268 of file test_boost.hpp.
◆ BOOST_CHECK_IMPL_MT_SAFE #define BOOST_CHECK_IMPL_MT_SAFE ( P, check_descr, TL, CT ) Value:do { \
bool _ncbitest_value = (
P);
\BOOST_CHECK_IMPL( _ncbitest_value, check_descr, TL, CT ); \
} while ( ::boost::test_tools::dummy_cond )
CAutoInitializeStaticFastMutex g_NcbiTestMutex
TFastMutexGuard CFastMutexGuard
...and backward compatibility
Definition at line 570 of file test_boost.hpp.
◆ BOOST_CHECK_MESSAGE_MT_SAFE ◆ BOOST_CHECK_MT_SAFE ◆ BOOST_CHECK_NE_MT_SAFE ◆ BOOST_CHECK_NO_THROW_IMPL ◆ BOOST_CHECK_NO_THROW_IMPL_EX #define BOOST_CHECK_NO_THROW_IMPL_EX ( S, TL, guard ) Value:try { \
S; \
guard; \
BOOST_CHECK_IMPL(
true,
"no exceptions thrown by "BOOST_STRINGIZE(
S), \
TL, CHECK_MSG ); \
} \
catch (std::exception& ex) { \
guard; \
BOOST_CHECK_IMPL( false, "an std::exception was thrown by " \
BOOST_STRINGIZE(
S)
" : "<< ex.what(), \
TL, CHECK_MSG); \
} \
catch( ... ) { \
guard; \
BOOST_CHECK_IMPL( false, "a nonstandard exception thrown by " \
TL, CHECK_MSG ); \
} \
Definition at line 224 of file test_boost.hpp.
◆ BOOST_CHECK_NO_THROW_IMPL_MT_SAFE #define BOOST_CHECK_NO_THROW_IMPL_MT_SAFE ( S, TL ) Value:_ncbitest_guard( \
#define BOOST_CHECK_NO_THROW_IMPL_EX(S, TL, guard)
Definition at line 277 of file test_boost.hpp.
◆ BOOST_CHECK_NO_THROW_MT_SAFE ◆ BOOST_CHECK_THROW_IMPL ◆ BOOST_CHECK_THROW_IMPL_EX #define BOOST_CHECK_THROW_IMPL_EX ( S, E, P, prefix, TL, guard ) Value:try { \
BOOST_TEST_PASSPOINT(); \
S; \
guard; \
BOOST_CHECK_IMPL(
false,
"exception "BOOST_STRINGIZE(
E) \
" is expected", TL, CHECK_MSG ); } \
catch(
E const& ex ) { \
boost::unit_test::ut_detail::ignore_unused_variable_warning( ex ); \
guard; \
BOOST_CHECK_IMPL(
P, prefix BOOST_STRINGIZE(
E)
" is caught", \
TL, CHECK_MSG ); \
} \
catch (...) { \
guard; \
BOOST_CHECK_IMPL(false, "an unexpected exception was thrown by " \
TL, CHECK_MSG); \
} \
Definition at line 203 of file test_boost.hpp.
◆ BOOST_CHECK_THROW_IMPL_MT_SAFE #define BOOST_CHECK_THROW_IMPL_MT_SAFE ( S, E, P, affix, TL ) Value:#define BOOST_CHECK_THROW_IMPL_EX(S, E, P, prefix, TL, guard)
Definition at line 253 of file test_boost.hpp.
◆ BOOST_CHECK_THROW_MT_SAFE ◆ BOOST_CHECK_WITH_2_ARGS_IMPL_MT_SAFE #define BOOST_CHECK_WITH_2_ARGS_IMPL_MT_SAFE ( P, descr, TL, CT, A1, A2 ) Value:do { \
auto _ncbitest_value1 =
A1; \
auto _ncbitest_value2 =
A2;
\BOOST_TEST_PASSPOINT(); \
BOOST_TEST_TOOL_IMPL( check_frwd, \
descr, TL, CT ) \
(_ncbitest_value1)(BOOST_STRINGIZE(
A1)) \
(_ncbitest_value2)(BOOST_STRINGIZE(
A2)))); \
} while ( ::boost::test_tools::dummy_cond )
#define BOOST_TEST_TOOL_PASS_ARG_ONLY(r, _, arg)
Definition at line 578 of file test_boost.hpp.
◆ BOOST_CLOSE_IMPL_MT_SAFE #define BOOST_CLOSE_IMPL_MT_SAFE ( L, R, T, TL ) Value:do { \
auto _ncbitest_l = L; \
BOOST_TEST_PASSPOINT(); \
BOOST_TEST_TOOL_IMPL(check_frwd, ::boost::test_tools::check_is_close, \
"", TL, CHECK_CLOSE) \
(_ncbitest_l)(BOOST_STRINGIZE(L)) \
(_ncbitest_r)(BOOST_STRINGIZE(
R)) \
(_ncbitest_t)(""))); \
} while ( ::boost::test_tools::dummy_cond )
percent_tolerance_t< FPT > percent_tolerance(FPT v)
Definition at line 593 of file test_boost.hpp.
◆ BOOST_EQUAL_COLLECTIONS_IMPL_MT_SAFE #define BOOST_EQUAL_COLLECTIONS_IMPL_MT_SAFE ( LB, LE, RB, RE, TL ) Value:BOOST_EQUAL_COLLECTIONS_IMPL( LB,
LE, RB, RE, TL ); \
} while( ::boost::test_tools::dummy_cond )
Definition at line 609 of file test_boost.hpp.
◆ BOOST_ERROR_MT_SAFE ◆ BOOST_EXCEPTION_AFFIX #define BOOST_EXCEPTION_AFFIX ( P ) "incorrect exception "Definition at line 248 of file test_boost.hpp.
◆ BOOST_FAIL_MT_SAFE ◆ BOOST_FIXTURE_TEST_CASE ◆ BOOST_PARAM_TEST_CASE #define BOOST_PARAM_TEST_CASE ( function, begin, end ) Value:BOOST_TEST_STRINGIZE( function ), \
(begin), (end) ) \
CNcbiTestParamTestCaseGenerator< ParamType, ParamIter > NcbiTestGenTestCases(typename CNcbiTestParamTestCaseGenerator< ParamType, ParamIter >::TTestFunc const &test_func, boost::unit_test::const_string name, ParamIter par_begin, ParamIter par_end)
Helper functions to be used in BOOST_PARAM_TEST_CASE macro to create special test case generator.
Definition at line 402 of file test_boost.hpp.
◆ BOOST_REQUIRE_CLOSE_MT_SAFE ◆ BOOST_REQUIRE_EQUAL_COLLECTIONS_MT_SAFE ◆ BOOST_REQUIRE_EQUAL_MT_SAFE #define BOOST_REQUIRE_EQUAL_MT_SAFE ( L, R ) ◆ BOOST_REQUIRE_EXCEPTION_MT_SAFE #define BOOST_REQUIRE_EXCEPTION_MT_SAFE ( S, E, P ) ◆ BOOST_REQUIRE_MESSAGE_MT_SAFE ◆ BOOST_REQUIRE_MT_SAFE #define BOOST_REQUIRE_MT_SAFE ( P ) Value:CHECK_PRED )
#define BOOST_CHECK_IMPL_MT_SAFE(P, check_descr, TL, CT)
Definition at line 687 of file test_boost.hpp.
◆ BOOST_REQUIRE_NE_MT_SAFE ◆ BOOST_REQUIRE_NO_THROW_MT_SAFE ◆ BOOST_REQUIRE_THROW_MT_SAFE ◆ BOOST_TEST_DETAIL_DUMMY_COND #define BOOST_TEST_DETAIL_DUMMY_COND ::boost::test_tools::tt_detail::dummy_cond()Definition at line 119 of file test_boost.hpp.
◆ BOOST_TEST_MESSAGE_MT_SAFE #define BOOST_TEST_MESSAGE_MT_SAFE ( M ) Value:BOOST_TEST_MESSAGE(
M); \
} while (false)
Definition at line 718 of file test_boost.hpp.
◆ BOOST_TEST_TOOL_PASS_ARG_ONLY #define BOOST_TEST_TOOL_PASS_ARG_ONLY ( r, _, arg ) , argDefinition at line 444 of file test_boost.hpp.
◆ BOOST_THROW_AFFIX #define BOOST_THROW_AFFIX "exception "Definition at line 247 of file test_boost.hpp.
◆ BOOST_TIMEOUT #define BOOST_TIMEOUT ( M ) Value:do { \
throw boost::execution_exception( \
boost::execution_exception::timeout_error,
M\
} while (0) \
#define NCBI_BOOST_LOCATION()
Definition at line 435 of file test_boost.hpp.
◆ BOOST_WARN_CLOSE_MT_SAFE ◆ BOOST_WARN_EQUAL_COLLECTIONS_MT_SAFE ◆ BOOST_WARN_EQUAL_MT_SAFE #define BOOST_WARN_EQUAL_MT_SAFE ( L, R ) ◆ BOOST_WARN_EXCEPTION_MT_SAFE #define BOOST_WARN_EXCEPTION_MT_SAFE ( S, E, P ) ◆ BOOST_WARN_MESSAGE_MT_SAFE ◆ BOOST_WARN_MT_SAFE ◆ BOOST_WARN_NE_MT_SAFE ◆ BOOST_WARN_NO_THROW_MT_SAFE ◆ BOOST_WARN_THROW_MT_SAFE ◆ NCBI_BOOST_DECORATOR_ARG ◆ NCBI_BOOST_LOCATION ◆ NCBITEST_CHECK ◆ NCBITEST_CHECK_EQUAL ◆ NCBITEST_CHECK_EQUAL_MT_SAFE #define NCBITEST_CHECK_EQUAL_MT_SAFE ( L, R ) Value:#define NCBITEST_CHECK_WITH_2_ARGS_IMPL_MT_SAFE(P, descr, TL, CT, A1, A2)
Definition at line 657 of file test_boost.hpp.
◆ NCBITEST_CHECK_IMPL ◆ NCBITEST_CHECK_IMPL_MT_SAFE #define NCBITEST_CHECK_IMPL_MT_SAFE ( P, check_descr, TL, CT ) Value:do { \
BOOST_CHECK_NO_THROW_IMPL_EX(_ncbitest_value = (
P), TL, \
BOOST_CHECK_IMPL(_ncbitest_value, check_descr, TL, CT); \
} while ( ::boost::test_tools::dummy_cond )
Definition at line 542 of file test_boost.hpp.
◆ NCBITEST_CHECK_MESSAGE ◆ NCBITEST_CHECK_MESSAGE_MT_SAFE ◆ NCBITEST_CHECK_MT_SAFE #define NCBITEST_CHECK_MT_SAFE ( P ) Value:CHECK_PRED )
#define NCBITEST_CHECK_IMPL_MT_SAFE(P, check_descr, TL, CT)
Definition at line 627 of file test_boost.hpp.
◆ NCBITEST_CHECK_NE ◆ NCBITEST_CHECK_NE_MT_SAFE #define NCBITEST_CHECK_NE_MT_SAFE ( L, R ) ◆ NCBITEST_CHECK_WITH_2_ARGS_IMPL_MT_SAFE #define NCBITEST_CHECK_WITH_2_ARGS_IMPL_MT_SAFE ( P, descr, TL, CT, A1, A2 ) Value:do { \
std::decay<decltype(
A1)>
::type_ncbitest_value1; \
std::decay<decltype(
A2)>
::type_ncbitest_value2;
\BOOST_CHECK_NO_THROW_IMPL_EX( \
_ncbitest_value1 = (
A1); _ncbitest_value2 = (
A2);, TL, \
\
BOOST_TEST_TOOL_IMPL( check_frwd, \
descr, TL, CT ) \
(_ncbitest_value1)(BOOST_STRINGIZE(
A1)) \
(_ncbitest_value2)(BOOST_STRINGIZE(
A2)))); \
} while ( ::boost::test_tools::dummy_cond )
Definition at line 552 of file test_boost.hpp.
◆ NCBITEST_CHECK_WITH_ARGS_IMPL #define NCBITEST_CHECK_WITH_ARGS_IMPL ( P, check_descr, TL, CT, ARGS ) Value:#define BOOST_CHECK_NO_THROW_IMPL(S, TL)
Definition at line 538 of file test_boost.hpp.
◆ NCBITEST_REQUIRE ◆ NCBITEST_REQUIRE_EQUAL ◆ NCBITEST_REQUIRE_EQUAL_MT_SAFE #define NCBITEST_REQUIRE_EQUAL_MT_SAFE ( L, R ) ◆ NCBITEST_REQUIRE_MESSAGE ◆ NCBITEST_REQUIRE_MESSAGE_MT_SAFE ◆ NCBITEST_REQUIRE_MT_SAFE #define NCBITEST_REQUIRE_MT_SAFE ( P ) ◆ NCBITEST_REQUIRE_NE ◆ NCBITEST_REQUIRE_NE_MT_SAFE #define NCBITEST_REQUIRE_NE_MT_SAFE ( L, R ) ◆ NCBITEST_WARN ◆ NCBITEST_WARN_EQUAL ◆ NCBITEST_WARN_EQUAL_MT_SAFE #define NCBITEST_WARN_EQUAL_MT_SAFE ( L, R ) ◆ NCBITEST_WARN_MESSAGE ◆ NCBITEST_WARN_MESSAGE_MT_SAFE ◆ NCBITEST_WARN_MT_SAFE #define NCBITEST_WARN_MT_SAFE ( P ) ◆ NCBITEST_WARN_NE ◆ NCBITEST_WARN_NE_MT_SAFE #define NCBITEST_WARN_NE_MT_SAFE ( L, R ) ◆ BOOST_CURRENT_TEST_PASSED() bool BOOST_CURRENT_TEST_PASSED ( ) inlineCheck that current boost test case passed (no exceptions or assertions) on the moment of calling this method.
This can be useful to ignore some unit code if (any) previos checks fails.
Definition at line 109 of file test_boost.hpp.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4