summaryrefslogtreecommitdiff
path: root/src/mongo/base/status_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/base/status_test.cpp')
-rw-r--r--src/mongo/base/status_test.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/mongo/base/status_test.cpp b/src/mongo/base/status_test.cpp
index 4be67a3f43b..73cb1766907 100644
--- a/src/mongo/base/status_test.cpp
+++ b/src/mongo/base/status_test.cpp
@@ -303,11 +303,17 @@ TEST(ErrorExtraInfo, OptionalExtraInfoDoesNotThrowAndReturnsOriginalError) {
}
TEST(ErrorExtraInfo, OptionalExtraInfoStatusParserThrows) {
- const auto status =
- Status(ErrorCodes::ForTestingOptionalErrorExtraInfo, "", fromjson("{data: 123}"));
- ASSERT_EQ(status, ErrorCodes::duplicateCodeForTest(4696200));
- ASSERT(!status.extraInfo());
- ASSERT(!status.extraInfo<OptionalErrorExtraInfoExample>());
+ OptionalErrorExtraInfoExample::EnableParserForTest whenInScope;
+ bool failed = false;
+
+ auto pars = ErrorExtraInfo::parserFor(ErrorCodes::ForTestingOptionalErrorExtraInfo);
+ try {
+ pars(fromjson("{a: 1}"));
+ } catch (const DBException&) {
+ failed = true;
+ }
+
+ ASSERT(failed);
}
TEST(ErrorExtraInfo, OptionalExtraInfoStatusParserWorks) {