diff options
author | Benety Goh <benety@mongodb.com> | 2018-04-23 13:40:09 -0400 |
---|---|---|
committer | Benety Goh <benety@mongodb.com> | 2018-04-23 13:41:42 -0400 |
commit | fc8096229e6ba7745431f77ec985eb65ee0541af (patch) | |
tree | 454f2cb064ddd4602d408a257aa37932235d2292 /src/mongo/util/assert_util_test.cpp | |
parent | dba852d5d9cd0b3f067fd8d880e7e576db580653 (diff) | |
download | mongo-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.cpp | 42 |
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 |