5df88da | Martin Hořeňovský | 17 October 2022, 17:57:58 UTC | 3.1.1 | 17 October 2022, 17:57:58 UTC |
5cd8938 | Martin Hořeňovský | 17 October 2022, 13:13:00 UTC | Update explanation of REQUIRE_FALSE in docs/assertions.md | 17 October 2022, 13:13:00 UTC |
6a422ba | Martin Hořeňovský | 17 October 2022, 13:02:45 UTC | Trim superfluous whitespace in docs | 17 October 2022, 13:02:45 UTC |
a07ac3f | Martin Hořeňovský | 17 October 2022, 10:35:54 UTC | Rewrite explanation of problems with && and || in assertions | 17 October 2022, 10:36:02 UTC |
d8619f0 | Martin Hořeňovský | 16 October 2022, 15:00:23 UTC | Fixup shard index docs Closes #2547 | 16 October 2022, 15:00:29 UTC |
95cd95e | Martin Hořeňovský | 15 October 2022, 21:41:51 UTC | Add extra explanations to some items in docs/readme.md This should make it easier for people to find what they need, e.g. finding generators by looking for "value parameterized tests". | 15 October 2022, 21:50:20 UTC |
eb73975 | Martin Hořeňovský | 15 October 2022, 21:40:35 UTC | Bold section 'headings' in docs/readme.md | 15 October 2022, 21:50:18 UTC |
d1394a7 | Sam Cunliffe | 12 October 2022, 09:17:50 UTC | Link to SECTIONS doc at top of test fixtures page. I came here looking for a way to use a fixture. But what I really wanted was better done in the SECTION macro. Feels like a link right at the top would've made it clearer faster. | 15 October 2022, 14:59:52 UTC |
e94976e | Martin Hořeňovský | 15 October 2022, 09:29:22 UTC | Downgrade MacOS version in GHA | 15 October 2022, 11:06:50 UTC |
0c962d1 | Martin Hořeňovský | 14 October 2022, 20:14:52 UTC | Centralize and update docs for floating point comparisons The new docs mention that Approx is deprecated and should not be used, and explain the reasons behind it. Closes #1444 | 15 October 2022, 09:02:58 UTC |
bdf3083 | Teskann | 08 October 2022, 21:12:21 UTC | Mute the sign conversion warning with explicit cast | 09 October 2022, 17:02:32 UTC |
728de35 | Tim Blechmann | 04 October 2022, 13:55:50 UTC | improve `-ffile-prefix-map` detection (#2517) the current implementation has two problems: * `clang-cl` does not know `-ffile-prefix-map`, but in CMake it is reported as "Clang", so the compiler will warn about an unknown compiler option. * XCode's clang in CMake is reported as "AppleClang", so it is not picked up as "Clang", so it is not passed `-ffile-prefix-map`, even though it supports it. Also changed the map so that the normalized `__FILE__` paths are the same as what the approval tests normalize paths into. Co-authored-by: Martin Hořeňovský <martin.horenovsky@gmail.com> | 04 October 2022, 13:55:50 UTC |
0e139b7 | Jonathan Wright | 04 October 2022, 13:49:09 UTC | add versioning to shared libs (#2516) * add versioning to shared libs Co-authored-by: Martin Hořeňovský <martin.horenovsky@gmail.com> | 04 October 2022, 13:49:09 UTC |
97313f9 | Roland Kaminski | 03 October 2022, 17:38:04 UTC | fix compilation on cygwin Use std::char_traits<char>::find instead of strnlen for better portability. | 04 October 2022, 08:50:18 UTC |
6a9bf2e | Rosen Penev | 03 October 2022, 15:23:38 UTC | meson cleanups with muon (#2539) * meson: run through muon's fmt to fix formatting * meson: switch arrays to files Allows muon to alphabetically sort files. switch headers back to arrays as split() can only be used on strings. Signed-off-by: Rosen Penev <rosenp@gmail.com> | 03 October 2022, 15:23:38 UTC |
980c206 | Dimitrij Mijoski | 03 October 2022, 13:36:37 UTC | Don't expose header windows.h in catch_all.hpp (#2526) * Don't expose header windows.h in catch_all.hpp * Fix generateAmalgamatedFiles.py | 03 October 2022, 13:36:37 UTC |
4db8b50 | Mike Crowe | 01 October 2022, 21:28:30 UTC | Add support for building with Meson (#2530) The Meson[1] build system makes it easier incorporate third-party libaries into a project if they also build using Meson. Let's add a minimal Meson build that's compatible with the CMake build, along with a GitHub workflow to check that it builds and that at least the simplest SelfTest runs. The handling of catch_user_config.hpp is inspired by BUILD.bazel and doesn't attempt to support any configuratons options. Such features could be added later. Meson strongly discourages using wildcards to specify sources, so the source and header lists are copied from CMakeLists.txt. Add a new test workflow to test the Meson builds. I was unable to get these tests to pass with Ubuntu 20.04, so they use Ubuntu 22.04. I'm neither a CMake nor a Meson expert, but the results seem to work for me. [1] https://mesonbuild.com/ Co-authored-by: Mike Crowe <mcrowe@brightsign.biz> | 01 October 2022, 21:28:30 UTC |
4a7cefe | Sergey Evsegneev | 28 September 2022, 08:30:17 UTC | Unused variable removed | 28 September 2022, 14:02:10 UTC |
243cf71 | Vertexwahn | 26 September 2022, 16:09:29 UTC | Make Bazel work with CATCH_CONFIG_SHARED_LIBRARY | 27 September 2022, 20:06:12 UTC |
4bb7e02 | Vertexwahn | 18 September 2022, 13:03:38 UTC | Bazel build: Update of skylib | 27 September 2022, 20:06:12 UTC |
97d0b1e | Rutayan Patro | 26 September 2022, 16:07:50 UTC | Suppress clang-tidy warnings for TEMPLATE_TEST_CASE (#2536) * Suppress clang-tidy *-avoid-c-arrays for TEMPLATE_TEST_CASE * Made globalRegistrar `const` to avoid `cppcoreguidelines-avoid-non-const-global-variables` Fixes #2095 | 26 September 2022, 16:07:50 UTC |
c0e582e | Dimitrij Mijoski | 17 September 2022, 12:58:52 UTC | Fix building as shared library with MSVC. | 24 September 2022, 13:15:50 UTC |
0de60d8 | Björn Schäpers | 14 September 2022, 08:25:37 UTC | Suppress -Wuseless-cast Warning Fixes #2520. | 22 September 2022, 19:00:05 UTC |
d6bbd3f | Zhi Wang | 21 September 2022, 11:54:11 UTC | warning: storage class is not first This pull request fixes the warning issued by `nvc++` (the C++ compiler in Nvidia HPC SDK/PGI), and is similar to pull request #1717. | 21 September 2022, 18:14:12 UTC |
98d37da | Dimitrij Mijoski | 16 September 2022, 15:56:00 UTC | Raise the minimum CMake version to 3.10 (#2523) | 16 September 2022, 15:56:00 UTC |
4b3defe | Dimitrij Mijoski | 14 September 2022, 20:48:58 UTC | Suppress warning "-Wstrict-aliasing" for GCC 5 and 6 | 15 September 2022, 11:40:16 UTC |
c754308 | Dimitrij Mijoski | 14 September 2022, 19:12:42 UTC | Add GCC 5 and GCC 6 to CI | 15 September 2022, 11:40:16 UTC |
359542d | Tim Blechmann | 10 September 2022, 04:18:19 UTC | FileStream: enable automatic flushing when a test executable is killed by a signal (e.g. when executed by ctest with timeout), the reporter files are not flushed. this can lead to incomplete (or empty) report files. to avoid this we enable automatic flushing via `std::unitbuf` compare #663 | 11 September 2022, 21:49:15 UTC |
dea1a6a | tocic | 09 September 2022, 14:00:39 UTC | Fix typos in docs (#2514) | 09 September 2022, 14:00:39 UTC |
32eae0e | Riom | 08 September 2022, 08:21:36 UTC | Add missing include for VxWorks build. (#2515) `catch_sharding.hpp` was using `std::min` without including `<algorithm>`. This worked on most platforms, but it wasn't transitively included in the VxWorks toolchain. | 08 September 2022, 08:21:36 UTC |
4adf010 | Martin Hořeňovský | 03 September 2022, 20:31:25 UTC | Mention dynamic library stuff in the FAQ Closes #2497 | 03 September 2022, 20:31:29 UTC |
686468d | Martin Hořeňovský | 03 September 2022, 20:22:10 UTC | Explain TU as translation unit where appropriate | 03 September 2022, 20:22:10 UTC |
7b2e7d6 | Martin Hořeňovský | 02 September 2022, 05:11:24 UTC | Disable Bazel's env checking on UWP UWP does not support environment variables and so it cannot compile code using getenv. | 02 September 2022, 05:11:28 UTC |
3ca5cf3 | Martin Hořeňovský | 02 September 2022, 05:09:28 UTC | Add CATCH_PLATFORM_WINDOWS_UWP detection macro | 02 September 2022, 05:10:38 UTC |
dc001fa | Martin Hořeňovský | 18 August 2022, 19:22:28 UTC | Allow easy retrieval of RNG seed by the users This makes it so that they don't need parallel RNG seed passing infrastructure for randomized data generation (e.g. inputs for benchmarks). | 18 August 2022, 21:23:18 UTC |
33e7019 | Martin Hořeňovský | 17 August 2022, 22:14:07 UTC | Link to the randomized-shard-registration script from usage tips | 17 August 2022, 22:14:07 UTC |
9bb206f | Martin Hořeňovský | 17 August 2022, 22:05:55 UTC | Remove obsoleted sections of ci-and-misc.md | 17 August 2022, 22:05:55 UTC |
ab04e59 | Martin Hořeňovský | 17 August 2022, 22:02:33 UTC | Improve v2->v3 migration docs | 17 August 2022, 22:02:33 UTC |
47d56f2 | Damjan Jelas | 26 July 2022, 12:39:27 UTC | Fix compatibility with cmake 3.8 | 03 August 2022, 22:09:02 UTC |
a118799 | Martin Hořeňovský | 03 August 2022, 21:44:49 UTC | Switch MacOS image to macos-12 in Github Actions Also updated GCC version to GCC-11, which is packaged in the runner image. | 03 August 2022, 21:54:49 UTC |
997a7d4 | Dimitrij Mijoski | 18 July 2022, 09:28:04 UTC | Fix running the tests with shared library on Windows. Without this fix, the test executable fails because it can not find the dll of Catch2. | 25 July 2022, 19:07:49 UTC |
2b0fd85 | Haowei Hsu | 24 July 2022, 18:55:10 UTC | Modify the install directories into convention. | 25 July 2022, 08:43:41 UTC |
a7dc85d | mheimlich | 21 July 2022, 06:20:58 UTC | Use DYLD_LIBRARY_PATH on apple platforms. | 23 July 2022, 18:45:49 UTC |
97c48e0 | Martin Hořeňovský | 17 July 2022, 18:18:44 UTC | v3.1.0 | 17 July 2022, 18:18:44 UTC |
9c9f350 | Martin Hořeňovský | 17 July 2022, 12:00:04 UTC | Normalize C++ namespace in JUnit's reporter classname field Closes #2468 | 17 July 2022, 17:15:20 UTC |
1bd2338 | Raphael Schaller | 14 November 2021, 16:05:31 UTC | Add AllTrue, AnyTrue, NoneTrue matchers | 16 July 2022, 14:16:05 UTC |
f993b70 | Raphael Schaller | 14 November 2021, 12:52:20 UTC | extend gitignore | 16 July 2022, 14:16:05 UTC |
caf1264 | Martin Hořeňovský | 16 July 2022, 08:19:07 UTC | Fixes for matcher testing helpers when testing bools | 16 July 2022, 14:16:05 UTC |
a6d59b6 | Martin Hořeňovský | 15 July 2022, 17:49:21 UTC | Remove obsolete link to benchmarking tests The benchmarking feature is now documented, so there is no need to direct our users towards our test file to understand how it works. Closes #2471 | 15 July 2022, 17:49:24 UTC |
cc0e914 | Martin Hořeňovský | 11 July 2022, 22:05:56 UTC | Different way of checking for support of local warning suppression Closes #2474 | 15 July 2022, 17:34:35 UTC |
3bd0c58 | Martin Hořeňovský | 11 July 2022, 20:28:15 UTC | Fix Wunused-variable warning for MinGW Closes #2132 | 11 July 2022, 20:28:15 UTC |
a63ad74 | mheimlich | 11 July 2022, 16:31:32 UTC | Added new DL_PATHS option to catch_discover_tests() (#2467) This enables setting the required PATH/LD_LIBRARY_PATH environment variables both when retrieving the list of text cases and when executing the tests. Co-authored-by: Martin Hořeňovský <martin.horenovsky@gmail.com> | 11 July 2022, 16:31:32 UTC |
5f9109a | Niels Kristian Kjærgård Madsen | 06 July 2022, 22:03:02 UTC | Fix nvcc compile error (#2477) Co-authored-by: Niels Kristian Kjærgård Madsen <nkm@kvantify.dk> | 06 July 2022, 22:03:02 UTC |
5a1ef7e | Martin Hořeňovský | 27 June 2022, 11:10:22 UTC | Redo visibility fallback | 27 June 2022, 11:10:22 UTC |
bea58bf | Martin Hořeňovský | 24 June 2022, 14:26:08 UTC | Allow building Catch2 as dynamic library Also have a check that warns users if they try to combined dynamic library with hidden visibility, which we do not support. Closes #2397 Closes #2398 | 24 June 2022, 14:26:12 UTC |
34d9724 | Martin Hořeňovský | 24 June 2022, 12:12:55 UTC | Add experimental CMake script for sharding tests in binaries | 24 June 2022, 12:12:55 UTC |
5d26904 | Martin Hořeňovský | 21 June 2022, 22:14:26 UTC | Add section on running tests in parallel to the FAQ | 24 June 2022, 09:20:31 UTC |
95a1206 | Martin Hořeňovský | 21 June 2022, 22:13:53 UTC | Add doc page with best practices and other usage tips | 24 June 2022, 09:20:22 UTC |
6f9f146 | Martin Hořeňovský | 21 June 2022, 22:11:02 UTC | Shorten lines in sharding docs | 21 June 2022, 22:12:16 UTC |
8730260 | Martin Hořeňovský | 21 June 2022, 14:19:50 UTC | Split apart combined TUs The compile time improvements from using combined TUs mostly isn't worth the annoyance they cause with various IDE shortcuts, like when switching between header and its impl. file. Splitting them apart also fixes the issue of empty subdirs being installed due to `foo/internal` folders that only contained the combined TUs and no headers. Closes #2457 Closes #2463 | 21 June 2022, 16:48:44 UTC |
bdfa920 | Martin Hořeňovský | 21 June 2022, 12:21:12 UTC | Use binary path in testBazelReporter reporter output path | 21 June 2022, 12:21:12 UTC |
a369267 | Frank Dana | 19 June 2022, 14:24:59 UTC | test-fixtures.md: Line-wrap code examples (#2464) * test-fixtures.md: Line-wrap code examples * relinebreak Co-authored-by: Martin Hořeňovský <martin.horenovsky@gmail.com> | 19 June 2022, 14:24:59 UTC |
1f381a1 | Nexus Web Development | 18 June 2022, 21:47:49 UTC | Update commercial-users.md (#2465) Using Catch2 and now Catch3 for our client's as well as our own projects and loving it. Especially the easy C++ BDD setup and implementation. | 18 June 2022, 21:47:49 UTC |
165647a | Martin Hořeňovský | 17 June 2022, 16:23:06 UTC | Change provideBazelReporterOutput to local linkage | 17 June 2022, 16:23:06 UTC |
7e4ec43 | Brandon Jones | 14 June 2022, 09:56:19 UTC | Change Bazel XML support to depend upon BAZEL_TEST | 17 June 2022, 14:36:14 UTC |
078201f | Martin Hořeňovský | 16 June 2022, 20:16:31 UTC | Remove HOMEPAGE_URL from project call Closes #2428 | 16 June 2022, 20:16:44 UTC |
8110ee9 | Murray Johnson | 13 June 2022, 15:54:16 UTC | Add lib/cmake/Catch2 to conan builddirs in package recipe so extras/*.cmake files are packaged | 15 June 2022, 08:50:24 UTC |
fa94164 | Martin Hořeňovský | 14 June 2022, 21:42:00 UTC | Refactor shared args in approvalTests.py | 14 June 2022, 21:42:00 UTC |
338e4ec | Martin Hořeňovský | 14 June 2022, 21:23:59 UTC | Force disable console colours for tests that regex check output Fixes #2458 | 14 June 2022, 21:24:06 UTC |
372b757 | Martin Hořeňovský | 13 June 2022, 21:51:43 UTC | Remove deprecation notice for console colour CLI The required changes were one of the last commits before the full v3 release. | 13 June 2022, 21:52:31 UTC |
d32fca4 | Martin Hořeňovský | 08 June 2022, 13:59:57 UTC | Merge pull request #2452 from lizzyd710/devel Added Cytopia to opensource-users.md | 08 June 2022, 13:59:57 UTC |
a0ece7b | Morwenn | 07 June 2022, 16:46:46 UTC | Compatility fixes for GCC5 (#2448) * GCC5 compat: work around inherited constructor issues Don't use inherited constructors, forward manually instead. This basically reverts 61f803126d3cff2195d700d11d07c6578f416b23. I believe that GCC5 does not implement P0136, a C++17 change that made inherited constructors actually usable and was backported as a DR all the way to C++11. * GCC5 compat: bypass std::pair construction issue Co-authored-by: Martin Hořeňovský <martin.horenovsky@gmail.com> | 07 June 2022, 16:46:46 UTC |
0a810c5 | Elizabeth Sherrock | 07 June 2022, 13:06:10 UTC | Added Cytopia to opensource-users.md | 07 June 2022, 13:06:10 UTC |
d0177ee | Joe Noël | 06 June 2022, 14:36:22 UTC | Fix implicit long to double conversion Raises a compiler warning when compiled with `-Wimplicit-int-float-conversion` using clang. | 06 June 2022, 22:27:37 UTC |
173539a | Martin Hořeňovský | 05 June 2022, 22:20:55 UTC | Update the 'Try online' badge link for 3.0.1 | 05 June 2022, 22:29:05 UTC |
8822e28 | Martin Hořeňovský | 05 June 2022, 22:13:11 UTC | Update CE link in BDD documentation for 3.0.1 The old compiler was no longer built-for, so it couldn't link against new versions, and also didn't properly provide the user-config header. Closes #2396 | 05 June 2022, 22:29:02 UTC |
ff9506c | Martin Hořeňovský | 05 June 2022, 12:51:34 UTC | Only test SEH handling with MSVC MinGW doesn't support `__try` and friends at all, while Clang only supports it partially, and the test would require some changes to make it work there. Since this is only a test, we can afford to keep it MSVC-only. Closes #2447 | 05 June 2022, 22:29:01 UTC |
0c13d02 | Petr Kubánek | 24 May 2022, 08:07:17 UTC | Update documentation - add pkg-config examples. Use -std=c++14 (instead of c++11). Pointers how to integrate with pkg-config for non-CMake projects. | 05 June 2022, 13:58:41 UTC |
3644b41 | balus | 04 June 2022, 02:35:51 UTC | Doc: correct the address of the link to the command-line doc in tutorial.md | 04 June 2022, 08:20:01 UTC |
1c4f52b | ahans | 03 June 2022, 14:17:14 UTC | Suppress NVCC unused variable warnings (#2427) Closes #2306 | 03 June 2022, 14:17:14 UTC |
231c58a | Sergio Losilla | 02 June 2022, 19:50:51 UTC | Add table with verbosity levels (missing --list-listeners) (#2443) Co-authored-by: Sergio Losilla <sergio.losilla@nt-bnct.com> Co-authored-by: Martin Hořeňovský <martin.horenovsky@gmail.com> | 02 June 2022, 19:50:51 UTC |
5efd327 | Sergio Losilla | 02 June 2022, 14:11:12 UTC | Fix crash when running with --list-listeners and no registered listeners (#2442) Co-authored-by: Sergio Losilla <sergio.losilla@nt-bnct.com> | 02 June 2022, 14:11:12 UTC |
40dd9dd | Martin Hořeňovský | 02 June 2022, 13:51:21 UTC | Fix copy paste error in the new random gen constraint | 02 June 2022, 13:51:21 UTC |
4142e69 | Martin Hořeňovský | 02 June 2022, 10:15:29 UTC | Add full set of constraints to random integral generator Related to #2433 | 02 June 2022, 10:15:35 UTC |
9e44593 | Martin Hořeňovský | 02 June 2022, 09:54:15 UTC | Remove obsolete todo | 02 June 2022, 09:54:15 UTC |
2dc657c | Martin Hořeňovský | 02 June 2022, 07:16:04 UTC | Make default colour selection fall-through Closes #2426 | 02 June 2022, 07:16:10 UTC |
cca5923 | Martin Hořeňovský | 31 May 2022, 21:57:02 UTC | Leak full Wparentheses suppression for GCC 9 Reported as an issue on Discord. I thought that by GCC 9, the C++ frontend was fixed enough to support `_Pragma`-based suppression correctly, but apparently I was wrong. | 31 May 2022, 21:57:09 UTC |
8c952bd | Martin Hořeňovský | 31 May 2022, 09:49:14 UTC | Point to 3.0.1 in FetchContent example Closes #2326 Closes #2438 | 31 May 2022, 09:49:24 UTC |
85c00eb | Martin Hořeňovský | 23 May 2022, 21:57:34 UTC | Ensure that console_width.hpp includes user_config.hpp first Otherwise we can get macro redefinition warnings when another file includes console_width.hpp first, before user_config.hpp. Closes #2431 | 23 May 2022, 21:57:42 UTC |
3a18a68 | Martin Hořeňovský | 21 May 2022, 11:04:09 UTC | Mention CMake's integration with CATCH_CONFIG options | 21 May 2022, 11:04:09 UTC |
605a347 | Martin Hořeňovský | 17 May 2022, 20:13:36 UTC | v3.0.1 | 17 May 2022, 20:13:36 UTC |
abb669d | Martin Hořeňovský | 17 May 2022, 20:12:41 UTC | Extend project call for Catch2 This provides some extra metadata for CPack and related tools. | 17 May 2022, 20:12:44 UTC |
dcafc60 | Martin Hořeňovský | 17 May 2022, 19:49:17 UTC | Only reseed the internal RNG when a test is first entered This fixes multiple issues with random generators, with the most important one being that multiple nested generators could return values from the same sequence, due to internal implementation details of `GENERATE`, and how they interact with test case paths. The cost of doing this is that given this simple `TEST_CASE`, ```cpp TEST_CASE("foo") { auto i = GENERATE(take(10, random(0, 100)); SECTION("A") { auto j = GENERATE(take(10, random(0, 100)); } SECTION("B") { auto k = GENERATE(take(10, random(0, 100)); } } ``` `k` will have different values between running the test as a whole, e.g. with `./tests "foo"`, and running only the "B" section with `./tests "foo" -c "B"`. I consider this an acceptable cost, because the only alternative would be very messy to implement, and add a lot of brittle and complex code for relatively little benefit. If this calculation changes, we will need to instead walk the current tracker tree whenever a random generator is being constructed, check for random generators on the path to root, and take a seed from them. | 17 May 2022, 19:49:26 UTC |
7a2a6c6 | Martin Hořeňovský | 17 May 2022, 15:57:15 UTC | Make Random*Generators be seedable This is a necessary step to fix issue with combining multiple random generators in one test case, with different section nesting. | 17 May 2022, 15:57:21 UTC |
359cd61 | Martin Hořeňovský | 17 May 2022, 13:37:14 UTC | Rename global rng() to sharedRng() | 17 May 2022, 13:43:23 UTC |
9c72b30 | Martin Hořeňovský | 17 May 2022, 10:35:34 UTC | Reseed global rng instance unconditionally | 17 May 2022, 10:35:34 UTC |
6044f02 | Martin Hořeňovský | 17 May 2022, 09:54:12 UTC | Don't reseed std::srand when resetting rng state We no longer use `std::rand` anywhere, so there is no point, and it might even interfere with our users use of `std::(s)rand`. | 17 May 2022, 09:54:19 UTC |
5d7883b | Martin Hořeňovský | 16 May 2022, 19:50:52 UTC | Remove leftover comment in tests | 16 May 2022, 19:50:52 UTC |
04a54b0 | Martin Hořeňovský | 16 May 2022, 16:39:01 UTC | Fix release automation script | 16 May 2022, 16:39:01 UTC |
48f3226 | Martin Hořeňovský | 16 May 2022, 14:34:06 UTC | Add support for retrieving generator's element as string | 16 May 2022, 14:34:06 UTC |