diff options
Diffstat (limited to 'src/mongo/base/status_test.cpp')
-rw-r--r-- | src/mongo/base/status_test.cpp | 16 |
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) { |