You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added experimental opt-in support for thread safe assertions
Read the documentation for full details
The default test run order has been changed to random
Passing assertions are significantly faster when the reporter does not ask for assertionEnded events on passing assertions.
This is the default behaviour of e.g. Console or Compact reporter
Simple REQUIRE(true) is 60% faster in Release and 80% faster in Debug build configuration
Simple REQUIRE_NOTHROW is 230% faster in Release and 430% faster in Debug build configuration
Simple REQUIRE_THROWS is ~3% faster in Release and 20% faster in Debug build configuration (throwing introduces enough overhead that the optimizations inside Catch2 are mostly irrelevant)
Small (2-5%) improvement if the reporter asks for assertionEnded events for passing assertions.
The exit code constants are part of the Session API. (#2955, #2976)
Suppressed unsigned integer overflow checking in locations with intended overflow (#2965)
Reporters flush output after writing metadata, e.g. rng seed (#2964)
Added unreachable after FAIL and SKIP macros (#2941)
This allows the compiler to understand that the execution does not continue past the macro, and avoids warnings.
Added fast path for assertionStarting event when no reporter requires it
For backwards compatibility, this fast path is opt-in
A reporter can opt in by changing its ReporterPreferences::shouldReportAllAssertionStarts
Improved last seen source location tracking to be more precise
This is used when reporting unexpected exceptions from tests
Fixes
Fixed formatting of tags with more than 100 tests in the default --list-tags output (#2963)
Fixed Clang-Tidy's readability-static-accessed-through-instance in tests
Fixed most of Clang-Tidy's cppcoreguidelines-avoid-non-const-global-variables (#2582)
The lifetime of scoped messages now strictly obeys their scope (#1759, #2019, #2959)
Previously Catch2 would try to keep them around during unexpected exception, to provide helpful context.
The amount of surprises the irregularities caused was not worth the occasional utility provided.
TEMPLATE_TEST_CASE_SIG can handle signatures consisting of only types (#2680, #2995)
Moved catch_test_run_info.hpp up from internal/ subfolder into the main one (#2972)
Miscellaneous
pkg-config files are now generated at install time (#2979)
This fixes missing debug suffix in library names
This fixes install prefix mismatch between build config and actuall installation