Skip to content

v3.1.0

Compare
Choose a tag to compare
@horenmar horenmar released this 17 Jul 19:24
· 388 commits to devel since this release
v3.1.0
97c48e0

Improvements

  • Improved suppression of -Wparentheses for older GCCs
    • Turns out that even GCC 9 does not properly handle _Pragmas in the C++ frontend.
  • Added type constraints onto random generator (#2433)
    • These constraints copy what the standard says for the underlying std::uniform_int_distribution
  • Suppressed -Wunused-variable from nvcc (#2306, #2427)
  • Suppressed -Wunused-variable from MinGW (#2132)
  • Added All/Any/NoneTrue range matchers (#2319)
    • These check that all/any/none of boolean values in a range are true.
  • The JUnit reporter now normalizes classnames from C++ namespaces to Java-like namespaces (#2468)
    • This provides better support for other JUnit based tools.
  • The Bazel support now understands BAZEL_TEST environment variable (#2459)
    • The CATCH_CONFIG_BAZEL_SUPPORT configuration option is also still supported.
  • Returned support for compiling Catch2 with GCC 5 (#2448)
    • This required removing inherited constructors from Catch2's internals.
    • I recommend updating to a newer GCC anyway.
  • catch_discover_tests now has a new options for setting library load path(s) when running the Catch2 binary (#2467)

Fixes

  • Fixed crash when listing listeners without any registered listeners (#2442)
  • Fixed nvcc compilation error in constructor benchmarking helper (#2477)
  • Catch2's CMakeList supports pre-3.12 CMake again (#2428)
    • The gain from requiring CMake 3.12 was very minor, but y'all should really update to newer CMake

Miscellaneous

  • Fixed SelfTest build on MinGW (#2447)
  • The in-repo conan recipe exports the CMake helper (#2460)
  • Added experimental CMake script to showcase using test case sharding together with CTest
    • Compared to catch_discover_tests, it supports very limited number of options and customization
  • Added documentation page on best practices when running Catch2 tests
  • Catch2 can be built as a dynamic library (#2397, #2398)
    • Note that Catch2 does not have visibility annotations, and you are responsible for ensuring correct visibility built into the resulting library.