https://github.com/philsquared/Catch

sort by:
Revision Author Date Message Commit Date
c837cb4 v3.3.0 22 January 2023, 18:53:12 UTC
8359a6b Stop exceptions in generator constructors from aborting the binary Fixes #2615 22 January 2023, 15:04:16 UTC
adf4349 Add missing version information to matchers.md 21 January 2023, 23:35:32 UTC
efca9a0 Added ElementsAre and UnorderedElementsAre (#2377) Co-authored-by: Garz4 <fancygarz4@gmail.com> Co-authored-by: Martin Hořeňovský <martin.horenovsky@gmail.com> 21 January 2023, 23:33:04 UTC
dd36f83 Merge pull request #2630 from ChrisThrasher/export_all_symbols Export symbols for all compilers on Windows 21 January 2023, 14:14:24 UTC
baab9e8 Export symbols for all compilers on Windows 20 January 2023, 23:16:30 UTC
2d3c971 Remove VS2015 workaround from Detail::generate 19 January 2023, 09:34:57 UTC
956f915 Document template macros are in spearate header Type parametrised and signature parametrised test macros are now in their own header. The documentation should reflect that. 18 January 2023, 22:16:55 UTC
aa8da50 Fix compatibility with previous CUDA versions 18 January 2023, 10:57:00 UTC
e27bb71 Fix macro-redefinition issue with MSVC+CUDA Closes #2603 18 January 2023, 10:57:00 UTC
3486f8e Update generator docs 18 January 2023, 10:55:53 UTC
b5be642 catch_debugger.hpp: restore PPC support (#2619) 13 January 2023, 23:03:30 UTC
d59572f Reword the SKIP docs a bit 12 January 2023, 19:39:03 UTC
16f48f8 Add SUCCEED and FAIL docs next to SKIP docs 12 January 2023, 19:38:58 UTC
367c2cb Update doc about what counts as unique test case 12 January 2023, 14:26:32 UTC
d548be2 Add new SKIP macro for skipping tests at runtime (#2360) * Add new SKIP macro for skipping tests at runtime This adds a new `SKIP` macro for dynamically skipping tests at runtime. The "skipped" status of a test case is treated as a first-class citizen, like "succeeded" or "failed", and is reported with a new color on the console. * Don't show "skipped assertions" in console/compact reporters Also extend skip tests to cover a few more use cases. * Return exit code 4 if all test cases are skipped * Use LightGrey for the skip colour This isn't great, but is better than the deep blue that was borderline invisible on dark backgrounds. The fix is to redo the colouring a bit, including introducing light-blue that is actually visible. * Add support for explicit skips in all reporters * --allow-running-no-tests also allows all tests to be skipped * Add docs for SKIP macro, deprecate IEventListener::skipTest Co-authored-by: Martin Hořeňovský <martin.horenovsky@gmail.com> 12 January 2023, 14:01:47 UTC
52066db Fix build with GCC 13 (add missing <cstdint> include) GCC 13 (as usual for new compiler releases) shuffles around some internal includes and so <cstdint> is no longer transitively included. Explicitly include <cstdint> for uint64_t. ``` FAILED: src/CMakeFiles/Catch2.dir/catch2/internal/catch_clara.cpp.o /usr/lib/ccache/bin/g++-13 -I/var/tmp/portage/dev-cpp/catch-3.0.1/work/Catch2-3.0.1/src/catch2/.. -I/var/tmp/portage/dev-cpp/catch-3.0.1/work/Catch2-3.0.1_build/generated-includes -O2 -pipe -march=native -fdiagnostics-color=always -frecord-gcc-switches -Wreturn-type -D_GLIBCXX_ASSERTIONS -ggdb3 -fdiagnostics-color=always -ffile-prefix-map=/var/tmp/portage/dev-cpp/catch-3.0.1/work/Catch2-3.0.1=. -Wall -Wc++20-compat -Wcast-align -Wcatch-value -Wdeprecated -Wexceptions -Wextra -Wextra-semi -Wfloat-equal -Winit-self -Wmisleading-indentation -Wmismatched-new-delete -Wmismatched-tags -Wmissing-braces -Wmissing-declarations -Wmissing-noreturn -Wnull-dereference -Wold-style-cast -Woverloaded-virtual -Wparentheses -Wpedantic -Wreorder -Wshadow -Wstrict-aliasing -Wsuggest-override -Wundef -Wuninitialized -Wunreachable-code -Wunused -Wunused-function -Wunused-parameter -Wvla -MD -MT src/CMakeFiles/Catch2.dir/catch2/internal/catch_clara.cpp.o -MF src/CMakeFiles/Catch2.dir/catch2/internal/catch_clara.cpp.o.d -o src/CMakeFiles/Catch2.dir/catch2/internal/catch_clara.cpp.o -c /var/tmp/portage/dev-cpp/catch-3.0.1/work/Catch2-3.0.1/src/catch2/internal/catch_clara.cpp In file included from /var/tmp/portage/dev-cpp/catch-3.0.1/work/Catch2-3.0.1/src/catch2/internal/catch_clara.cpp:12: /var/tmp/portage/dev-cpp/catch-3.0.1/work/Catch2-3.0.1/src/catch2/../catch2/internal/catch_string_manip.hpp:47:14: error: 'uint64_t' in namespace 'std' does not name a type; did you mean 'wint_t'? 47 | std::uint64_t m_count; | ^~~~~~~~ | wint_t /var/tmp/portage/dev-cpp/catch-3.0.1/work/Catch2-3.0.1/src/catch2/../catch2/internal/catch_string_manip.hpp:51:42: error: expected ')' before 'count' 51 | constexpr pluralise(std::uint64_t count, StringRef label): | ~ ^~~~~~ | ) ``` 08 January 2023, 19:08:58 UTC
cdf604f Update command-line.md Typo in "--list-reporter" link, should be "--list-reporters" 08 January 2023, 18:37:16 UTC
04382af Slightly better clang-format Notably clang-format will no longer try to place template header onto the same line as the function declaration. Sadly it will still do it for attributes, because it took until clang-format 16 for it to get the relevant option. 05 January 2023, 22:02:51 UTC
ac93f19 Improved path normalization in approvalTests.py Instead of redoing the whole line where path was found, only the directory part of the path is removed, instead of removing all of the line before the path starts. This results in slight change in how junit and sonarqube approvals come out, and significant change in how TeamCity reporter approvals come out. This latter difference is the reason for the change, as now the lines with `testFailed` and `testIgnored` messages are not completely butchered. 01 January 2023, 19:27:59 UTC
72b60df Cleanup the Windows GHA builds * Use CMD as the shell and simplify configure/build steps * Include plaform in the build name 30 December 2022, 22:58:05 UTC
0c62167 Merge pull request #2604 from ChrisThrasher/generated_includes_directory Keep generated headers within project binary directory 28 December 2022, 20:19:53 UTC
1be954f Keep generated headers within project binary directory This stops them from appearing in the build directories of projects that may consume Catch2. 27 December 2022, 04:44:35 UTC
78bb4fd Mention that the benchmarks are not run by default next to example 18 December 2022, 20:42:40 UTC
e6ec1c2 Fix benchmarking example in the main readme This uses the same fibonacci implementation as is used in the benchmark test. Closes #2568 18 December 2022, 20:33:45 UTC
477c1f5 Fixed typo in code example in top level README.md 17 December 2022, 20:34:37 UTC
f8b9f77 Prune Appveyor builds 16 December 2022, 21:37:33 UTC
77fbacb Add VS 2019-2022 C+14/17 jobs to GHA For now I added only the basic build matrix, without coverage collection and more special builds, like WMAIN. However, due to GHA being so much faster than AppVeyor, all these builds are now done against the 'all-tests' prefix, making the builds more uniform than they were on AppVeyor. 16 December 2022, 21:34:33 UTC
e3fc97d fix compiler warning in parseUint and catch only relevant exceptions (#2572) 12 December 2022, 11:15:42 UTC
9c0533a Add MessageMatches matcher for exception (#2570) 11 December 2022, 23:40:47 UTC
ed02710 Make AutoReg in test registration macros const 10 December 2022, 20:37:21 UTC
8b84438 Avoid usage of master when possible Signed-off-by: Sergio Arroutbi <sarroutb@redhat.com> 09 December 2022, 22:22:10 UTC
ab6c737 v3.2.1 09 December 2022, 22:10:18 UTC
2460769 Move Catch::always_false into decomposer.hpp 09 December 2022, 15:18:33 UTC
28e651f Move SFINAE in decomposer into return type This is needed so that we can use conjunction and other logical type traits to workaround issue with older GCC versions (8 and below), when they run into types that have ambiguous constructor from `0`, see e.g. #2571. However, using conjunction and friends in the SFINAE constraint in the template parameter breaks for C++20 and up, due to the new comparison operator rewriting rules. With C++20, when the compiler see `a == b`, it also tries `b == a` and collects overload set for both of these expressions. In Catch2, this means that e.g. `REQUIRE( 1 == 2 )` would lead the compiler to check overloads for both `ExprLhs<int> == int` and `int == ExprLhs<int>`. Since the overload set and SFINAE constraints assume that `ExprLhs<T>` is always on the left side, when the compiler tries to resolve the template parameters, all hell breaks loose and the compilation fails. By moving the SFINAE constraints to the return type, the compiler can discard the switched expression without having to resolve the complex SFINAE constraints, and thus everything works the way it is supposed to. Fixes #2571 08 December 2022, 23:40:01 UTC
2d7be1f Add Clang-10 and GCC-10 C++20 builds 22 November 2022, 15:17:18 UTC
1f3b51e Use logo with bit of white background in README Closes #2573 22 November 2022, 15:13:37 UTC
a20200b Revert "Fix old GCC + types with ambiguous constructor from 0" This reverts commit 291c502f6676b8d304b608f936ec26e3b347054a. The issue is that it breaks under C++20 for some reason. 22 November 2022, 14:23:03 UTC
291c502 Fix old GCC + types with ambiguous constructor from 0 Closes #2571 20 November 2022, 16:07:32 UTC
ae1644e Add logical trait polyfills 20 November 2022, 16:03:29 UTC
65cc7fd v3.2.0 16 November 2022, 19:05:48 UTC
c276b53 Fix typo in docs/release-notes.md 16 November 2022, 15:06:29 UTC
8beb74d Add repeatability guarantees to faq.md 16 November 2022, 10:21:00 UTC
e932bcf silence clang's `-Wcomma` 14 November 2022, 12:06:52 UTC
6aa56c7 Mention BUILD.bazel in contributing docs for CATCH_CONFIG* 12 November 2022, 21:08:23 UTC
1cd86c0 meson: update minimum version include_directories of type string began being supported in meson 0.50.0. New warning with meson 0.64 12 November 2022, 13:32:01 UTC
b980d40 Make MatcherGenericBase copy constructor take const parameter. 12 November 2022, 11:22:35 UTC
41990e0 Fix Bazel build (#2563) Also adds a CI job for Bazel build to avoid future breakage. 11 November 2022, 15:54:22 UTC
b65c0e2 Make ScopedMessage in INFO logging macro const If users have const correctness checks enabled then this would flagged forcing users to wrap the INFO macro themselves or forego using it altogether. 10 November 2022, 17:56:20 UTC
6e77e16 Remove unused StringRef argument from MatchExpr Apart from cleaning up the code, this change also improves the compilation time of `UsageTests/Matchers.tests.cpp` by about 2%. 10 November 2022, 14:25:51 UTC
943c6e3 Add version field to the XML reporter output We start at version 2, with version 1 being taken up by the output from Catch2 v2. 10 November 2022, 11:04:51 UTC
066cc51 Document adding new CATCH_CONFIG options to contributing.md 09 November 2022, 15:33:47 UTC
b7f4a2e Add support for PlayStation platforms (#2562) * Add new `CATCH_CONFIG` option for using `std::getenv`, because PS does not support env vars * Add PS to platforms that have disabled posix signals. * Small workaround for PS toolchain bug that prevents it from compiling `std::set` with lambda based comparator. 09 November 2022, 13:47:55 UTC
f8006aa More cleanups for src/CMakeLists.txt * Sort source file lists * Better source_group for cleanup in IDEs * More uniform source lists 09 November 2022, 12:12:42 UTC
fdea5a5 Improve the .clang-format file a bit * add include sorting and grouping * allow some short blocks to be on a single line 07 November 2022, 22:14:29 UTC
297a175 Cleanup the helper scripts * Remove from __future__ import print_function, because we no longer support Python2. * Clean out unused parts of tools/scripts/scriptCommon.py * Move appveyorMergeCoverageScript to Python3 * Update user reporting in *release scripts * Cleanup module imports 06 November 2022, 20:23:16 UTC
d1ef461 Update basic cost estimates for approvals/benchmarks 06 November 2022, 20:23:03 UTC
0c75caf Don't write ApprovalTests' temporary files into the source tree This has two effects: 1) This significantly improves the performance of ApprovalTests run in WSL, because running the massively multi-reporter test would cause lots of small and parallel writes across the WSL-Windows FS boundary, completely mudering performance. 2) ApprovalTests can be run from multiple build dirs in parallel, as long as they do not fail. However, if they do fail, the multiple runs will still step on each other toes when writing the unapproved files for user. 05 November 2022, 23:11:38 UTC
3b139ae Decomposer checks for 0 when assuming an int arg was 0 literal 05 November 2022, 19:43:52 UTC
5f9d4ef Move throwing test failure exceptions into a helper 04 November 2022, 23:22:45 UTC
ec59cd8 Support decomposing types that only compare with literal 0 This is primarily done to support new `std::*_ordering` types, but the refactoring also supports any other type with this property. The compilation overhead is surprisingly low. Testing it with clang on a Linux machine, compiling our SelfTest project takes only 2-3% longer with these changes than it takes otherwise. Closes #2555 04 November 2022, 18:24:44 UTC
d7f8c36 Add traits for checking whether types are comparable 04 November 2022, 18:24:42 UTC
b3dbd83 Add test for comparing pointers to NULL with != 04 November 2022, 18:24:39 UTC
0a1b0ae Meson build fixes * Add missing files to `tests/meson.build` * Rename meson build workflows to be more easily identifiable 04 November 2022, 18:24:36 UTC
272bed0 Set CMAKE_CXX_STANDARD_REQUIRED=ON in Github Action builds 29 October 2022, 19:05:02 UTC
82cec69 Don't set C++ standard in CMakeLists for tests 29 October 2022, 19:04:58 UTC
b56c474 Update comparing-floating-point-numbers.md 29 October 2022, 10:42:45 UTC
12b4390 Fix license rebase error in test helpers 28 October 2022, 12:39:56 UTC
3b40cf1 Split out parseTestSpec into test-only helpers 28 October 2022, 11:27:46 UTC
223d8d6 Merge pull request #2557 from ltoenning/fix/license_file_ref Fix references to license file 28 October 2022, 11:04:29 UTC
f1084fb Fix references to license file The license file was renamed with 6a502cc2f5fedd59b3495b58708f0d6d987ed9e1 28 October 2022, 09:30:15 UTC
d41da10 Change reporters to report filters in round-trippable format 27 October 2022, 18:46:59 UTC
d2294ad Add test for round-tripping serialization of unmatched test specs 27 October 2022, 17:11:20 UTC
e19ed22 Provide round-tripping serialization for TestSpec 27 October 2022, 16:23:59 UTC
c6dfeb5 Split tests for TestSpec into its own file They also got slapped with the `[approvals]` tag in the process, because we have too many approval tests and want less of them, and these particular tests don't bring much value. Related to #2090 26 October 2022, 19:03:56 UTC
17fac85 Add test checking that reporters report filters 26 October 2022, 09:26:10 UTC
ffa1520 Report used filters in the SonarQube reporter 25 October 2022, 22:05:00 UTC
0ce8c25 Report used filters in the TAP reporter 25 October 2022, 22:04:49 UTC
6185d0c Use console reporter's totals summary for compact reporter This changes the compact reporter's summary of test run totals to use the same format as the console reporter. This means that while output is no longer on a single line (two instead), it now includes totals for `failedButOk` test cases and assertions, which were previously missing. 25 October 2022, 18:02:26 UTC
8ce92d2 CatchMiscFunctions.cmake: Use PRIVATE for target_compile_options (#2553) With the changes to how `-ffile-prefix-map` is detected, Catch2 started propagating the flag to its dependents, which isn't the desired behaviour, the normalization should only apply to Catch2's impl. 24 October 2022, 16:26:40 UTC
a43f679 Refactor parsing of shard index/count in cmdline handling This worsens the message for negative numbers a bit, but simplifies the code enough that this is still a win. 22 October 2022, 22:10:05 UTC
f1361ef Refactor how the RNG seed is parsed when handling cmdline 22 October 2022, 20:18:30 UTC
d1e7544 Simplify handling of environment in Bazel's support 22 October 2022, 20:18:27 UTC
3fed230 Add Detail::getEnv wrapper that compiles under UWP Under UWP it will always return nullptr, so UWP will essentially behave as if the environment was just empty. 22 October 2022, 20:18:24 UTC
2d0dcc3 Add Bazel support to the documentation 21 October 2022, 08:53:55 UTC
80d58a7 Add support for Bazel's sharding env variables Closes #2491 21 October 2022, 08:53:53 UTC
d7341b5 Add parseUInt utility function There is an increasing number of places where Catch2 wants to parse strings into numbers, but being stuck in C++14 world, we do not have good stdlib facilities to do this (`strtoul` and `stoul` are both bad). 21 October 2022, 08:53:50 UTC
38d9260 Tiny fix for testBazelReporter.py 20 October 2022, 19:34:35 UTC
9d08689 Add support for Bazel's TESTBRIDGE_TEST_ONLY env var Closes #2490 20 October 2022, 19:34:32 UTC
afc017e Rename provideBazelReporterOutput -> enableBazelEnvSupport The new name better reflects that we are adding support for more Bazel environment variables. 20 October 2022, 19:34:27 UTC
fb68bb0 Fix microbenchmark example in the main readme.md 20 October 2022, 19:34:25 UTC
77f7c01 Fix fibonacci impl in benchmark tests The previous implementation was always 1 number ahead. Fixing this is not important at all, but it was bugging me. 18 October 2022, 08:44:18 UTC
be060cd Update README.md * Add usage examples to the introduction * Mention that v3 has been released 17 October 2022, 19:47:22 UTC
5df88da 3.1.1 17 October 2022, 17:57:58 UTC
5cd8938 Update explanation of REQUIRE_FALSE in docs/assertions.md 17 October 2022, 13:13:00 UTC
6a422ba Trim superfluous whitespace in docs 17 October 2022, 13:02:45 UTC
a07ac3f Rewrite explanation of problems with && and || in assertions 17 October 2022, 10:36:02 UTC
d8619f0 Fixup shard index docs Closes #2547 16 October 2022, 15:00:29 UTC
95cd95e 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 Bold section 'headings' in docs/readme.md 15 October 2022, 21:50:18 UTC
back to top