Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
json
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
json
Commits
a905579f
Unverified
Commit
a905579f
authored
Jan 11, 2022
by
Niels Lohmann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
⬆
Doctest 2.4.8
parent
67dfb519
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
139 additions
and
86 deletions
+139
-86
.clang-tidy
.clang-tidy
+0
-2
test/thirdparty/doctest/doctest.h
test/thirdparty/doctest/doctest.h
+139
-84
No files found.
.clang-tidy
View file @
a905579f
...
...
@@ -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,
...
...
test/thirdparty/doctest/doctest.h
View file @
a905579f
...
...
@@ -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
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment