summaryrefslogtreecommitdiff
path: root/src/mongo/util/assert_util_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/util/assert_util_test.cpp')
-rw-r--r--src/mongo/util/assert_util_test.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/mongo/util/assert_util_test.cpp b/src/mongo/util/assert_util_test.cpp
index 07367a80a7a..4275d8a907e 100644
--- a/src/mongo/util/assert_util_test.cpp
+++ b/src/mongo/util/assert_util_test.cpp
@@ -212,6 +212,45 @@ TEST(AssertUtils, UassertTypedExtraInfoWorks) {
}
}
+TEST(AssertUtils, UassertIncrementsUserAssertionCounter) {
+ auto userAssertions = assertionCount.user.load();
+ auto asserted = false;
+ try {
+ Status status = {ErrorCodes::BadValue, "Test"};
+ uassertStatusOK(status);
+ } catch (const DBException&) {
+ asserted = true;
+ }
+ ASSERT(asserted);
+ ASSERT_EQ(userAssertions + 1, assertionCount.user.load());
+}
+
+TEST(AssertUtils, InternalAssertWithStatus) {
+ auto userAssertions = assertionCount.user.load();
+ try {
+ Status status = {ErrorCodes::BadValue, "Test"};
+ internalAssert(status);
+ } catch (const DBException& ex) {
+ ASSERT_EQ(ex.code(), ErrorCodes::BadValue);
+ ASSERT_EQ(ex.reason(), "Test");
+ }
+ ASSERT_EQ(userAssertions, assertionCount.user.load());
+}
+
+TEST(AssertUtils, InternalAssertWithExpression) {
+ auto userAssertions = assertionCount.user.load();
+ try {
+ internalAssert(48922, "Test", false);
+ } catch (const DBException& ex) {
+ ASSERT_EQ(ex.code(), 48922);
+ ASSERT_EQ(ex.reason(), "Test");
+ }
+
+ internalAssert(48922, "Another test", true);
+
+ ASSERT_EQ(userAssertions, assertionCount.user.load());
+}
+
TEST(AssertUtils, MassertTypedExtraInfoWorks) {
try {
msgasserted(ErrorExtraInfoExample(123), "");