Skip to content

Tags: ihasit/Catch2

Tags

v2.11.0

Toggle v2.11.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
horenmar Martin Hořeňovský
2.11.0

=== Improvements ===
* JUnit reporter output now contains more details in case of failure (catchorg#1347, catchorg#1719)
* Added SonarQube Test Data reporter (catchorg#1738)
  * It is in a separate header, just like the TAP, Automake, and TeamCity reporters
* `range` generator now allows floating point numbers (catchorg#1776)
* Reworked part of internals to increase throughput

=== Fixes ===
* The single header version should contain full benchmarking support (catchorg#1800)
* `[.foo]` is now properly parsed as `[.][foo]` when used on the command line (catchorg#1798)
* Fixed compilation of benchmarking on platforms where `steady_clock::period` is not `std::nano` (catchorg#1794)

v2.10.2

Toggle v2.10.2's commit message
v2.10.2

=== Improvements ===
* Catch2 will now compile on platform where `INFINITY` is double (catchorg#1782)

=== Fixes ===
* Warning suppressed during listener registration will no longer leak

v2.10.1

Toggle v2.10.1's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
horenmar Martin Hořeňovský
== 2.10.1 ==

=== Improvements ===
* Catch2 now guards itself against `min` and `max` macros from `windows.h` (catchorg#1772)
* Templated tests will now compile with ICC (catchorg#1748)
* `WithinULP` matcher now uses scientific notation for stringification (catchorg#1760)

=== Fixes ===
* Templated tests no longer trigger `-Wunused-templates` (catchorg#1762)
* Suppressed clang-analyzer false positive in context getter (catchorg#1230, catchorg#1735)

=== Miscellaneous ===
* CMake no longer prohibits in-tree build when Catch2 is used as a subproject (catchorg#1773, catchorg#1774)

v2.10.0

Toggle v2.10.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
horenmar Martin Hořeňovský
v2.10.0

=== Fixes ===
* `TEMPLATE_LIST_TEST_CASE` now properly handles non-copyable and non-movable types (catchorg#1729)
* Fixed compilation error on Solaris caused by a system header defining macro `TT` (catchorg#1722, catchorg#1723)
* `REGISTER_ENUM` will now fail at compilation time if the registered enum is too large
* Removed use of `std::is_same_v` in C++17 mode (catchorg#1757)
* Fixed parsing of escaped special characters when reading test specs from a file (catchorg#1767, catchorg#1769)

=== Improvements ===
* Trailing and leading whitespace in test/section specs are now ignored.
* Writing to Android debug log now uses `__android_log_write` instead of `__android_log_print`
* Android logging support can now be turned on/off at compile time (catchorg#1743)
  * The toggle is `CATCH_CONFIG_ANDROID_LOGWRITE`
* Added a generator that returns elements of a range
  * Use via `from_range(from, to)` or `from_range(container)`
* Added support for CRTs that do not provide `std::nextafter` (catchorg#1739)
  * They must still provide global `nextafter{f,l,}`
  * Enabled via `CATCH_CONFIG_GLOBAL_NEXTAFTER`
* Special cased `Approx(inf)` not to match non-infinite values
  * Very strictly speaking this might be a breaking change, but it should match user expectations better
* The output of benchmarking through the Console reporter when `--benchmark-no-analysis` is set is now much simpler (catchorg#1768)
* Added a matcher that can be used for checking an exceptions message (catchorg#1649, catchorg#1728)
  * The matcher helper function is called `Message`
  * The exception must publicly derive from `std::exception`
  * The matching is done exactly, including case and whitespace
* Added a matcher that can be used for checking relative equality of floating point numbers (catchorg#1746)
  * Unlike `Approx`, it considers both sides when determining the allowed margin
  * Special cases `NaN` and `INFINITY` to match user expectations
  * The matcher helper function is called `WithinRel`
* The ULP matcher now allows for any possible distance between the two numbers
* The random number generators now use Catch-global instance of RNG (catchorg#1734, catchorg#1736)
  * This means that nested random number generators actually generate different numbers

=== Miscellaneous ===
* In-repo PNGs have been optimized to lower overhead of using Catch2 via git clone
* Catch2 now uses its own implementation of the URBG concept
  * In the future we also plan to use our own implementation of the distributions from `<random>` to provide cross-platform repeatability of random results

v2.9.2

Toggle v2.9.2's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
horenmar Martin Hořeňovský
v2.9.2

--- Fixes ---
* `ChunkGenerator` can now be used with chunks of size 0 (catchorg#1671)
* Nested subsections are now run properly when specific section is run via the `-c` argument (catchorg#1670, catchorg#1673)
* Catch2 now consistently uses `_WIN32` to detect Windows platform (catchorg#1676)
* `TEMPLATE_LIST_TEST_CASE` now support non-default constructible type lists (catchorg#1697)
* Fixed a crash in the XMLReporter when a benchmark throws exception during warmup (catchorg#1706)
* Fixed a possible infinite loop in CompactReporter (catchorg#1715)
* Fixed `-w NoTests` returning 0 even when no tests were matched (catchorg#1449, catchorg#1683, catchorg#1684)
* Fixed matcher compilation under Obj-C++ (catchorg#1661)

--- Improvements ---
* `RepeatGenerator` and `FixedValuesGenerator` now fail to compile when used with `bool` (catchorg#1692)
  * Previously they would fail at runtime.
* Catch2 now supports Android's debug logging for its debug output (catchorg#1710)
* Catch2 now detects and configures itself for the RTX platform (catchorg#1693)
  * You still need to pass `--benchmark-no-analysis` if you are using benchmarking under RTX
* Removed a "storage class is not first" warning when compiling Catch2 with PGI compiler (catchorg#1717)

--- Miscellaneous ---
* Documentation now contains indication when a specific feature was introduced (catchorg#1695)
  * These start with Catch2 v2.3.0, (a bit over a year ago).
  * `docs/contributing.md` has been updated to provide contributors guidance on how to add these to newly written documentation
* Various other documentation improvements
  * ToC fixes
  * Documented `--order` and `--rng-seed` command line options
  * Benchmarking documentation now clearly states that it requires opt-in
  * Documented `CATCH_CONFIG_CPP17_OPTIONAL` and `CATCH_CONFIG_CPP17_BYTE` macros
  * Properly documented built-in vector matchers
  * Improved `*_THROWS_MATCHES` documentation a bit
* CMake config file is now arch-independent even if `CMAKE_SIZEOF_VOID_P` is in CMake cache (catchorg#1660)
* `CatchAddTests` now properly escapes `[` and `]` in test names (catchorg#1634, catchorg#1698)

v2.9.1

Toggle v2.9.1's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
horenmar Martin Hořeňovský
v2.9.1

=== Fixes ===
* Fix benchmarking compilation failure in files without `CATCH_CONFIG_EXTERNAL_INTERFACES` (or implementation)

v2.9.0

Toggle v2.9.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
horenmar Martin Hořeňovský
v2.9.0

=== Improvements ===
* The experimental benchmarking support has been replaced by integrating Nonius code (catchorg#1616)
  * This provides a much more featurefull micro-benchmarking support.
  * Due to the compilation cost, it is disabled by default. See the documentation for details.
  * As far as backwards compatibility is concerned, this feature is still considered experimental in that we might change the interface based on user feedback.
* `WithinULP` matcher now shows the acceptable range (catchorg#1581)
* Template test cases now support type lists (catchorg#1627)

v2.8.0

Toggle v2.8.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
horenmar Martin Hořeňovský
v2.8.0

--- Improvements ---
* Templated test cases no longer check whether the provided types are unique (catchorg#1628)
  * This allows you to e.g. test over `uint32_t`, `uint64_t`, and `size_t` without compilation failing
* The precision of floating point stringification can be modified by user (catchorg#1612, catchorg#1614)
* We now provide `REGISTER_ENUM` convenience macro for generating `StringMaker` specializations for enums
  * See the "String conversion" documentation for details
* Added new set of macros for template test cases that enables the use of NTTPs (catchorg#1531, catchorg#1609)
  * See "Test cases and sections" documentation for details

--- Fixes ---
* `UNSCOPED_INFO` macro now has a prefixed/disabled/prefixed+disabled versions (catchorg#1611)
* Reporting errors at startup should no longer cause a segfault under certain circumstances (catchorg#1626)

--- Miscellaneous ---
* CMake will now prevent you from attempting in-tree build (catchorg#1636, catchorg#1638)
  * Previously it would break with an obscure error message during the build step

v2.7.2

Toggle v2.7.2's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
horenmar Martin Hořeňovský
v2.7.2

----- Improvements -----
* Added an approximate vector matcher (catchorg#1499)

----- Fixes -----
* Filters will no longer be shown if there were none
* Fixed compilation error when using Homebrew GCC on OS X (catchorg#1588, catchorg#1589)
* Fixed the console reporter not showing messages that start with a newline (catchorg#1455, catchorg#1470)
* Modified JUnit reporter's output so that rng seed and filters are reported according to the JUnit schema (catchorg#1598)
* Fixed some obscure warnings and static analysis passes

----- Miscellaneous -----
* Various improvements to `ParseAndAddCatchTests` (catchorg#1559, catchorg#1601)
  * When a target is parsed, it receives `ParseAndAddCatchTests_TESTS` property which summarizes found tests
  * Fixed problem with tests not being found if the `OptionalCatchTestLauncher` variables is used
  * Including the script will no longer forcefully modify `CMAKE_MINIMUM_REQUIRED_VERSION`
  * CMake object libraries are ignored when parsing to avoid needless warnings
* `CatchAddTests` now adds test's tags to their CTest labels (catchorg#1600)

v2.7.1

Toggle v2.7.1's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
horenmar Martin Hořeňovský
v2.7.1

--- Improvements ---
* Reporters now print out the filters applied to test cases (catchorg#1550, catchorg#1585)
* Added `GENERATE_COPY` and `GENERATE_VAR` macros that can use variables inside the generator expression
  * Because of the significant danger of lifetime issues, the default `GENERATE` macro still does not allow variables
* The `map` generator helper now deduces the mapped return type (catchorg#1576)

--- Fixes ---
* Fixed ObjC++ compilation (catchorg#1571)
* Fixed test tag parsing so that `[.foo]` is now parsed as `[.][foo]`.
* Suppressed warning caused by the Windows headers defining SE codes in different manners (catchorg#1575)