summaryrefslogtreecommitdiff
path: root/src/mongo/util/assert_util_test.cpp
diff options
context:
space:
mode:
authorBenety Goh <benety@mongodb.com>2018-04-23 13:40:09 -0400
committerBenety Goh <benety@mongodb.com>2018-04-23 13:41:42 -0400
commitfc8096229e6ba7745431f77ec985eb65ee0541af (patch)
tree454f2cb064ddd4602d408a257aa37932235d2292 /src/mongo/util/assert_util_test.cpp
parentdba852d5d9cd0b3f067fd8d880e7e576db580653 (diff)
downloadmongo-fc8096229e6ba7745431f77ec985eb65ee0541af.tar.gz
SERVER-34364 add Status and StatusWith support to invariant()
Diffstat (limited to 'src/mongo/util/assert_util_test.cpp')
-rw-r--r--src/mongo/util/assert_util_test.cpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/mongo/util/assert_util_test.cpp b/src/mongo/util/assert_util_test.cpp
index b4c3c4ab212..1405319e26e 100644
--- a/src/mongo/util/assert_util_test.cpp
+++ b/src/mongo/util/assert_util_test.cpp
@@ -290,6 +290,15 @@ DEATH_TEST(InvariantTerminationTest, invariant, "Invariant failure false " __FIL
invariant(false);
}
+DEATH_TEST(InvariantTerminationTest, invariantOverload, "Terminating with invariant") {
+ invariant(Status(ErrorCodes::InternalError, "Terminating with invariant"));
+}
+
+DEATH_TEST(InvariantTerminationTest, invariantStatusWithOverload, "Terminating with invariant") {
+ invariant(StatusWith<std::string>(ErrorCodes::InternalError,
+ "Terminating with invariantStatusWithOverload"));
+}
+
DEATH_TEST(InvariantTerminationTest, invariantOK, "Terminating with invariantOK") {
invariantOK(Status(ErrorCodes::InternalError, "Terminating with invariantOK"));
}
@@ -309,5 +318,38 @@ DEATH_TEST(InvariantTerminationTest,
invariant(false, msg);
}
+
+DEATH_TEST(InvariantTerminationTest,
+ invariantOverloadWithStringLiteralMsg,
+ "Terminating with string literal invariant message") {
+ invariant(Status(ErrorCodes::InternalError, "Terminating with invariant"),
+ "Terminating with string literal invariant message");
+}
+
+DEATH_TEST(InvariantTerminationTest,
+ invariantOverloadWithStdStringMsg,
+ "Terminating with std::string invariant message: 12345") {
+ const std::string msg = str::stream() << "Terminating with std::string invariant message: "
+ << 12345;
+ invariant(Status(ErrorCodes::InternalError, "Terminating with invariant"), msg);
+}
+
+DEATH_TEST(InvariantTerminationTest,
+ invariantStatusWithOverloadWithStringLiteralMsg,
+ "Terminating with string literal invariant message") {
+ invariant(StatusWith<std::string>(ErrorCodes::InternalError, "Terminating with invariant"),
+ "Terminating with string literal invariant message");
+}
+
+DEATH_TEST(InvariantTerminationTest,
+ invariantStatusWithOverloadWithStdStringMsg,
+ "Terminating with std::string invariant message: 12345") {
+ const std::string msg = str::stream() << "Terminating with std::string invariant message: "
+ << 12345;
+ invariant(StatusWith<std::string>(ErrorCodes::InternalError, "Terminating with invariant"),
+ msg);
+}
+
+
} // namespace
} // namespace mongo