⬆️ Doctest 2.4.8
This commit is contained in:
parent
67dfb519e3
commit
a905579f4d
@ -29,7 +29,6 @@ Checks: '*,
|
||||
-hicpp-no-assembler,
|
||||
-hicpp-signed-bitwise,
|
||||
-hicpp-uppercase-literal-suffix,
|
||||
-llvm-else-after-return,
|
||||
-llvm-header-guard,
|
||||
-llvm-include-order,
|
||||
-llvmlibc-*,
|
||||
@ -38,7 +37,6 @@ Checks: '*,
|
||||
-modernize-concat-nested-namespaces,
|
||||
-modernize-use-nodiscard,
|
||||
-modernize-use-trailing-return-type,
|
||||
-readability-else-after-return,
|
||||
-readability-function-cognitive-complexity,
|
||||
-readability-function-size,
|
||||
-readability-identifier-length,
|
||||
|
||||
223
test/thirdparty/doctest/doctest.h
vendored
223
test/thirdparty/doctest/doctest.h
vendored
@ -48,7 +48,7 @@
|
||||
|
||||
#define DOCTEST_VERSION_MAJOR 2
|
||||
#define DOCTEST_VERSION_MINOR 4
|
||||
#define DOCTEST_VERSION_PATCH 7
|
||||
#define DOCTEST_VERSION_PATCH 8
|
||||
|
||||
// util we need here
|
||||
#define DOCTEST_TOSTR_IMPL(x) #x
|
||||
@ -386,11 +386,14 @@ DOCTEST_MSVC_SUPPRESS_WARNING(4623) // default constructor was implicitly define
|
||||
#define DOCTEST_PLATFORM_LINUX
|
||||
#endif // DOCTEST_PLATFORM
|
||||
|
||||
#define DOCTEST_GLOBAL_NO_WARNINGS(var) \
|
||||
namespace doctest { namespace detail {
|
||||
static DOCTEST_CONSTEXPR int consume(const int*, int) { return 0; }
|
||||
}}
|
||||
|
||||
#define DOCTEST_GLOBAL_NO_WARNINGS(var, ...) \
|
||||
DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wglobal-constructors") \
|
||||
DOCTEST_CLANG_SUPPRESS_WARNING("-Wunused-variable") \
|
||||
static const int var DOCTEST_UNUSED // NOLINT(fuchsia-statically-constructed-objects,cert-err58-cpp)
|
||||
#define DOCTEST_GLOBAL_NO_WARNINGS_END() DOCTEST_CLANG_SUPPRESS_WARNING_POP
|
||||
static const int var = doctest::detail::consume(&var, __VA_ARGS__); \
|
||||
DOCTEST_CLANG_SUPPRESS_WARNING_POP
|
||||
|
||||
#ifndef DOCTEST_BREAK_INTO_DEBUGGER
|
||||
// should probably take a look at https://github.com/scottt/debugbreak
|
||||
@ -929,8 +932,8 @@ namespace detail {
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
void filloss(std::ostream* stream, const T& in){
|
||||
filldata<T>::fill(stream, in);
|
||||
void filloss(std::ostream* stream, const T& in) {
|
||||
filldata<T>::fill(stream, in);
|
||||
}
|
||||
|
||||
template<typename T,unsigned long N>
|
||||
@ -946,10 +949,10 @@ namespace detail {
|
||||
template <typename T>
|
||||
static String convert(const DOCTEST_REF_WRAP(T) in) {
|
||||
/* When parameter "in" is a null terminated const char* it works.
|
||||
* When parameter "in" is a T arr[N] without '\0' we can fill the
|
||||
* When parameter "in" is a T arr[N] without '\0' we can fill the
|
||||
* stringstream with N objects (T=char).If in is char pointer *
|
||||
* without '\0' , it would cause segfault
|
||||
* stepping over unaccessible memory.
|
||||
* stepping over unaccessible memory.
|
||||
*/
|
||||
|
||||
std::ostream* stream = tlssPush();
|
||||
@ -1184,8 +1187,8 @@ DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wunused-comparison")
|
||||
if(!res || doctest::getContextOptions()->success) \
|
||||
return Result(res, stringifyBinaryExpr(lhs, op_str, rhs)); \
|
||||
return Result(res); \
|
||||
} \
|
||||
template <typename R ,typename enable_if< !doctest::detail::is_rvalue_reference<R>::value , void >::type* = nullptr> \
|
||||
} \
|
||||
template <typename R ,typename enable_if<!doctest::detail::is_rvalue_reference<R>::value, void >::type* = nullptr> \
|
||||
DOCTEST_NOINLINE SFINAE_OP(Result,op) operator op(const R& rhs) { \
|
||||
bool res = op_macro(doctest::detail::forward<const L>(lhs), rhs); \
|
||||
if(m_at & assertType::is_false) \
|
||||
@ -1321,8 +1324,7 @@ DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wunused-comparison")
|
||||
, m_at(at) {}
|
||||
|
||||
DOCTEST_NOINLINE operator Result() {
|
||||
// this is needed only for MSVC 2015:
|
||||
// https://ci.appveyor.com/project/doctest/doctest/builds/38181202
|
||||
// this is needed only for MSVC 2015
|
||||
DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4800) // 'int': forcing value to bool
|
||||
bool res = static_cast<bool>(lhs);
|
||||
DOCTEST_MSVC_SUPPRESS_WARNING_POP
|
||||
@ -1334,9 +1336,8 @@ DOCTEST_MSVC_SUPPRESS_WARNING_POP
|
||||
return Result(res);
|
||||
}
|
||||
|
||||
/* This is required for user-defined conversions from Expression_lhs to L */
|
||||
//operator L() const { return lhs; }
|
||||
operator L() const { return lhs; }
|
||||
/* This is required for user-defined conversions from Expression_lhs to L */
|
||||
operator L() const { return lhs; }
|
||||
|
||||
// clang-format off
|
||||
DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(==, " == ", DOCTEST_CMP_EQ) //!OCLINT bitwise operator in conditional
|
||||
@ -1393,12 +1394,12 @@ DOCTEST_CLANG_SUPPRESS_WARNING_POP
|
||||
// https://github.com/catchorg/Catch2/issues/870
|
||||
// https://github.com/catchorg/Catch2/issues/565
|
||||
template <typename L>
|
||||
Expression_lhs<const L> operator<<(const L &&operand) {
|
||||
Expression_lhs<const L> operator<<(const L &&operand) {
|
||||
return Expression_lhs<const L>(doctest::detail::forward<const L>(operand), m_at);
|
||||
}
|
||||
|
||||
template <typename L,typename enable_if<!doctest::detail::is_rvalue_reference<L>::value,void >::type* = nullptr>
|
||||
Expression_lhs<const L&> operator<<(const L &operand) {
|
||||
Expression_lhs<const L&> operator<<(const L &operand) {
|
||||
return Expression_lhs<const L&>(operand, m_at);
|
||||
}
|
||||
};
|
||||
@ -1975,13 +1976,12 @@ int registerReporter(const char* name, int priority, bool isReporter) {
|
||||
|
||||
// registers the test by initializing a dummy var with a function
|
||||
#define DOCTEST_REGISTER_FUNCTION(global_prefix, f, decorators) \
|
||||
global_prefix DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_VAR_)) = \
|
||||
global_prefix DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_VAR_), \
|
||||
doctest::detail::regTest( \
|
||||
doctest::detail::TestCase( \
|
||||
f, __FILE__, __LINE__, \
|
||||
doctest_detail_test_suite_ns::getCurrentTestSuite()) * \
|
||||
decorators); \
|
||||
DOCTEST_GLOBAL_NO_WARNINGS_END()
|
||||
decorators))
|
||||
|
||||
#define DOCTEST_IMPLEMENT_FIXTURE(der, base, func, decorators) \
|
||||
namespace { \
|
||||
@ -2038,7 +2038,7 @@ int registerReporter(const char* name, int priority, bool isReporter) {
|
||||
DOCTEST_TYPE_TO_STRING_IMPL(__VA_ARGS__) \
|
||||
} \
|
||||
} \
|
||||
typedef int DOCTEST_ANONYMOUS(DOCTEST_ANON_FOR_SEMICOLON_)
|
||||
static_assert(true, "")
|
||||
|
||||
#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL(dec, T, iter, func) \
|
||||
template <typename T> \
|
||||
@ -2072,17 +2072,17 @@ int registerReporter(const char* name, int priority, bool isReporter) {
|
||||
DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_))
|
||||
|
||||
#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(id, anon, ...) \
|
||||
DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_CAT(anon, DUMMY)) = \
|
||||
doctest::detail::instantiationHelper(DOCTEST_CAT(id, ITERATOR)<__VA_ARGS__>(__FILE__, __LINE__, 0));\
|
||||
DOCTEST_GLOBAL_NO_WARNINGS_END()
|
||||
DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_CAT(anon, DUMMY), \
|
||||
doctest::detail::instantiationHelper( \
|
||||
DOCTEST_CAT(id, ITERATOR)<__VA_ARGS__>(__FILE__, __LINE__, 0)))
|
||||
|
||||
#define DOCTEST_TEST_CASE_TEMPLATE_INVOKE(id, ...) \
|
||||
DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(id, DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_), std::tuple<__VA_ARGS__>) \
|
||||
typedef int DOCTEST_ANONYMOUS(DOCTEST_ANON_FOR_SEMICOLON_)
|
||||
static_assert(true, "")
|
||||
|
||||
#define DOCTEST_TEST_CASE_TEMPLATE_APPLY(id, ...) \
|
||||
DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(id, DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_), __VA_ARGS__) \
|
||||
typedef int DOCTEST_ANONYMOUS(DOCTEST_ANON_FOR_SEMICOLON_)
|
||||
static_assert(true, "")
|
||||
|
||||
#define DOCTEST_TEST_CASE_TEMPLATE_IMPL(dec, T, anon, ...) \
|
||||
DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL(dec, T, DOCTEST_CAT(anon, ITERATOR), anon); \
|
||||
@ -2125,24 +2125,21 @@ int registerReporter(const char* name, int priority, bool isReporter) {
|
||||
|
||||
// for starting a testsuite block
|
||||
#define DOCTEST_TEST_SUITE_BEGIN(decorators) \
|
||||
DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_VAR_)) = \
|
||||
doctest::detail::setTestSuite(doctest::detail::TestSuite() * decorators); \
|
||||
DOCTEST_GLOBAL_NO_WARNINGS_END() \
|
||||
typedef int DOCTEST_ANONYMOUS(DOCTEST_ANON_FOR_SEMICOLON_)
|
||||
DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_VAR_), \
|
||||
doctest::detail::setTestSuite(doctest::detail::TestSuite() * decorators)) \
|
||||
static_assert(true, "")
|
||||
|
||||
// for ending a testsuite block
|
||||
#define DOCTEST_TEST_SUITE_END \
|
||||
DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_VAR_)) = \
|
||||
doctest::detail::setTestSuite(doctest::detail::TestSuite() * ""); \
|
||||
DOCTEST_GLOBAL_NO_WARNINGS_END() \
|
||||
DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_VAR_), \
|
||||
doctest::detail::setTestSuite(doctest::detail::TestSuite() * "")) \
|
||||
typedef int DOCTEST_ANONYMOUS(DOCTEST_ANON_FOR_SEMICOLON_)
|
||||
|
||||
// for registering exception translators
|
||||
#define DOCTEST_REGISTER_EXCEPTION_TRANSLATOR_IMPL(translatorName, signature) \
|
||||
inline doctest::String translatorName(signature); \
|
||||
DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_TRANSLATOR_)) = \
|
||||
doctest::registerExceptionTranslator(translatorName); \
|
||||
DOCTEST_GLOBAL_NO_WARNINGS_END() \
|
||||
DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_TRANSLATOR_), \
|
||||
doctest::registerExceptionTranslator(translatorName)) \
|
||||
doctest::String translatorName(signature)
|
||||
|
||||
#define DOCTEST_REGISTER_EXCEPTION_TRANSLATOR(signature) \
|
||||
@ -2151,15 +2148,15 @@ int registerReporter(const char* name, int priority, bool isReporter) {
|
||||
|
||||
// for registering reporters
|
||||
#define DOCTEST_REGISTER_REPORTER(name, priority, reporter) \
|
||||
DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_REPORTER_)) = \
|
||||
doctest::registerReporter<reporter>(name, priority, true); \
|
||||
DOCTEST_GLOBAL_NO_WARNINGS_END() typedef int DOCTEST_ANONYMOUS(DOCTEST_ANON_FOR_SEMICOLON_)
|
||||
DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_REPORTER_), \
|
||||
doctest::registerReporter<reporter>(name, priority, true)) \
|
||||
static_assert(true, "")
|
||||
|
||||
// for registering listeners
|
||||
#define DOCTEST_REGISTER_LISTENER(name, priority, reporter) \
|
||||
DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_REPORTER_)) = \
|
||||
doctest::registerReporter<reporter>(name, priority, false); \
|
||||
DOCTEST_GLOBAL_NO_WARNINGS_END() typedef int DOCTEST_ANONYMOUS(DOCTEST_ANON_FOR_SEMICOLON_)
|
||||
DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_REPORTER_), \
|
||||
doctest::registerReporter<reporter>(name, priority, false)) \
|
||||
static_assert(true, "")
|
||||
|
||||
// clang-format off
|
||||
// for logging - disabling formatting because it's important to have these on 2 separate lines - see PR #557
|
||||
@ -2505,7 +2502,7 @@ int registerReporter(const char* name, int priority, bool isReporter) {
|
||||
DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), name)
|
||||
|
||||
// for converting types to strings without the <typeinfo> header and demangling
|
||||
#define DOCTEST_TYPE_TO_STRING(...) typedef int DOCTEST_ANONYMOUS(DOCTEST_ANON_FOR_SEMICOLON_)
|
||||
#define DOCTEST_TYPE_TO_STRING(...) static_assert(true, "")
|
||||
#define DOCTEST_TYPE_TO_STRING_IMPL(...)
|
||||
|
||||
// for typed tests
|
||||
@ -2517,11 +2514,8 @@ int registerReporter(const char* name, int priority, bool isReporter) {
|
||||
template <typename type> \
|
||||
inline void DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_)()
|
||||
|
||||
#define DOCTEST_TEST_CASE_TEMPLATE_INVOKE(id, ...) \
|
||||
typedef int DOCTEST_ANONYMOUS(DOCTEST_ANON_FOR_SEMICOLON_)
|
||||
|
||||
#define DOCTEST_TEST_CASE_TEMPLATE_APPLY(id, ...) \
|
||||
typedef int DOCTEST_ANONYMOUS(DOCTEST_ANON_FOR_SEMICOLON_)
|
||||
#define DOCTEST_TEST_CASE_TEMPLATE_INVOKE(id, ...) static_assert(true, "")
|
||||
#define DOCTEST_TEST_CASE_TEMPLATE_APPLY(id, ...) static_assert(true, "")
|
||||
|
||||
// for subcases
|
||||
#define DOCTEST_SUBCASE(name)
|
||||
@ -2530,7 +2524,7 @@ int registerReporter(const char* name, int priority, bool isReporter) {
|
||||
#define DOCTEST_TEST_SUITE(name) namespace
|
||||
|
||||
// for starting a testsuite block
|
||||
#define DOCTEST_TEST_SUITE_BEGIN(name) typedef int DOCTEST_ANONYMOUS(DOCTEST_ANON_FOR_SEMICOLON_)
|
||||
#define DOCTEST_TEST_SUITE_BEGIN(name) static_assert(true, "")
|
||||
|
||||
// for ending a testsuite block
|
||||
#define DOCTEST_TEST_SUITE_END typedef int DOCTEST_ANONYMOUS(DOCTEST_ANON_FOR_SEMICOLON_)
|
||||
@ -2551,6 +2545,64 @@ int registerReporter(const char* name, int priority, bool isReporter) {
|
||||
#define DOCTEST_FAIL_CHECK(...) (static_cast<void>(0))
|
||||
#define DOCTEST_FAIL(...) (static_cast<void>(0))
|
||||
|
||||
#ifdef DOCTEST_CONFIG_EVALUATE_ASSERTS_EVEN_WHEN_DISABLED
|
||||
|
||||
#define DOCTEST_WARN(...) [&] { return __VA_ARGS__; }()
|
||||
#define DOCTEST_CHECK(...) [&] { return __VA_ARGS__; }()
|
||||
#define DOCTEST_REQUIRE(...) [&] { return __VA_ARGS__; }()
|
||||
#define DOCTEST_WARN_FALSE(...) [&] { return !(__VA_ARGS__); }()
|
||||
#define DOCTEST_CHECK_FALSE(...) [&] { return !(__VA_ARGS__); }()
|
||||
#define DOCTEST_REQUIRE_FALSE(...) [&] { return !(__VA_ARGS__); }()
|
||||
|
||||
#define DOCTEST_WARN_MESSAGE(cond, ...) [&] { return cond; }()
|
||||
#define DOCTEST_CHECK_MESSAGE(cond, ...) [&] { return cond; }()
|
||||
#define DOCTEST_REQUIRE_MESSAGE(cond, ...) [&] { return cond; }()
|
||||
#define DOCTEST_WARN_FALSE_MESSAGE(cond, ...) [&] { return !(cond); }()
|
||||
#define DOCTEST_CHECK_FALSE_MESSAGE(cond, ...) [&] { return !(cond); }()
|
||||
#define DOCTEST_REQUIRE_FALSE_MESSAGE(cond, ...) [&] { return !(cond); }()
|
||||
|
||||
namespace doctest {
|
||||
namespace detail {
|
||||
#define DOCTEST_RELATIONAL_OP(name, op) \
|
||||
template <typename L, typename R> \
|
||||
bool name(const DOCTEST_REF_WRAP(L) lhs, const DOCTEST_REF_WRAP(R) rhs) { return lhs op rhs; }
|
||||
|
||||
DOCTEST_RELATIONAL_OP(eq, ==)
|
||||
DOCTEST_RELATIONAL_OP(ne, !=)
|
||||
DOCTEST_RELATIONAL_OP(lt, <)
|
||||
DOCTEST_RELATIONAL_OP(gt, >)
|
||||
DOCTEST_RELATIONAL_OP(le, <=)
|
||||
DOCTEST_RELATIONAL_OP(ge, >=)
|
||||
} // namespace detail
|
||||
} // namespace doctest
|
||||
|
||||
#define DOCTEST_WARN_EQ(...) [&] { return doctest::detail::eq(__VA_ARGS__); }()
|
||||
#define DOCTEST_CHECK_EQ(...) [&] { return doctest::detail::eq(__VA_ARGS__); }()
|
||||
#define DOCTEST_REQUIRE_EQ(...) [&] { return doctest::detail::eq(__VA_ARGS__); }()
|
||||
#define DOCTEST_WARN_NE(...) [&] { return doctest::detail::ne(__VA_ARGS__); }()
|
||||
#define DOCTEST_CHECK_NE(...) [&] { return doctest::detail::ne(__VA_ARGS__); }()
|
||||
#define DOCTEST_REQUIRE_NE(...) [&] { return doctest::detail::ne(__VA_ARGS__); }()
|
||||
#define DOCTEST_WARN_LT(...) [&] { return doctest::detail::lt(__VA_ARGS__); }()
|
||||
#define DOCTEST_CHECK_LT(...) [&] { return doctest::detail::lt(__VA_ARGS__); }()
|
||||
#define DOCTEST_REQUIRE_LT(...) [&] { return doctest::detail::lt(__VA_ARGS__); }()
|
||||
#define DOCTEST_WARN_GT(...) [&] { return doctest::detail::gt(__VA_ARGS__); }()
|
||||
#define DOCTEST_CHECK_GT(...) [&] { return doctest::detail::gt(__VA_ARGS__); }()
|
||||
#define DOCTEST_REQUIRE_GT(...) [&] { return doctest::detail::gt(__VA_ARGS__); }()
|
||||
#define DOCTEST_WARN_LE(...) [&] { return doctest::detail::le(__VA_ARGS__); }()
|
||||
#define DOCTEST_CHECK_LE(...) [&] { return doctest::detail::le(__VA_ARGS__); }()
|
||||
#define DOCTEST_REQUIRE_LE(...) [&] { return doctest::detail::le(__VA_ARGS__); }()
|
||||
#define DOCTEST_WARN_GE(...) [&] { return doctest::detail::ge(__VA_ARGS__); }()
|
||||
#define DOCTEST_CHECK_GE(...) [&] { return doctest::detail::ge(__VA_ARGS__); }()
|
||||
#define DOCTEST_REQUIRE_GE(...) [&] { return doctest::detail::ge(__VA_ARGS__); }()
|
||||
#define DOCTEST_WARN_UNARY(...) [&] { return __VA_ARGS__; }()
|
||||
#define DOCTEST_CHECK_UNARY(...) [&] { return __VA_ARGS__; }()
|
||||
#define DOCTEST_REQUIRE_UNARY(...) [&] { return __VA_ARGS__; }()
|
||||
#define DOCTEST_WARN_UNARY_FALSE(...) [&] { return !(__VA_ARGS__); }()
|
||||
#define DOCTEST_CHECK_UNARY_FALSE(...) [&] { return !(__VA_ARGS__); }()
|
||||
#define DOCTEST_REQUIRE_UNARY_FALSE(...) [&] { return !(__VA_ARGS__); }()
|
||||
|
||||
#else // DOCTEST_CONFIG_EVALUATE_ASSERTS_EVEN_WHEN_DISABLED
|
||||
|
||||
#define DOCTEST_WARN(...) ([] { return false; })
|
||||
#define DOCTEST_CHECK(...) ([] { return false; })
|
||||
#define DOCTEST_REQUIRE(...) ([] { return false; })
|
||||
@ -2565,6 +2617,35 @@ int registerReporter(const char* name, int priority, bool isReporter) {
|
||||
#define DOCTEST_CHECK_FALSE_MESSAGE(cond, ...) ([] { return false; })
|
||||
#define DOCTEST_REQUIRE_FALSE_MESSAGE(cond, ...) ([] { return false; })
|
||||
|
||||
#define DOCTEST_WARN_EQ(...) ([] { return false; })
|
||||
#define DOCTEST_CHECK_EQ(...) ([] { return false; })
|
||||
#define DOCTEST_REQUIRE_EQ(...) ([] { return false; })
|
||||
#define DOCTEST_WARN_NE(...) ([] { return false; })
|
||||
#define DOCTEST_CHECK_NE(...) ([] { return false; })
|
||||
#define DOCTEST_REQUIRE_NE(...) ([] { return false; })
|
||||
#define DOCTEST_WARN_GT(...) ([] { return false; })
|
||||
#define DOCTEST_CHECK_GT(...) ([] { return false; })
|
||||
#define DOCTEST_REQUIRE_GT(...) ([] { return false; })
|
||||
#define DOCTEST_WARN_LT(...) ([] { return false; })
|
||||
#define DOCTEST_CHECK_LT(...) ([] { return false; })
|
||||
#define DOCTEST_REQUIRE_LT(...) ([] { return false; })
|
||||
#define DOCTEST_WARN_GE(...) ([] { return false; })
|
||||
#define DOCTEST_CHECK_GE(...) ([] { return false; })
|
||||
#define DOCTEST_REQUIRE_GE(...) ([] { return false; })
|
||||
#define DOCTEST_WARN_LE(...) ([] { return false; })
|
||||
#define DOCTEST_CHECK_LE(...) ([] { return false; })
|
||||
#define DOCTEST_REQUIRE_LE(...) ([] { return false; })
|
||||
|
||||
#define DOCTEST_WARN_UNARY(...) ([] { return false; })
|
||||
#define DOCTEST_CHECK_UNARY(...) ([] { return false; })
|
||||
#define DOCTEST_REQUIRE_UNARY(...) ([] { return false; })
|
||||
#define DOCTEST_WARN_UNARY_FALSE(...) ([] { return false; })
|
||||
#define DOCTEST_CHECK_UNARY_FALSE(...) ([] { return false; })
|
||||
#define DOCTEST_REQUIRE_UNARY_FALSE(...) ([] { return false; })
|
||||
|
||||
#endif // DOCTEST_CONFIG_EVALUATE_ASSERTS_EVEN_WHEN_DISABLED
|
||||
|
||||
// TODO: think about if these also need to work properly even when doctest is disabled
|
||||
#define DOCTEST_WARN_THROWS(...) ([] { return false; })
|
||||
#define DOCTEST_CHECK_THROWS(...) ([] { return false; })
|
||||
#define DOCTEST_REQUIRE_THROWS(...) ([] { return false; })
|
||||
@ -2597,32 +2678,6 @@ int registerReporter(const char* name, int priority, bool isReporter) {
|
||||
#define DOCTEST_CHECK_NOTHROW_MESSAGE(expr, ...) ([] { return false; })
|
||||
#define DOCTEST_REQUIRE_NOTHROW_MESSAGE(expr, ...) ([] { return false; })
|
||||
|
||||
#define DOCTEST_WARN_EQ(...) ([] { return false; })
|
||||
#define DOCTEST_CHECK_EQ(...) ([] { return false; })
|
||||
#define DOCTEST_REQUIRE_EQ(...) ([] { return false; })
|
||||
#define DOCTEST_WARN_NE(...) ([] { return false; })
|
||||
#define DOCTEST_CHECK_NE(...) ([] { return false; })
|
||||
#define DOCTEST_REQUIRE_NE(...) ([] { return false; })
|
||||
#define DOCTEST_WARN_GT(...) ([] { return false; })
|
||||
#define DOCTEST_CHECK_GT(...) ([] { return false; })
|
||||
#define DOCTEST_REQUIRE_GT(...) ([] { return false; })
|
||||
#define DOCTEST_WARN_LT(...) ([] { return false; })
|
||||
#define DOCTEST_CHECK_LT(...) ([] { return false; })
|
||||
#define DOCTEST_REQUIRE_LT(...) ([] { return false; })
|
||||
#define DOCTEST_WARN_GE(...) ([] { return false; })
|
||||
#define DOCTEST_CHECK_GE(...) ([] { return false; })
|
||||
#define DOCTEST_REQUIRE_GE(...) ([] { return false; })
|
||||
#define DOCTEST_WARN_LE(...) ([] { return false; })
|
||||
#define DOCTEST_CHECK_LE(...) ([] { return false; })
|
||||
#define DOCTEST_REQUIRE_LE(...) ([] { return false; })
|
||||
|
||||
#define DOCTEST_WARN_UNARY(...) ([] { return false; })
|
||||
#define DOCTEST_CHECK_UNARY(...) ([] { return false; })
|
||||
#define DOCTEST_REQUIRE_UNARY(...) ([] { return false; })
|
||||
#define DOCTEST_WARN_UNARY_FALSE(...) ([] { return false; })
|
||||
#define DOCTEST_CHECK_UNARY_FALSE(...) ([] { return false; })
|
||||
#define DOCTEST_REQUIRE_UNARY_FALSE(...) ([] { return false; })
|
||||
|
||||
#endif // DOCTEST_CONFIG_DISABLE
|
||||
|
||||
// clang-format off
|
||||
@ -3916,8 +3971,8 @@ namespace detail {
|
||||
DOCTEST_ITERATE_THROUGH_REPORTERS(subcase_start, m_signature);
|
||||
}
|
||||
|
||||
DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4996) // std::uncaught_exception is deprecated in C++17
|
||||
DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Wdeprecated-declarations")
|
||||
DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4996) // std::uncaught_exception is deprecated in C++17
|
||||
DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Wdeprecated-declarations")
|
||||
DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wdeprecated-declarations")
|
||||
|
||||
Subcase::~Subcase() {
|
||||
@ -3944,8 +3999,8 @@ namespace detail {
|
||||
}
|
||||
}
|
||||
|
||||
DOCTEST_CLANG_SUPPRESS_WARNING_POP
|
||||
DOCTEST_GCC_SUPPRESS_WARNING_POP
|
||||
DOCTEST_CLANG_SUPPRESS_WARNING_POP
|
||||
DOCTEST_GCC_SUPPRESS_WARNING_POP
|
||||
DOCTEST_MSVC_SUPPRESS_WARNING_POP
|
||||
|
||||
Subcase::operator bool() const { return m_entered; }
|
||||
@ -4284,8 +4339,8 @@ namespace detail {
|
||||
g_infoContexts.push_back(this);
|
||||
}
|
||||
|
||||
DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4996) // std::uncaught_exception is deprecated in C++17
|
||||
DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Wdeprecated-declarations")
|
||||
DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4996) // std::uncaught_exception is deprecated in C++17
|
||||
DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Wdeprecated-declarations")
|
||||
DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wdeprecated-declarations")
|
||||
|
||||
// destroy cannot be inlined into the destructor because that would mean calling stringify after
|
||||
@ -4304,8 +4359,8 @@ namespace detail {
|
||||
g_infoContexts.pop_back();
|
||||
}
|
||||
|
||||
DOCTEST_CLANG_SUPPRESS_WARNING_POP
|
||||
DOCTEST_GCC_SUPPRESS_WARNING_POP
|
||||
DOCTEST_CLANG_SUPPRESS_WARNING_POP
|
||||
DOCTEST_GCC_SUPPRESS_WARNING_POP
|
||||
DOCTEST_MSVC_SUPPRESS_WARNING_POP
|
||||
} // namespace detail
|
||||
namespace {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user