|
#define | CATCH_ALL_HPP_INCLUDED |
|
#define | CATCH_BENCHMARK_ALL_HPP_INCLUDED |
|
#define | CATCH_BENCHMARK_HPP_INCLUDED |
|
#define | CATCH_COMPILER_CAPABILITIES_HPP_INCLUDED |
|
#define | CATCH_PLATFORM_HPP_INCLUDED |
|
#define | CATCH_INTERNAL_CONFIG_POSIX_SIGNALS |
|
#define | CATCH_INTERNAL_CONFIG_GETENV |
|
#define | CATCH_INTERNAL_CONFIG_GLOBAL_NEXTAFTER |
|
#define | CATCH_CONFIG_POSIX_SIGNALS |
|
#define | CATCH_CONFIG_GETENV |
|
#define | CATCH_CONFIG_CPP11_TO_STRING |
|
#define | CATCH_CONFIG_DISABLE_EXCEPTIONS |
|
#define | CATCH_CONFIG_GLOBAL_NEXTAFTER |
|
#define | CATCH_INTERNAL_IGNORE_BUT_WARN(...) |
|
#define | CATCH_INTERNAL_START_WARNINGS_SUPPRESSION |
|
#define | CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION |
|
#define | CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS |
|
#define | CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS |
|
#define | CATCH_INTERNAL_SUPPRESS_UNUSED_RESULT |
|
#define | CATCH_INTERNAL_SUPPRESS_UNUSED_VARIABLE_WARNINGS |
|
#define | CATCH_INTERNAL_SUPPRESS_USELESS_CAST_WARNINGS |
|
#define | CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS |
|
#define | CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS |
|
#define | CATCH_INTERNAL_SUPPRESS_COMMA_WARNINGS |
|
#define | CATCH_INTERNAL_SUPPRESS_SHADOW_WARNINGS |
|
#define | CATCH_TRY if ((true)) |
|
#define | CATCH_CATCH_ALL if ((false)) |
|
#define | CATCH_CATCH_ANON(type) |
|
#define | CATCH_EXPORT |
|
#define | CATCH_CONTEXT_HPP_INCLUDED |
|
#define | CATCH_MOVE_AND_FORWARD_HPP_INCLUDED |
|
#define | CATCH_MOVE(...) |
| Replacement for std::move with better compile time performance.
|
|
#define | CATCH_FORWARD(...) |
| Replacement for std::forward with better compile time performance.
|
|
#define | CATCH_TEST_FAILURE_EXCEPTION_HPP_INCLUDED |
|
#define | CATCH_UNIQUE_NAME_HPP_INCLUDED |
|
#define | CATCH_CONFIG_COUNTER_HPP_INCLUDED |
|
#define | CATCH_INTERNAL_CONFIG_COUNTER |
|
#define | CATCH_CONFIG_COUNTER |
|
#define | INTERNAL_CATCH_UNIQUE_NAME_LINE2(name, line) |
|
#define | INTERNAL_CATCH_UNIQUE_NAME_LINE(name, line) |
|
#define | INTERNAL_CATCH_UNIQUE_NAME(name) |
|
#define | CATCH_INTERFACES_CAPTURE_HPP_INCLUDED |
|
#define | CATCH_STRINGREF_HPP_INCLUDED |
|
#define | CATCH_RESULT_TYPE_HPP_INCLUDED |
|
#define | CATCH_UNIQUE_PTR_HPP_INCLUDED |
|
#define | CATCH_BENCHMARK_STATS_FWD_HPP_INCLUDED |
|
#define | CATCH_CLOCK_HPP_INCLUDED |
|
#define | CATCH_INTERFACES_CONFIG_HPP_INCLUDED |
|
#define | CATCH_NONCOPYABLE_HPP_INCLUDED |
|
#define | CATCH_INTERFACES_REGISTRY_HUB_HPP_INCLUDED |
|
#define | CATCH_BENCHMARK_STATS_HPP_INCLUDED |
|
#define | CATCH_ESTIMATE_HPP_INCLUDED |
|
#define | CATCH_OUTLIER_CLASSIFICATION_HPP_INCLUDED |
|
#define | CATCH_ENVIRONMENT_HPP_INCLUDED |
|
#define | CATCH_EXECUTION_PLAN_HPP_INCLUDED |
|
#define | CATCH_BENCHMARK_FUNCTION_HPP_INCLUDED |
|
#define | CATCH_CHRONOMETER_HPP_INCLUDED |
|
#define | CATCH_OPTIMIZER_HPP_INCLUDED |
|
#define | CATCH_META_HPP_INCLUDED |
|
#define | CATCH_REPEAT_HPP_INCLUDED |
|
#define | CATCH_RUN_FOR_AT_LEAST_HPP_INCLUDED |
|
#define | CATCH_MEASURE_HPP_INCLUDED |
|
#define | CATCH_COMPLETE_INVOKE_HPP_INCLUDED |
|
#define | CATCH_TIMING_HPP_INCLUDED |
|
#define | CATCH_ESTIMATE_CLOCK_HPP_INCLUDED |
|
#define | CATCH_STATS_HPP_INCLUDED |
|
#define | CATCH_ANALYSE_HPP_INCLUDED |
|
#define | CATCH_SAMPLE_ANALYSIS_HPP_INCLUDED |
|
#define | INTERNAL_CATCH_GET_1_ARG(arg1, arg2, ...) |
|
#define | INTERNAL_CATCH_GET_2_ARG(arg1, arg2, ...) |
|
#define | INTERNAL_CATCH_BENCHMARK(BenchmarkName, name, benchmarkIndex) |
|
#define | INTERNAL_CATCH_BENCHMARK_ADVANCED(BenchmarkName, name) |
|
#define | BENCHMARK(...) |
|
#define | BENCHMARK_ADVANCED(name) |
|
#define | CATCH_CONSTRUCTOR_HPP_INCLUDED |
|
#define | CATCH_APPROX_HPP_INCLUDED |
|
#define | CATCH_TOSTRING_HPP_INCLUDED |
|
#define | CATCH_CONFIG_WCHAR_HPP_INCLUDED |
|
#define | CATCH_CONFIG_WCHAR |
|
#define | CATCH_REUSABLE_STRING_STREAM_HPP_INCLUDED |
|
#define | CATCH_VOID_TYPE_HPP_INCLUDED |
|
#define | CATCH_INTERFACES_ENUM_VALUES_REGISTRY_HPP_INCLUDED |
|
#define | INTERNAL_CATCH_REGISTER_ENUM(enumName, ...) |
|
#define | CATCH_REGISTER_ENUM(enumName, ...) |
|
#define | CATCH_ASSERTION_INFO_HPP_INCLUDED |
|
#define | CATCH_SOURCE_LINE_INFO_HPP_INCLUDED |
|
#define | CATCH_INTERNAL_LINEINFO ::Catch::SourceLineInfo( __FILE__, static_cast<std::size_t>( __LINE__ ) ) |
|
#define | CATCH_ASSERTION_RESULT_HPP_INCLUDED |
|
#define | CATCH_LAZY_EXPR_HPP_INCLUDED |
|
#define | CATCH_CASE_SENSITIVE_HPP_INCLUDED |
|
#define | CATCH_CONFIG_HPP_INCLUDED |
|
#define | CATCH_TEST_SPEC_HPP_INCLUDED |
|
#define | CATCH_WILDCARD_PATTERN_HPP_INCLUDED |
|
#define | CATCH_OPTIONAL_HPP_INCLUDED |
|
#define | CATCH_RANDOM_SEED_GENERATION_HPP_INCLUDED |
|
#define | CATCH_REPORTER_SPEC_PARSER_HPP_INCLUDED |
|
#define | CATCH_GET_RANDOM_SEED_HPP_INCLUDED |
|
#define | CATCH_MESSAGE_HPP_INCLUDED |
|
#define | CATCH_CONFIG_PREFIX_MESSAGES_HPP_INCLUDED |
|
#define | CATCH_STREAM_END_STOP_HPP_INCLUDED |
|
#define | CATCH_MESSAGE_INFO_HPP_INCLUDED |
|
#define | INTERNAL_CATCH_MSG(macroName, messageType, resultDisposition, ...) |
|
#define | INTERNAL_CATCH_CAPTURE(varName, macroName, ...) |
|
#define | INTERNAL_CATCH_INFO(macroName, log) |
|
#define | INTERNAL_CATCH_UNSCOPED_INFO(macroName, log) |
|
#define | INFO(msg) |
|
#define | UNSCOPED_INFO(msg) |
|
#define | WARN(msg) |
|
#define | CAPTURE(...) |
|
#define | CATCH_SECTION_INFO_HPP_INCLUDED |
|
#define | CATCH_TOTALS_HPP_INCLUDED |
|
#define | CATCH_SESSION_HPP_INCLUDED |
|
#define | CATCH_COMMANDLINE_HPP_INCLUDED |
|
#define | CATCH_CLARA_HPP_INCLUDED |
|
#define | CATCH_TAG_ALIAS_HPP_INCLUDED |
|
#define | CATCH_TAG_ALIAS_AUTOREGISTRAR_HPP_INCLUDED |
|
#define | CATCH_REGISTER_TAG_ALIAS(alias, spec) |
|
#define | CATCH_TEMPLATE_TEST_MACROS_HPP_INCLUDED |
|
#define | CATCH_TEST_MACROS_HPP_INCLUDED |
|
#define | CATCH_TEST_MACRO_IMPL_HPP_INCLUDED |
|
#define | CATCH_ASSERTION_HANDLER_HPP_INCLUDED |
|
#define | CATCH_DECOMPOSER_HPP_INCLUDED |
|
#define | CATCH_COMPARE_TRAITS_HPP_INCLUDED |
|
#define | CATCH_DEFINE_COMPARABLE_TRAIT(id, op) |
|
#define | CATCH_LOGICAL_TRAITS_HPP_INCLUDED |
|
#define | CATCH_INTERNAL_DEFINE_EXPRESSION_EQUALITY_OPERATOR(id, op) |
|
#define | CATCH_INTERNAL_DEFINE_EXPRESSION_COMPARISON_OPERATOR(id, op) |
|
#define | CATCH_INTERNAL_DEFINE_EXPRESSION_OPERATOR(op) |
|
#define | CATCH_PREPROCESSOR_INTERNAL_STRINGIFY_HPP_INCLUDED |
|
#define | CATCH_INTERNAL_STRINGIFY(...) |
|
#define | INTERNAL_CATCH_TRY |
|
#define | INTERNAL_CATCH_CATCH(capturer) |
|
#define | INTERNAL_CATCH_TEST(macroName, resultDisposition, ...) |
|
#define | INTERNAL_CATCH_IF(macroName, resultDisposition, ...) |
|
#define | INTERNAL_CATCH_ELSE(macroName, resultDisposition, ...) |
|
#define | INTERNAL_CATCH_NO_THROW(macroName, resultDisposition, ...) |
|
#define | INTERNAL_CATCH_THROWS(macroName, resultDisposition, ...) |
|
#define | INTERNAL_CATCH_THROWS_AS(macroName, exceptionType, resultDisposition, expr) |
|
#define | INTERNAL_CATCH_THROWS_STR_MATCHES(macroName, resultDisposition, matcher, ...) |
|
#define | CATCH_SECTION_HPP_INCLUDED |
|
#define | CATCH_CONFIG_STATIC_ANALYSIS_SUPPORT_HPP_INCLUDED |
|
#define | CATCH_TIMER_HPP_INCLUDED |
|
#define | INTERNAL_CATCH_SECTION(...) |
|
#define | INTERNAL_CATCH_DYNAMIC_SECTION(...) |
|
#define | CATCH_TEST_REGISTRY_HPP_INCLUDED |
|
#define | CATCH_INTERFACES_TEST_INVOKER_HPP_INCLUDED |
|
#define | CATCH_PREPROCESSOR_REMOVE_PARENS_HPP_INCLUDED |
|
#define | INTERNAL_CATCH_EXPAND1(param) |
|
#define | INTERNAL_CATCH_EXPAND2(...) |
|
#define | INTERNAL_CATCH_DEF(...) |
|
#define | INTERNAL_CATCH_NOINTERNAL_CATCH_DEF |
|
#define | INTERNAL_CATCH_REMOVE_PARENS(...) |
|
#define | INTERNAL_CATCH_TESTCASE2(TestName, ...) |
|
#define | INTERNAL_CATCH_TESTCASE(...) |
|
#define | INTERNAL_CATCH_TEST_CASE_METHOD2(TestName, ClassName, ...) |
|
#define | INTERNAL_CATCH_TEST_CASE_METHOD(ClassName, ...) |
|
#define | INTERNAL_CATCH_TEST_CASE_PERSISTENT_FIXTURE2(TestName, ClassName, ...) |
|
#define | INTERNAL_CATCH_TEST_CASE_PERSISTENT_FIXTURE(ClassName, ...) |
|
#define | INTERNAL_CATCH_METHOD_AS_TEST_CASE(QualifiedMethod, ...) |
|
#define | INTERNAL_CATCH_REGISTER_TESTCASE(Function, ...) |
|
#define | REQUIRE(...) |
|
#define | REQUIRE_FALSE(...) |
|
#define | REQUIRE_THROWS(...) |
|
#define | REQUIRE_THROWS_AS(expr, exceptionType) |
|
#define | REQUIRE_NOTHROW(...) |
|
#define | CHECK(...) |
|
#define | CHECK_FALSE(...) |
|
#define | CHECKED_IF(...) |
|
#define | CHECKED_ELSE(...) |
|
#define | CHECK_NOFAIL(...) |
|
#define | CHECK_THROWS(...) |
|
#define | CHECK_THROWS_AS(expr, exceptionType) |
|
#define | CHECK_NOTHROW(...) |
|
#define | TEST_CASE(...) |
|
#define | TEST_CASE_METHOD(className, ...) |
|
#define | METHOD_AS_TEST_CASE(method, ...) |
|
#define | TEST_CASE_PERSISTENT_FIXTURE(className, ...) |
|
#define | REGISTER_TEST_CASE(Function, ...) |
|
#define | SECTION(...) |
|
#define | DYNAMIC_SECTION(...) |
|
#define | FAIL(...) |
|
#define | FAIL_CHECK(...) |
|
#define | SUCCEED(...) |
|
#define | SKIP(...) |
|
#define | STATIC_REQUIRE(...) |
|
#define | STATIC_REQUIRE_FALSE(...) |
|
#define | STATIC_CHECK(...) |
|
#define | STATIC_CHECK_FALSE(...) |
|
#define | SCENARIO(...) |
|
#define | SCENARIO_METHOD(className, ...) |
|
#define | GIVEN(desc) |
|
#define | AND_GIVEN(desc) |
|
#define | WHEN(desc) |
|
#define | AND_WHEN(desc) |
|
#define | THEN(desc) |
|
#define | AND_THEN(desc) |
|
#define | CATCH_TEMPLATE_TEST_REGISTRY_HPP_INCLUDED |
|
#define | CATCH_PREPROCESSOR_HPP_INCLUDED |
|
#define | CATCH_RECURSION_LEVEL0(...) |
|
#define | CATCH_RECURSION_LEVEL1(...) |
|
#define | CATCH_RECURSION_LEVEL2(...) |
|
#define | CATCH_RECURSION_LEVEL3(...) |
|
#define | CATCH_RECURSION_LEVEL4(...) |
|
#define | CATCH_RECURSION_LEVEL5(...) |
|
#define | CATCH_RECURSE(...) |
|
#define | CATCH_REC_END(...) |
|
#define | CATCH_REC_OUT |
|
#define | CATCH_EMPTY() |
|
#define | CATCH_DEFER(id) |
|
#define | CATCH_REC_GET_END2() |
|
#define | CATCH_REC_GET_END1(...) |
|
#define | CATCH_REC_GET_END(...) |
|
#define | CATCH_REC_NEXT0(test, next, ...) |
|
#define | CATCH_REC_NEXT1(test, next) |
|
#define | CATCH_REC_NEXT(test, next) |
|
#define | CATCH_REC_LIST0(f, x, peek, ...) |
|
#define | CATCH_REC_LIST1(f, x, peek, ...) |
|
#define | CATCH_REC_LIST2(f, x, peek, ...) |
|
#define | CATCH_REC_LIST0_UD(f, userdata, x, peek, ...) |
|
#define | CATCH_REC_LIST1_UD(f, userdata, x, peek, ...) |
|
#define | CATCH_REC_LIST2_UD(f, userdata, x, peek, ...) |
|
#define | CATCH_REC_LIST_UD(f, userdata, ...) |
|
#define | CATCH_REC_LIST(f, ...) |
|
#define | INTERNAL_CATCH_STRINGIZE(...) |
|
#define | INTERNAL_CATCH_STRINGIZE2(...) |
|
#define | INTERNAL_CATCH_STRINGIZE_WITHOUT_PARENS(param) |
|
#define | INTERNAL_CATCH_MAKE_NAMESPACE2(...) |
|
#define | INTERNAL_CATCH_MAKE_NAMESPACE(name) |
|
#define | INTERNAL_CATCH_MAKE_TYPE_LIST2(...) |
|
#define | INTERNAL_CATCH_MAKE_TYPE_LIST(...) |
|
#define | INTERNAL_CATCH_MAKE_TYPE_LISTS_FROM_TYPES(...) |
|
#define | INTERNAL_CATCH_REMOVE_PARENS_1_ARG(_0) |
|
#define | INTERNAL_CATCH_REMOVE_PARENS_2_ARG(_0, _1) |
|
#define | INTERNAL_CATCH_REMOVE_PARENS_3_ARG(_0, _1, _2) |
|
#define | INTERNAL_CATCH_REMOVE_PARENS_4_ARG(_0, _1, _2, _3) |
|
#define | INTERNAL_CATCH_REMOVE_PARENS_5_ARG(_0, _1, _2, _3, _4) |
|
#define | INTERNAL_CATCH_REMOVE_PARENS_6_ARG(_0, _1, _2, _3, _4, _5) |
|
#define | INTERNAL_CATCH_REMOVE_PARENS_7_ARG(_0, _1, _2, _3, _4, _5, _6) |
|
#define | INTERNAL_CATCH_REMOVE_PARENS_8_ARG(_0, _1, _2, _3, _4, _5, _6, _7) |
|
#define | INTERNAL_CATCH_REMOVE_PARENS_9_ARG(_0, _1, _2, _3, _4, _5, _6, _7, _8) |
|
#define | INTERNAL_CATCH_REMOVE_PARENS_10_ARG(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9) |
|
#define | INTERNAL_CATCH_REMOVE_PARENS_11_ARG(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10) |
|
#define | INTERNAL_CATCH_VA_NARGS_IMPL(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, N, ...) |
|
#define | INTERNAL_CATCH_TYPE_GEN |
|
#define | INTERNAL_CATCH_NTTP_1(signature, ...) |
|
#define | INTERNAL_CATCH_DECLARE_SIG_TEST0(TestName) |
|
#define | INTERNAL_CATCH_DECLARE_SIG_TEST1(TestName, signature) |
|
#define | INTERNAL_CATCH_DECLARE_SIG_TEST_X(TestName, signature, ...) |
|
#define | INTERNAL_CATCH_DEFINE_SIG_TEST0(TestName) |
|
#define | INTERNAL_CATCH_DEFINE_SIG_TEST1(TestName, signature) |
|
#define | INTERNAL_CATCH_DEFINE_SIG_TEST_X(TestName, signature, ...) |
|
#define | INTERNAL_CATCH_NTTP_REGISTER0(TestFunc, signature) |
|
#define | INTERNAL_CATCH_NTTP_REGISTER(TestFunc, signature, ...) |
|
#define | INTERNAL_CATCH_NTTP_REGISTER_METHOD0(TestName, signature, ...) |
|
#define | INTERNAL_CATCH_NTTP_REGISTER_METHOD(TestName, signature, ...) |
|
#define | INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD0(TestName, ClassName) |
|
#define | INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD1(TestName, ClassName, signature) |
|
#define | INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X(TestName, ClassName, signature, ...) |
|
#define | INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD0(TestName) |
|
#define | INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD1(TestName, signature) |
|
#define | INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X(TestName, signature, ...) |
|
#define | INTERNAL_CATCH_NTTP_0 |
|
#define | INTERNAL_CATCH_NTTP_GEN(...) |
|
#define | INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD(TestName, ...) |
|
#define | INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD(TestName, ClassName, ...) |
|
#define | INTERNAL_CATCH_NTTP_REG_METHOD_GEN(TestName, ...) |
|
#define | INTERNAL_CATCH_NTTP_REG_GEN(TestFunc, ...) |
|
#define | INTERNAL_CATCH_DEFINE_SIG_TEST(TestName, ...) |
|
#define | INTERNAL_CATCH_DECLARE_SIG_TEST(TestName, ...) |
|
#define | INTERNAL_CATCH_REMOVE_PARENS_GEN(...) |
|
#define | INTERNAL_CATCH_TEMPLATE_TEST_CASE_2(TestName, TestFunc, Name, Tags, Signature, ...) |
|
#define | INTERNAL_CATCH_TEMPLATE_TEST_CASE(Name, Tags, ...) |
|
#define | INTERNAL_CATCH_TEMPLATE_TEST_CASE_SIG(Name, Tags, Signature, ...) |
|
#define | INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2(TestName, TestFuncName, Name, Tags, Signature, TmplTypes, TypesList) |
|
#define | INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE(Name, Tags, ...) |
|
#define | INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_SIG(Name, Tags, Signature, ...) |
|
#define | INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_2(TestName, TestFunc, Name, Tags, TmplList) |
|
#define | INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE(Name, Tags, TmplList) |
|
#define | INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2(TestNameClass, TestName, ClassName, Name, Tags, Signature, ...) |
|
#define | INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD(ClassName, Name, Tags, ...) |
|
#define | INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_SIG(ClassName, Name, Tags, Signature, ...) |
|
#define | INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2(TestNameClass, TestName, ClassName, Name, Tags, Signature, TmplTypes, TypesList) |
|
#define | INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD(ClassName, Name, Tags, ...) |
|
#define | INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG(ClassName, Name, Tags, Signature, ...) |
|
#define | INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_METHOD_2(TestNameClass, TestName, ClassName, Name, Tags, TmplList) |
|
#define | INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_METHOD(ClassName, Name, Tags, TmplList) |
|
#define | TEMPLATE_TEST_CASE(...) |
|
#define | TEMPLATE_TEST_CASE_SIG(...) |
|
#define | TEMPLATE_TEST_CASE_METHOD(className, ...) |
|
#define | TEMPLATE_TEST_CASE_METHOD_SIG(className, ...) |
|
#define | TEMPLATE_PRODUCT_TEST_CASE(...) |
|
#define | TEMPLATE_PRODUCT_TEST_CASE_SIG(...) |
|
#define | TEMPLATE_PRODUCT_TEST_CASE_METHOD(className, ...) |
|
#define | TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG(className, ...) |
|
#define | TEMPLATE_LIST_TEST_CASE(...) |
|
#define | TEMPLATE_LIST_TEST_CASE_METHOD(className, ...) |
|
#define | CATCH_TEST_CASE_INFO_HPP_INCLUDED |
|
#define | CATCH_TRANSLATE_EXCEPTION_HPP_INCLUDED |
|
#define | CATCH_INTERFACES_EXCEPTION_HPP_INCLUDED |
|
#define | INTERNAL_CATCH_TRANSLATE_EXCEPTION2(translatorName, signature) |
|
#define | INTERNAL_CATCH_TRANSLATE_EXCEPTION(signature) |
|
#define | CATCH_TRANSLATE_EXCEPTION(signature) |
|
#define | CATCH_VERSION_HPP_INCLUDED |
|
#define | CATCH_VERSION_MACROS_HPP_INCLUDED |
|
#define | CATCH_VERSION_MAJOR 3 |
|
#define | CATCH_VERSION_MINOR 8 |
|
#define | CATCH_VERSION_PATCH 1 |
|
#define | CATCH_GENERATORS_ALL_HPP_INCLUDED |
|
#define | CATCH_GENERATOR_EXCEPTION_HPP_INCLUDED |
|
#define | CATCH_GENERATORS_HPP_INCLUDED |
|
#define | CATCH_INTERFACES_GENERATORTRACKER_HPP_INCLUDED |
|
#define | CATCH_INTERNAL_GENERATOR_STRINGIZE_IMPL(...) |
|
#define | CATCH_INTERNAL_GENERATOR_STRINGIZE(...) |
|
#define | GENERATE(...) |
|
#define | GENERATE_COPY(...) |
|
#define | GENERATE_REF(...) |
|
#define | CATCH_GENERATORS_ADAPTERS_HPP_INCLUDED |
|
#define | CATCH_GENERATORS_RANDOM_HPP_INCLUDED |
|
#define | CATCH_RANDOM_NUMBER_GENERATOR_HPP_INCLUDED |
|
#define | CATCH_UNIFORM_INTEGER_DISTRIBUTION_HPP_INCLUDED |
|
#define | CATCH_RANDOM_INTEGER_HELPERS_HPP_INCLUDED |
|
#define | SizedUnsignedTypeHelper(TYPE) |
|
#define | CarryBits(x) |
|
|
Context & | Catch::getCurrentMutableContext () |
|
Context const & | Catch::getCurrentContext () |
|
void | Catch::cleanUpContext () |
|
SimplePcg32 & | Catch::sharedRng () |
|
void | Catch::throw_test_failure_exception () |
|
void | Catch::throw_test_skip_exception () |
|
constexpr auto | Catch::operator""_sr (char const *rawChars, std::size_t size) noexcept -> StringRef |
|
constexpr auto | operator""_catch_sr (char const *rawChars, std::size_t size) noexcept -> Catch::StringRef |
|
constexpr bool | Catch::isOk (ResultWas::OfType resultType) |
|
constexpr bool | Catch::isJustInfo (int flags) |
|
constexpr ResultDisposition::Flags | Catch::operator| (ResultDisposition::Flags lhs, ResultDisposition::Flags rhs) |
|
constexpr bool | Catch::isFalseTest (int flags) |
|
constexpr bool | Catch::shouldSuppressFailure (int flags) |
|
template<typename T, typename... Args> |
unique_ptr< T > | Catch::Detail::make_unique (Args &&... args) |
|
IResultCapture & | Catch::getResultCapture () |
|
IRegistryHub const & | Catch::getRegistryHub () |
|
IMutableRegistryHub & | Catch::getMutableRegistryHub () |
|
void | Catch::cleanUp () |
|
std::string | Catch::translateActiveException () |
|
template<typename T> |
void | Catch::Benchmark::deoptimize_value (T &&x) |
|
template<typename Fn, typename... Args> |
auto | Catch::Benchmark::invoke_deoptimized (Fn &&fn, Args &&... args) -> std::enable_if_t<!std::is_same< void, decltype(fn(args...))>::value > |
|
template<typename Fun> |
repeater< std::decay_t< Fun > > | Catch::Benchmark::Detail::repeat (Fun &&fun) |
|
template<typename Fun, typename... Args> |
CompleteType_t< FunctionReturnType< Fun, Args... > > | Catch::Benchmark::Detail::complete_invoke (Fun &&fun, Args &&... args) |
|
template<typename Fun> |
Detail::CompleteType_t< FunctionReturnType< Fun > > | Catch::Benchmark::user_code (Fun &&fun) |
|
template<typename Clock, typename Fun, typename... Args> |
TimingOf< Fun, Args... > | Catch::Benchmark::Detail::measure (Fun &&fun, Args &&... args) |
|
template<typename Clock, typename Fun> |
TimingOf< Fun, int > | Catch::Benchmark::Detail::measure_one (Fun &&fun, int iters, std::false_type) |
|
template<typename Clock, typename Fun> |
TimingOf< Fun, Chronometer > | Catch::Benchmark::Detail::measure_one (Fun &&fun, int iters, std::true_type) |
|
void | Catch::Benchmark::Detail::throw_optimized_away_error () |
|
template<typename Clock, typename Fun> |
TimingOf< Fun, run_for_at_least_argument_t< Clock, Fun > > | Catch::Benchmark::Detail::run_for_at_least (IDuration how_long, const int initial_iterations, Fun &&fun) |
|
double | Catch::Benchmark::Detail::weighted_average_quantile (int k, int q, double *first, double *last) |
|
OutlierClassification | Catch::Benchmark::Detail::classify_outliers (double const *first, double const *last) |
|
double | Catch::Benchmark::Detail::mean (double const *first, double const *last) |
|
double | Catch::Benchmark::Detail::normal_cdf (double x) |
|
double | Catch::Benchmark::Detail::erfc_inv (double x) |
|
double | Catch::Benchmark::Detail::normal_quantile (double p) |
|
Estimate< double > | Catch::Benchmark::Detail::bootstrap (double confidence_level, double *first, double *last, sample const &resample, double(*estimator)(double const *, double const *)) |
|
bootstrap_analysis | Catch::Benchmark::Detail::analyse_samples (double confidence_level, unsigned int n_resamples, double *first, double *last) |
|
template<typename Clock> |
std::vector< double > | Catch::Benchmark::Detail::resolution (int k) |
|
template<typename Clock> |
int | Catch::Benchmark::Detail::warmup () |
|
template<typename Clock> |
EnvironmentEstimate | Catch::Benchmark::Detail::estimate_clock_resolution (int iterations) |
|
template<typename Clock> |
EnvironmentEstimate | Catch::Benchmark::Detail::estimate_clock_cost (FDuration resolution) |
|
template<typename Clock> |
Environment | Catch::Benchmark::Detail::measure_environment () |
|
SampleAnalysis | Catch::Benchmark::Detail::analyse (const IConfig &cfg, FDuration *first, FDuration *last) |
|
std::ostream & | operator<< (std::ostream &, Catch_global_namespace_dummy) |
|
std::size_t | Catch::Detail::catch_strnlen (const char *str, std::size_t n) |
|
std::string | Catch::Detail::convertIntoString (StringRef string, bool escapeInvisibles) |
| Encases `string in quotes, and optionally escapes invisibles.
|
|
std::string | Catch::Detail::convertIntoString (StringRef string) |
| Encases string in quotes, and escapes invisibles if user requested it via CLI.
|
|
std::string | Catch::Detail::rawMemoryToString (const void *object, std::size_t size) |
|
template<typename T> |
std::string | Catch::Detail::rawMemoryToString (const T &object) |
|
template<typename E> |
std::string | Catch::Detail::convertUnknownEnumToString (E e) |
|
template<typename T> |
std::enable_if_t< !std::is_enum< T >::value &&!std::is_base_of< std::exception, T >::value, std::string > | Catch::Detail::convertUnstreamable (T const &) |
|
template<typename T> |
std::enable_if_t< !std::is_enum< T >::value &&std::is_base_of< std::exception, T >::value, std::string > | Catch::Detail::convertUnstreamable (T const &ex) |
|
template<typename T> |
std::enable_if_t< std::is_enum< T >::value, std::string > | Catch::Detail::convertUnstreamable (T const &value) |
|
template<typename T> |
std::string | Catch::Detail::stringify (const T &e) |
|
template<typename InputIterator, typename Sentinel = InputIterator> |
std::string | Catch::Detail::rangeToString (InputIterator first, Sentinel last) |
|
template<typename Range> |
std::string | Catch::rangeToString (Range const &range) |
|
template<typename Allocator> |
std::string | Catch::rangeToString (std::vector< bool, Allocator > const &v) |
|
Approx | Catch::literals::operator""_a (long double val) |
|
Approx | Catch::literals::operator""_a (unsigned long long val) |
|
std::uint32_t | Catch::generateRandomSeed (GenerateFrom from) |
|
std::vector< std::string > | Catch::Detail::splitReporterSpec (StringRef reporterSpec) |
| Splits the reporter spec into reporter name and kv-pair options.
|
|
Optional< ColourMode > | Catch::Detail::stringToColourMode (StringRef colourMode) |
|
Optional< ReporterSpec > | Catch::parseReporterSpec (StringRef reporterSpec) |
|
std::uint32_t | Catch::getSeed () |
| Returns Catch2's current RNG seed.
|
|
template<typename T> |
ParserResult | Catch::Clara::Detail::convertInto (std::string const &source, T &target) |
|
ParserResult | Catch::Clara::Detail::convertInto (std::string const &source, std::string &target) |
|
ParserResult | Catch::Clara::Detail::convertInto (std::string const &source, bool &target) |
|
template<typename ArgType, typename L> |
auto | Catch::Clara::Detail::invokeLambda (L const &lambda, std::string const &arg) -> ParserResult |
|
Clara::Parser | Catch::makeCommandLineParser (ConfigData &config) |
|
void | Catch::formatReconstructedExpression (std::ostream &os, std::string const &lhs, StringRef op, std::string const &rhs) |
|
void | Catch::handleExceptionMatchExpr (AssertionHandler &handler, std::string const &str) |
|
Detail::unique_ptr< ITestInvoker > | Catch::makeTestInvoker (void(*testAsFunction)()) |
|
template<typename C> |
Detail::unique_ptr< ITestInvoker > | Catch::makeTestInvoker (void(C::*testAsMethod)()) |
|
template<typename C> |
Detail::unique_ptr< ITestInvoker > | Catch::makeTestInvokerFixture (void(C::*testAsMethod)() const) |
|
Detail::unique_ptr< TestCaseInfo > | Catch::makeTestCaseInfo (StringRef _className, NameAndTags const &nameAndTags, SourceLineInfo const &_lineInfo) |
|
void | Catch::Detail::registerTranslatorImpl (Detail::unique_ptr< IExceptionTranslator > &&translator) |
|
Version const & | Catch::libraryVersion () |
|
void | Catch::Generators::Detail::throw_generator_exception (char const *msg) |
| Throws GeneratorException with the provided message.
|
|
template<typename T, typename DecayedT = std::decay_t<T>> |
GeneratorWrapper< DecayedT > | Catch::Generators::value (T &&value) |
|
template<typename T> |
GeneratorWrapper< T > | Catch::Generators::values (std::initializer_list< T > values) |
|
template<typename... Ts> |
GeneratorWrapper< std::tuple< std::decay_t< Ts >... > > | Catch::Generators::table (std::initializer_list< std::tuple< std::decay_t< Ts >... > > tuples) |
|
template<typename T, typename... Gs> |
auto | Catch::Generators::makeGenerators (GeneratorWrapper< T > &&generator, Gs &&... moreGenerators) -> Generators< T > |
|
template<typename T> |
auto | Catch::Generators::makeGenerators (GeneratorWrapper< T > &&generator) -> Generators< T > |
|
template<typename T, typename... Gs> |
auto | Catch::Generators::makeGenerators (T &&val, Gs &&... moreGenerators) -> Generators< std::decay_t< T > > |
|
template<typename T, typename U, typename... Gs> |
auto | Catch::Generators::makeGenerators (as< T >, U &&val, Gs &&... moreGenerators) -> Generators< T > |
|
IGeneratorTracker * | Catch::Generators::acquireGeneratorTracker (StringRef generatorName, SourceLineInfo const &lineInfo) |
|
IGeneratorTracker * | Catch::Generators::createGeneratorTracker (StringRef generatorName, SourceLineInfo lineInfo, GeneratorBasePtr &&generator) |
|
template<typename L> |
auto | Catch::Generators::generate (StringRef generatorName, SourceLineInfo const &lineInfo, L const &generatorExpression) -> typename decltype(generatorExpression())::type |
|
template<typename T> |
GeneratorWrapper< T > | Catch::Generators::take (size_t target, GeneratorWrapper< T > &&generator) |
|
template<typename T, typename Predicate> |
GeneratorWrapper< T > | Catch::Generators::filter (Predicate &&pred, GeneratorWrapper< T > &&generator) |
|
template<typename T> |
GeneratorWrapper< T > | Catch::Generators::repeat (size_t repeats, GeneratorWrapper< T > &&generator) |
|
template<typename Func, typename U, typename T = FunctionReturnType<Func, U>> |
GeneratorWrapper< T > | Catch::Generators::map (Func &&function, GeneratorWrapper< U > &&generator) |
|
template<typename T> |
GeneratorWrapper< std::vector< T > > | Catch::Generators::chunk (size_t size, GeneratorWrapper< T > &&generator) |
|
This is a convenience header for Catch2. It includes all of Catch2 headers.
Generally the Catch2 users should use specific includes they need, but this header can be used instead for ease-of-experimentation, or just plain convenience, at the cost of (significantly) increased compilation times.
When a new header is added to either the top level folder, or to the corresponding internal subfolder, it should be added here. Headers added to the various subparts (e.g. matchers, generators, etc...), should go their respective catch-all headers.
This is a convenience header for Catch2's benchmarking. It includes all of Catch2 headers related to benchmarking.
Generally the Catch2 users should use specific includes they need, but this header can be used instead for ease-of-experimentation, or just plain convenience, at the cost of (significantly) increased compilation times.
When a new header is added to either the benchmark
folder, or to the corresponding internal (detail) subfolder, it should be added here.
Wrapper for the CONFIG configuration option
When generating internal unique names, there are two options. Either we mix in the current line number, or mix in an incrementing number. We prefer the latter, using __COUNTER__
, but users might want to use the former.
Wrapper for the WCHAR configuration option
We want to support platforms that do not provide wchar_t
, so we sometimes have to disable providing wchar_t overloads through Catch2, e.g. the StringMaker specialization for std::wstring
.
Wrapper for the CATCH_CONFIG_PREFIX_MESSAGES configuration option
CATCH_CONFIG_PREFIX_ALL can be used to avoid clashes with other macros by prepending CATCH_. This may not be desirable if the only clashes are with logger macros such as INFO and WARN. In this cases CATCH_CONFIG_PREFIX_MESSAGES can be used to only prefix a small subset of relevant macros.
Why does decomposing look the way it does:
Conceptually, decomposing is simple. We change REQUIRE( a == b )
into Decomposer{} <= a == b
, so that Decomposer{} <= a
is evaluated first, and our custom operator is used for a == b
, because a
is transformed into ExprLhs<T&>
and then into BinaryExpr<T&, U&>
.
In practice, decomposing ends up a mess, because we have to support various fun things.
1) Types that are only comparable with literal 0, and they do this by comparing against a magic type with pointer constructor and deleted other constructors. Example: REQUIRE((a <=> b) == 0)
in libstdc++
2) Types that are only comparable with literal 0, and they do this by comparing against a magic type with consteval integer constructor. Example: REQUIRE((a <=> b) == 0)
in current MSVC STL.
3) Types that have no linkage, and so we cannot form a reference to them. Example: some implementations of traits.
4) Starting with C++20, when the compiler sees a == b
, it also uses b == a
when constructing the overload set. For us this means that when the compiler handles ExprLhs<T> == b
, it also tries to resolve the overload set for b == ExprLhs<T>
.
To accomodate these use cases, decomposer ended up rather complex.
1) These types are handled by adding SFINAE overloads to our comparison operators, checking whether T == U
are comparable with the given operator, and if not, whether T (or U) are comparable with literal 0. If yes, the overload compares T (or U) with 0 literal inline in the definition.
Note that for extra correctness, we check that the other type is either an int
(literal 0 is captured as int
by templates), or a long
(some platforms use 0L for NULL
and we want to support that for pointer comparisons).
2) For these types, is_foo_comparable<T, int>
is true, but letting them fall into the overload that actually does T == int
causes compilation error. Handling them requires that the decomposition is constexpr
, so that P2564R3 applies and the consteval
from their accompanying magic type is propagated through the constexpr
call stack.
However this is not enough to handle these types automatically, because our default is to capture types by reference, to avoid runtime copies. While these references cannot become dangling, they outlive the constexpr context and thus the default capture path cannot be actually constexpr.
The solution is to capture these types by value, by explicitly specializing Catch::capture_by_value
for them. Catch2 provides specialization for std::foo_ordering
s, but users can specialize the trait for their own types as well.
3) If a type has no linkage, we also cannot capture it by reference. The solution is once again to capture them by value. We handle the common cases by using std::is_arithmetic
as the default for Catch::capture_by_value
, but that is only a some-effort heuristic. But as with 2), users can specialize capture_by_value
for their own types as needed.
4) To support C++20 and make the SFINAE on our decomposing operators work, the SFINAE has to happen in return type, rather than in a template type. This is due to our use of logical type traits (conjunction
/disjunction
/negation
), that we use to workaround an issue in older (9-) versions of GCC. I still blame C++20 for this, because without the comparison order switching, the logical traits could still be used in template type.
There are also other side concerns, e.g. supporting both REQUIRE(a)
and REQUIRE(a == b)
, or making REQUIRE_THAT(a, IsEqual(b))
slot nicely into the same expression handling logic, but these are rather straightforward and add only a bit of complexity (e.g. common base class for decomposed expressions).
Wrapper for the STATIC_ANALYSIS_SUPPORT configuration option
Some of Catch2's macros can be defined differently to work better with static analysis tools, like clang-tidy or coverity. Currently the main use case is to show that SECTION
s are executed exclusively, and not all in one run of a TEST_CASE
.
This is a convenience header for Catch2's Generator support. It includes all of Catch2 headers related to generators.
Generally the Catch2 users should use specific includes they need, but this header can be used instead for ease-of-experimentation, or just plain convenience, at the cost of (significantly) increased compilation times.
When a new header is added to either the generators
folder, or to the corresponding internal subfolder, it should be added here.