- Update to version 2.13.7
Fixes:
* Added missing `<iterator>` include in benchmarking.
* Fixed noexcept build with benchmarking enabled.
* Fixed build for compilers with C++17 support but without
C++17 library support.
* JUnit only uses 3 decimal places when reporting durations.
* `!mayfail` tagged tests are now marked as `skipped` in JUnit
reporter output.
OBS-URL: https://build.opensuse.org/request/show/910458
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/Catch2?expand=0&rev=6
- Update to version 2.13.5
Improvements:
* Added workaround for bug in XLC 16.1.0.1
* Add detection for LCC when it is masquerading as GCC
* Modified posix signal handling so it supports newer libcs
+ `MINSIGSTKSZ` was no longer usable in constexpr context.
Fixes:
* Fixed compilation of benchmarking when `min` and `max`
macros are defined
+ Including `windows.h` without `NOMINMAX` remains a really
bad idea, don't do it
Miscellaneous:
* `Catch2WithMain` target (static library) is no longer built
by default
+ Building it by default was at best unnecessary overhead
for people not using it, and at worst it caused trouble
with install paths
+ To have it built, set CMake option
`CATCH_BUILD_STATIC_LIBRARY` to `ON`
* The check whether Catch2 is being built as a subproject is
now more reliable
+ The problem was that if the variable name used internally
was defined the project including Catch2 as subproject, it
would not be properly overwritten for Catch2's CMake.
version 2.13.4
Improvements:
* Improved the hashing algorithm used for shuffling test cases
+ `TEST_CASE`s that differ only in the last character should
be properly shuffled
+ Note that this means that v2.13.4 gives you a different
order of test cases than 2.13.3, even given the same seed.
Miscellaneous:
* Deprecated `ParseAndAddCatchTests` CMake integration
+ It is impossible to implement it properly for all the
different test case variants Catch2 provides, and there
are better options provided.
+ Use `catch_discover_tests` instead, which uses runtime
information about available tests.
* Fixed bug in `catch_discover_tests` that would cause it to
fail when used in specific project structures
* Added Bazel build file
* Added an experimental static library target to CMake
OBS-URL: https://build.opensuse.org/request/show/884863
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/Catch2?expand=0&rev=9
- Update to version 2.13.3
Fixes:
* Fixed possible infinite loop when combining generators with
section filter (`-c` option)
Miscellaneous:
* Fixed `ParseAndAddCatchTests` not finding `TEST_CASE`s
without tags
* `ParseAndAddCatchTests` supports `CMP0110` policy for
changing behaviour of `add_test`
+ This was the shortlived change in CMake 3.18.0 that
temporarily broke `ParseAndAddCatchTests`
version 2.13.2
Improvements:
* Implemented workaround for NVCC ICE
Fixes:
* Fixed detection of `std::uncaught_exceptions` support under
non-msvc platforms
Miscellaneous:
* `catch_discover_tests` has been improved significantly
+ You can now specify which reporter should be used
+ You can now modify where the output will be written
+ `WORKING_DIRECTORY` setting is respected
* `ParseAndAddCatchTests` now supports `TEMPLATE_TEST_CASE`
macros
* Various documentation fixes and improvements
version 2.13.1
Improvements:
* `ParseAndAddCatchTests` handles CMake v3.18.0 correctly
* Improved autodetection of `std::byte`
* Simplified implementation of templated test cases
+ This should have a tiny positive effect on its compilation
throughput
Fixes:
* Automatic stringification of ranges handles sentinel ranges
properly
OBS-URL: https://build.opensuse.org/request/show/852324
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/Catch2?expand=0&rev=7
- Update to version 2.13.0
Improvements:
* `GENERATE` can now follow a `SECTION` at the same level of
nesting
+ The `SECTION`(s) before the `GENERATE` will not be run
multiple times, the following ones will.
* Added `-D`/`--min-duration` command line flag
+ If a test takes longer to finish than the provided value,
its name and duration will be printed.
+ This flag is overriden by setting `-d`/`--duration`.
Fixes:
* `TAPReporter` no longer skips successful assertions
version 2.12.4:
* `GENERATE` nested in a for loop no longer creates multiple
generators
* Fixed copy paste error breaking `TEMPLATE_TEST_CASE_SIG` for
6 or more arguments
* Fixed potential UB when handling non-ASCII characters in CLI
args
* There can be multiple calls to `GENERATE` on a single line
* Improved `fno-except` support for platforms that do not
provide shims for exception-related std functions
+ E.g. the Green Hills C++ compiler
* XmlReporter now also reports test-case-level statistics
+ This is done via a new element, `OverallResultsCases`
* Added `.clang-format` file to the repo
* Rewrote contributing docs
+ They should explain the different levels of testing and so
on much better
version 2.12.2:
* Fixed compilation failure if `is_range` ADL found deleted
function
* Fixed potential UB in `CAPTURE` if the expression contained
non-ASCII characters
* `std::result_of` is not used if `std::invoke_result` is
available
* JUnit reporter writes out `status` attribute for tests
* Suppresed clang-tidy's `hicpp-vararg` warning
+ Catch2 was already suppressing the
`cppcoreguidelines-pro-type-vararg` alias of the warning
version 2.12.1:
* Vector matchers now support initializer list literals better
* Added support for `^` (bitwise xor) to `CHECK` and `REQUIRE`
version 2.12.0:
* Running tests in random order (`--order rand`) has been
reworked significantly
+ Given same seed, all platforms now produce the same order
+ Given same seed, the relative order of tests does not
change if you select only a subset of them
* Vector matchers support custom allocators
* `|` and `&` (bitwise or and bitwise and) are now supported
in `CHECK` and `REQUIRE`
+ The resulting type must be convertible to `bool`
* Fixed computation of benchmarking column widths in
ConsoleReporter
* Suppressed clang-tidy's `cppcoreguidelines-pro-type-vararg`
in assertions
+ It was a false positive trigered by the new warning
support workaround
* Fixed bug in test specification parser handling of OR'd
patterns using escaping
* Worked around IBM XL's codegen bug
+ It would emit code for _destructors_ of temporaries in an
unevaluated context
* Improved detection of stdlib's support for
`std::uncaught_exceptions`
version 2.11.2:
* GCC and Clang now issue warnings for suspicious code in
assertions
+ E.g. `REQUIRE( int != unsigned int )` will now issue mixed
signedness comparison warning
+ This has always worked on MSVC, but it now also works for
GCC and current Clang versions
* Colorization of "Test filters" output should be more robust
now
* `--wait-for-keypress` now also accepts `never` as an option
* Reporters no longer round-off nanoseconds when reporting
benchmarking results
* It is now possible to customize benchmark's warm-up time
when running the test binary
+ `--benchmark-warmup-time {ms}`
* User can now specify how Catch2 should break into debugger
* Fixes missing `<random>` include in benchmarking
* Fixed missing `<iterator>` include in benchmarking
* Hidden test cases are now also tagged with `[!hide]` as per
documentation
* Detection of whether libc provides `std::nextafter` has been
improved
* Composing already-composed matchers no longer modifies the
partially-composed matcher expression
+ This bug has been present for the last ~2 years and nobody
reported it
version 2.11.1:
* `google-build-using-namespace` clang-tidy warning is
suppressed
* `ObjectStorage` now behaves properly in `const` contexts
* `GENERATE_COPY(a, b)` now compiles properly
* Some more cleanups in the benchmarking support
OBS-URL: https://build.opensuse.org/request/show/826681
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/Catch2?expand=0&rev=5