Tags: ihasit/Catch2
Tags
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 === Improvements === * Catch2 will now compile on platform where `INFINITY` is double (catchorg#1782) === Fixes === * Warning suppressed during listener registration will no longer leak
== 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 === 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 --- 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.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 --- 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 ----- 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 --- 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)
PreviousNext