Package Release Info


Update Info: Base Release
Available in Package Hub : 15 SP4





Change Logs

* Thu Aug 05 2021 Luigi Baldoni <>
- Update to version 2.13.7
  * 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.
Version: 2.11.0-bp152.1.14
* Wed Jan 08 2020 Luigi Baldoni <>
- Use only %license
* Wed Dec 25 2019 Luigi Baldoni <>
- Update to version 2.11.0
  * JUnit reporter output now contains more details in case of
    failure (#1347, #1719)
  * Added SonarQube Test Data reporter (#1738)
    + It is in a separate header, just like the TAP, Automake,
    and TeamCity reporters
  * `range` generator now allows floating point numbers (#1776)
  * Reworked part of internals to increase throughput
  * The single header version should contain full benchmarking
    support (#1800)
  * `[.foo]` is now properly parsed as `[.][foo]` when used on
    the command line (#1798)
  * Fixed compilation of benchmarking on platforms where
    `steady_clock::period` is not `std::nano` (#1794)
  version 2.10.2
  * Catch2 will now compile on platform where `INFINITY` is
    double (#1782)
  * Warning suppressed during listener registration will no
    longer leak
  version 2.10.1
  * Catch2 now guards itself against `min` and `max` macros from
    `windows.h` (#1772)
  * Templated tests will now compile with ICC (#1748)
  * `WithinULP` matcher now uses scientific notation for
    stringification (#1760)
  * Templated tests no longer trigger `-Wunused-templates`
  * Suppressed clang-analyzer false positive in context getter
    (#1230, #1735)
  * CMake no longer prohibits in-tree build when Catch2 is used
    as a subproject (#1773, #1774)
  version 2.10.0
  * `TEMPLATE_LIST_TEST_CASE` now properly handles non-copyable
    and non-movable types (#1729)
  * Fixed compilation error on Solaris caused by a system header
    defining macro `TT` (#1722, #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 (#1757)
  * Fixed parsing of escaped special characters when reading
    test specs from a file (#1767, #1769)
  * 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 (#1743)
  * 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`
    + They must still provide global `nextafter{f,l,}`
  * 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 (#1768)
  * Added a matcher that can be used for checking an exceptions
    message (#1649, #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 (#1746)
    + Unlike `Approx`, it considers both sides when determining
    the allowed margin
    + Special cases `NaN` and `INFINITY` to match user
    + 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 (#1734, #1736)
    + This means that nested random number generators actually
    generate different numbers
  * 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
  version 2.9.2
  * `ChunkGenerator` can now be used with chunks of size 0
  * Nested subsections are now run properly when specific
    section is run via the `-c` argument (#1670, #1673)
  * Catch2 now consistently uses `_WIN32` to detect Windows
    platform (#1676)
  * `TEMPLATE_LIST_TEST_CASE` now support non-default
    constructible type lists (#1697)
  * Fixed a crash in the XMLReporter when a benchmark throws
    exception during warmup (#1706)
  * Fixed a possible infinite loop in CompactReporter (#1715)
  * Fixed `-w NoTests` returning 0 even when no tests were
    matched (#1449, #1683, #1684)
  * Fixed matcher compilation under Obj-C++ (#1661)
  * `RepeatGenerator` and `FixedValuesGenerator` now fail to
    compile when used with `bool` (#1692)
    + Previously they would fail at runtime.
  * Catch2 now supports Android's debug logging for its debug
    output (#1710)
  * Catch2 now detects and configures itself for the RTX
    platform (#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 (#1717)
  * Documentation now contains indication when a specific
    feature was introduced (#1695)
    + These start with Catch2 v2.3.0, (a bit over a year ago).
    + `docs/` has been updated to provide
    contributors guidance on how to add these to newly written
  * 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 (#1660)
  * `CatchAddTests` now properly escapes `[` and `]` in test
    names (#1634, #1698)
  * Reverted `CatchAddTests` adding tags as CTest labels (#1658)
    + The script broke when test names were too long
    + Overwriting `LABELS` caused trouble for users who set them
    + CMake does not let users append to `LABELS` if the test
    name has spaces
  version 2.9.1
  * Fix benchmarking compilation failure in files without
    `CATCH_CONFIG_EXTERNAL_INTERFACES` (or implementation)
  version 2.9.0
  * The experimental benchmarking support has been replaced by
    integrating Nonius code (#1616)
    + This provides a much more featurefull micro-benchmarking
    + 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 (#1581)
  * Template test cases now support type lists (#1627)
  version 2.8.0
  * Templated test cases no longer check whether the provided
    types are unique (#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 (#1612, #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 (#1531, #1609)
    + See "Test cases and sections" documentation for details
  * `UNSCOPED_INFO` macro now has a
    prefixed/disabled/prefixed+disabled versions (#1611)
  * Reporting errors at startup should no longer cause a
    segfault under certain circumstances (#1626)
  * CMake will now prevent you from attempting in-tree build
    (#1636, #1638)
    + Previously it would break with an obscure error message
    during the build step
- Drop _service file
* Sat May 18 2019 Kira Marie Backes <> - 2.7.2
- Finalize .spec of Catch2 v 2.7.2
* Sat May 18 2019 Kira Marie Backes <>
- Try to setup Catch2 as OBS project
Version: 2.13.6-bp153.1.1
* Mon May 03 2021 Ferdinand Thiessen <>
- Update to version 2.13.6
  * Disabling all signal handlers no longer breaks compilation
  * catch_discover_tests should handle escaped semicolon (;) better
* Tue Apr 13 2021 Luigi Baldoni <>
- Update to version 2.13.5
  * Added workaround for bug in XLC
  * 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.
  * 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
  * `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
  * 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
  * 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.
  * 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
* Tue Dec 01 2020
- Update to version 2.13.3
  * Fixed possible infinite loop when combining generators with
    section filter (`-c` option)
  * 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
  * Implemented workaround for NVCC ICE
  * Fixed detection of `std::uncaught_exceptions` support under
    non-msvc platforms
  * `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`
  * Various documentation fixes and improvements
  version 2.13.1
  * `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
  * Automatic stringification of ranges handles sentinel ranges
* Fri Aug 14 2020 Luigi Baldoni <>
- Update to version 2.13.0
  * `GENERATE` can now follow a `SECTION` at the same level of
    + 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`.
  * `TAPReporter` no longer skips successful assertions
  version 2.12.4:
  * `GENERATE` nested in a for loop no longer creates multiple
  * Fixed copy paste error breaking `TEMPLATE_TEST_CASE_SIG` for
    6 or more arguments
  * Fixed potential UB when handling non-ASCII characters in CLI
  * 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
  * Fixed potential UB in `CAPTURE` if the expression contained
    non-ASCII characters
  * `std::result_of` is not used if `std::invoke_result` is
  * 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
  * 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
  version 2.11.2:
  * GCC and Clang now issue warnings for suspicious code in
    + 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
  * `--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
  * Detection of whether libc provides `std::nextafter` has been
  * 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
  * `ObjectStorage` now behaves properly in `const` contexts
  * `GENERATE_COPY(a, b)` now compiles properly
  * Some more cleanups in the benchmarking support