Skip to content

Commit 681d1e0

Browse files
committed
SERVER-34364 add test coverage for dassert macro
1 parent 859ed95 commit 681d1e0

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

src/mongo/util/assert_util_test.cpp

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828

2929
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kDefault
3030

31+
#include "mongo/config.h"
3132
#include "mongo/platform/basic.h"
3233

3334
#include <type_traits>
@@ -314,7 +315,6 @@ DEATH_TEST(InvariantTerminationTest,
314315
invariant(false, msg);
315316
}
316317

317-
318318
DEATH_TEST(InvariantTerminationTest,
319319
invariantOverloadWithStringLiteralMsg,
320320
"Terminating with string literal invariant message") {
@@ -346,6 +346,31 @@ DEATH_TEST(InvariantTerminationTest,
346346
msg);
347347
}
348348

349+
#if defined(MONGO_CONFIG_DEBUG_BUILD)
350+
// dassert and its friends
351+
DEATH_TEST(DassertTerminationTest, invariant, "Invariant failure false " __FILE__) {
352+
dassert(false);
353+
}
354+
355+
DEATH_TEST(DassertTerminationTest, dassertOK, "Terminating with dassertOK") {
356+
dassert(Status(ErrorCodes::InternalError, "Terminating with dassertOK"));
357+
}
358+
359+
DEATH_TEST(DassertTerminationTest,
360+
invariantWithStringLiteralMsg,
361+
"Terminating with string literal dassert message") {
362+
const char* msg = "Terminating with string literal dassert message";
363+
dassert(false, msg);
364+
}
365+
366+
DEATH_TEST(DassertTerminationTest,
367+
dassertWithStdStringMsg,
368+
"Terminating with std::string dassert message: 12345") {
369+
const std::string msg = str::stream() << "Terminating with std::string dassert message: "
370+
<< 12345;
371+
dassert(false, msg);
372+
}
373+
#endif // defined(MONGO_CONFIG_DEBUG_BUILD)
349374

350375
} // namespace
351376
} // namespace mongo

0 commit comments

Comments
 (0)