mirror of
https://github.com/catchorg/Catch2.git
synced 2025-08-03 22:05:39 +02:00
Catch exceptions from StringMakers inside Detail::stringify
This stops tests failing falsely if the assertion passed, but the stringification itself failed as the assertion was sent to the reporter. I don't think that stringification should be fallible, but the overhead in compilation ended up being small enough (<0.5% on `SelfTest`) that it might be worth implementing, in case there is more users with weird `StringMaker`s than just MongoDB. Closes #2980
This commit is contained in:
@@ -11789,6 +11789,19 @@ String.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
sr2.size() == 0
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Stringifying bla bla bla
|
||||
-------------------------------------------------------------------------------
|
||||
ToString.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
ToString.tests.cpp:<line number>: PASSED:
|
||||
CHECK( tos == tos )
|
||||
with expansion:
|
||||
{ stringification failed with an exception: "Invalid" }
|
||||
==
|
||||
{ stringification failed with an exception: "Invalid" }
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Stringifying char arrays with statically known sizes - char
|
||||
-------------------------------------------------------------------------------
|
||||
@@ -19213,6 +19226,6 @@ Misc.tests.cpp:<line number>
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
|
||||
===============================================================================
|
||||
test cases: 433 | 315 passed | 95 failed | 6 skipped | 17 failed as expected
|
||||
assertions: 2291 | 2093 passed | 157 failed | 41 failed as expected
|
||||
test cases: 434 | 316 passed | 95 failed | 6 skipped | 17 failed as expected
|
||||
assertions: 2292 | 2094 passed | 157 failed | 41 failed as expected
|
||||
|
||||
|
Reference in New Issue
Block a user