Improvements
- Slightly improved compile times of benchmarks
- Made the resolution estimation in benchmarks slightly more precise
- Added new test case macro,
TEST_CASE_PERSISTENT_FIXTURE
(#2885, #1602)- Unlike
TEST_CASE_METHOD
, the same underlying instance is used for all partial runs of that test case
- Unlike
- MASSIVELY improved performance of the JUnit reporter when handling successful assertions (#2897)
- For 1 test case and 10M assertions, the new reporter runs 3x faster and uses up only 8 MB of memory, while the old one needs 7 GB of memory.
- Reworked how output redirects works.
- Combining a reporter writing to stdout with capturing reporter no longer leads to the capturing reporter seeing all of the other reporter's output.
- The file based redirect no longer opens up a new temporary file for each partial test case run, so it will not run out of temporary files when running many tests in single process.
Miscellaneous
- Better documentation for matchers on thrown exceptions (
REQUIRE_THROWS_MATCHES
) - Improved
catch_discover_tests
's handling of environment paths (#2878)- It won't reorder paths in
DL_PATHS
orDYLD_FRAMEWORK_PATHS
args - It won't overwrite the environment paths for test discovery
- It won't reorder paths in