https://github.com/philsquared/Catch

sort by:
Revision Author Date Message Commit Date
53d0d91 v3.5.0 10 December 2023, 23:55:40 UTC
1648c30 Look just for 'Catch2 X.Y.Z' in doc placeholder update 10 December 2023, 23:52:22 UTC
d4e9fb8 Highlight that SECTIONs rerun the entire test case from beginning (#2749) 10 December 2023, 21:35:54 UTC
b606bc2 Remove obsolete section in limitations.md We no longer use `std::shuffle` to implement random test order, so a debug mode bug in old versions of libstdc++ cannot apply to us. 10 December 2023, 21:09:48 UTC
4ab0af8 Fix minor typos in documentation (#2769) Co-authored-by: Martin Hořeňovský <martin.horenovsky@gmail.com> 10 December 2023, 21:01:13 UTC
b7d70dd Ensure we always read 32 bit seed from std::random_device 10 December 2023, 20:37:12 UTC
a6f22c5 Remove static instance of std::random_device in Benchmark::analyse_samples 10 December 2023, 20:22:43 UTC
1887d42 Use our PCG32 RNG instead of mt19937 in Benchmark::analyse_samples 10 December 2023, 20:18:23 UTC
1774dbf Make it clearer that the JSON reporter is WIP 10 December 2023, 20:04:56 UTC
cb07ff9 Fix uniform_floating_point_distribution for unit ranges 10 December 2023, 18:53:46 UTC
ae4fe16 Make the user-facing random Generators reproducible Thanks to the new distributions, this is almost trivial change. 10 December 2023, 18:53:44 UTC
28c66fd Make uniform_floating_point_distribution reproducible By moving to use our `uniform_integer_distribution`, which is reproducible across different platforms, instead of the stdlib one which is not, we can provide reproducible results for `float`s and `double`s. Still no reproducibility for `long double`s, because those are too different across different platforms. 10 December 2023, 18:53:41 UTC
ed9d672 Add uniform_integer_distribution 10 December 2023, 18:53:39 UTC
04a829b Add helpers for implementing uniform integer distribution * Utility for extended mult n x n bits -> 2n bits * Utility to adapt output from URBG to target (unsigned) integral type * Utility to reorder signed values into unsigned type while keeping the order. 10 December 2023, 18:53:36 UTC
ab1b079 Add uniform_floating_point_distribution 10 December 2023, 17:44:12 UTC
d139b4f Add implementation of helpers for uniform float distribution Specifically we add * `gamma(a, b)`, which returns the magnitude of largest 1-ULP step in range [a, b]. * `count_equidistant_float(a, b, distance)`, which returns the number of equi-distant floats in range [a, b]. 10 December 2023, 17:44:10 UTC
bfd9f0f Move nextafter polyfill to polyfills.hpp 10 December 2023, 17:44:06 UTC
9a1e735 Add test showing literals and complex generators in one GENERATE 10 December 2023, 17:32:45 UTC
21d2da2 Fix typo in tostring.md specialiation -> specialization 09 December 2023, 20:00:24 UTC
d1d7414 Always run apt-get update before apt-get install The base images for GitHub Actions are updated weekly, but sometimes that is not enough to be able to install the packages we require. The recommended fix for this is to always run `apt-get update` before `apt-get install`. 09 December 2023, 11:05:45 UTC
dacbf4f Drop VS 2017 support We do not support specific compilers, but rather compilers with reasonable quality of their C++14 support. While developing the new random generators, I ran into issues with VS2017 where it rejects perfectly valid C++14 code, **and** the error does not point me in the right direction to try and work around the issue. It is time for VS2017 to go. 08 December 2023, 22:54:00 UTC
0520ff4 [DOC] Replaced broken link (fixes #2770) The original link is no longer available but a fork is still on GitHub. 02 December 2023, 21:05:48 UTC
4a7be16 Fix compilation on Xbox platforms Xbox does not support getenv 02 December 2023, 21:03:48 UTC
32d9ae2 JSONWriter deals in StringRefs instead of std::strings Together with liberal use of `_sr` UDL to compile-time convert string literals into StringRefs, this will reduce the number of allocation and remove most of the strcpy calls inherent in converting string lits into `std::string`s. 17 November 2023, 08:54:03 UTC
de7ba4e fn need to be in parenthesis Otherwise intel c++ 19.1 cause an error "expression preceding parentheses of apparent call must have (pointer-to-) function type CATCH2" 16 November 2023, 11:33:35 UTC
733b901 Fix special character escaping in JsonWriter 14 November 2023, 22:35:22 UTC
7bf136b Add JSON reporter (#2706) Co-authored-by: Martin Hořeňovský <martin.horenovsky@gmail.com> 14 November 2023, 21:52:15 UTC
2c68a0d lifted suggested version Did this, because with 3.0.1, the files - catch_xmlwriter.cpp - catch_string_manip.hpp - catch_test_case_info.hpp were missing This led to some obvious and some obscure compile errors when compiling with g++ 13.2.0 (std c++17 or c++20) One of these errors being "Elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword" Since this is a rather bad experience and debugging it is time-consuming, I suggest to simply boost the recommended version in the snippet which is likely copied by new Catch2 users 14 November 2023, 16:10:31 UTC
01cac90 Bump up actions/checkout version to v4 (#2760) 09 November 2023, 09:31:49 UTC
b735dfc Increase build parallelism on macOS (#2759) Co-authored-by: Martin Hořeňovský <martin.horenovsky@gmail.com> 07 November 2023, 21:17:47 UTC
caffe79 Fix missing include in catch_message.hpp Because the issue comes from the expansions of `UNSCOPED_INFO`, surrogate TUs could not catch this bug, and in common usage, the include transitively comes from `catch_test_macros.hpp`. Fixes #2758 03 November 2023, 23:33:18 UTC
a8cf3e6 Mark `CATCH_CONFIG_` options as advanced These options are rather low-level and don't need to be seen in the CMake cache unless you opt into seeing all other advanced options. This removes a lot of cache entries from the screen when using a GUI or TUI to view the cache thus making it easier for users to focus on the cache variables they're more likely to change on a frequent basis. 31 October 2023, 23:27:46 UTC
79d39a1 Fix tests for C++23's multi-arg index operator Closes #2744 28 October 2023, 19:49:58 UTC
6ebc013 Fix UDL definitions for C++23 Technically, the declaration should not have a space between the quotes and the underscore, because `_foo` is a reserved identifier, but `""_foo` is not. In general it works, but newer Clang versions warn about this, because WG21 wants to deprecate and later remove this form completely. 28 October 2023, 19:35:03 UTC
966d361 Improve formatting of test specification docs The existing formatting created one-element lists separated by paragraphs, when it would make more sense to have the paragraphs that are providing more information about one of those list entries be part of the list entry itself. I think this makes the documentation easier to read in both markdown and html form, and should also improve the structure for assistive technologies. 24 October 2023, 14:01:56 UTC
766541d why-catch.md: Add JetBrains survey link 27 September 2023, 18:14:35 UTC
7b79331 Catch.cmake: Support CMake multi-config with PRE_TEST discovery mode (#2739) Closes #2746 --------- Co-authored-by: Holger Kaelberer <Holger.Kaelberer@bmw.de> 25 September 2023, 17:40:35 UTC
0fb817e fix some bugprone-macro-parentheses warnings When using the public headers of catch2 in another project that uses clang-tidy with some checks enabled, then some warnings in catch2's headers are also reported. This fixes a bunch of bugprone-macro-parentheses warnings. See: https://clang.llvm.org/extra/clang-tidy/checks/bugprone/macro-parentheses.html 25 September 2023, 08:56:45 UTC
f161110 Merge pull request #2747 from xandox/devel correct argument references in CatchAddTests.cmake 25 September 2023, 08:52:10 UTC
db495ac correct argument references in CatchAddTests.cmake 20 September 2023, 13:47:11 UTC
9c541ca Add test for multiple streaming parts in UNSCOPED_INFO 17 September 2023, 08:44:31 UTC
9267259 Make jackknife TU-local to stats.cpp 16 September 2023, 19:29:47 UTC
56fcd58 Make directCompare TU-local to stats.cpp 16 September 2023, 19:18:44 UTC
aafe09b Update meson.build to fix #2722 (#2742) 13 September 2023, 08:06:14 UTC
47a2c96 Reduce the number of templates in Benchmarking The basic idea was to reduce the number of things dependent on the `Clock` type. To that end, I replaced `Duration<Clock>` with `IDuration` typedef for `std::nanoseconds`, and `FloatDuration<Clock>` with `FDuration` typedef for `Duration<double, std::nano>`. We can generally assume that any clock's duration can be expressed in nanoseconds, as long as we insert `duration_cast`s into the right places. Note that we cannot remove all dependence on `Clock` as a template arguments, because functions that actually measure the elapsed time have to use the Clock. We also changed some template function arguments to pass plain function pointers, so that the actual implementation can be placed into a cpp file. 08 September 2023, 08:04:31 UTC
fb96279 Remove superfluous stdlib includes from catch_benchmark.hpp 08 September 2023, 08:04:24 UTC
e14a08d Remove unused typedef from Benchmark::Environment 08 September 2023, 08:04:22 UTC
9bba07c Replace vector iterator args in benchmarks with ptr args 08 September 2023, 08:04:19 UTC
b4ffba5 Update sample output in docs/benchmarks.md 08 September 2023, 08:04:17 UTC
3a5cde5 implement stringify for std::nullopt_t 30 August 2023, 14:21:02 UTC
2a19ae1 Rewrite commandline test spec docs Closes #2738 30 August 2023, 14:18:34 UTC
f24d39e Support C arrays and ADL ranges in from_range generator Closes #2737 29 August 2023, 13:38:13 UTC
85eb465 Add nice license headers to files in examples/ and fuzzing/ Related to #2730 24 August 2023, 14:34:31 UTC
5bba3e4 Edited amalgamated file generator, to block REUSE from getting confused It struggled with the copyright lines included as string literals. 19 August 2023, 12:31:27 UTC
e09de72 Small cleanup in XML reporter 14 August 2023, 10:41:52 UTC
a64ff32 Change 'estimated' to 'est run time' in console reporter output 14 August 2023, 08:22:59 UTC
ad56463 Flush stream after benchmarkStarting in ConsoleReporter This means that the user will see the estimation of full benchmark running time when it is available, unlike now when it often only ends up flushed after the benchmark is fully finished. This means that the user will almost immediately see the start of table like this ``` benchmark name samples iterations estimated mean low mean high mean std dev low std dev high std dev ------------------------------------------------------------------------------- Fill vector generated 100 54 3.0834 ms ``` This presents significant improvement in user experience especially for long running benchmarks. 13 August 2023, 21:09:02 UTC
9538d16 Mention missing catch_user_config.hpp in FAQ 11 August 2023, 13:36:23 UTC
a94bee7 Add missing line for v3.4.0 to ToC in release-notes.md 11 August 2023, 13:36:03 UTC
d7304f0 Constify section hints in static-analysis mode This prevents a `misc-const-correctness` in clang-tidy 10 August 2023, 19:02:18 UTC
cd60a03 Assert Info reset need to also reset result disposition to normal to handle uncaught exception correctly (#2723) * AssertionEnd does not reset the assertion info yet. That is done after populateReaction. And reset assertion info would also reset the result disposition to normal, so that any uncaught exception would be reported as failure * Approving test output changes due to added unit tests * Unit tests to throw std::runtime_error instead of std::exception * Add a unit test to test incomplete assertion handler --------- Co-authored-by: Ross <ross.tang@gfo-x.com> 07 August 2023, 20:07:31 UTC
b593be2 Always default empty destructors 05 August 2023, 16:21:38 UTC
ed4acde Don't define tryTranslators function if exception are disabled "-Wunused-function -Wall" produces if this function is defined when exceptions are disabled 04 August 2023, 13:28:55 UTC
4acc518 Introduce CATCH_CONFIG_PREFIX_MESSAGES to only prefix a few logging related macros. (#2544) * Add missing include for VxWorks build. std::min is defined in algorithm provides std::min. It appears to be transitively included for most platforms. For VxWorks however this explicit include is required. * Add option CATCH_CONFIG_PREFIX_MESSAGES to selectively prefix message macros only. In contrast to CATCH_CONFIG_PREFIX_ALL, this will only prefix the following macros: I.e. INFO, UNSCOPED_INFO, WARN and CATCH_CAPTURE This is mainly useful for codebases that use INFO or WARN for their own logging macros. 19 July 2023, 15:04:43 UTC
6e79e68 v3.4.0 13 July 2023, 11:37:30 UTC
683c857 Clean up explanation in tests 12 July 2023, 09:49:43 UTC
1b049bd 2 more TEST_CASEs to DiscoverTests/register-tests.cpp 03 July 2023, 22:06:24 UTC
e4b1605 Escape Catch2 test names in catch_discover_tests tests 15 June 2023, 12:19:39 UTC
42ee66b Fix handling of semicolon and backslash characters in CMake test discovery (#2676) This PR fixes the handling of semicolon and backslash characters in test names in the CMake test discovery Closes #2674 14 June 2023, 21:40:10 UTC
a0c6a28 Fix possible FP in catch_discover_tests tests 14 June 2023, 21:31:41 UTC
c836314 Add test scaffolding for catch_discover_tests 14 June 2023, 19:14:33 UTC
7a52dfa Fix typo in cross-docs links 11 June 2023, 17:37:15 UTC
9131736 Bazel support: Update skylib 08 June 2023, 11:30:50 UTC
0631b60 Test & document SKIP in generator constructor Closes #1593 31 May 2023, 13:12:43 UTC
dff7513 Static analysis cleanup in tests 29 May 2023, 19:45:30 UTC
bf5aa7b Experimental static analysis support in TEST_CASE and SECTION Closes #2681 29 May 2023, 19:45:28 UTC
dba9197 Add new config option: STATIC_ANALYSIS_SUPPORT 28 May 2023, 22:55:20 UTC
f60c153 Add macro for suppressing Wshadow 28 May 2023, 19:07:31 UTC
b3cf1bf Avoid unused variable warning in GeneratorsImpl tests 28 May 2023, 19:05:01 UTC
73b93ce Include catch_user_config.hpp in all catch_config_* files 28 May 2023, 19:04:16 UTC
8008625 Merge pull request #2693 from Ali-Amir/u/ali/optional-meson-unit-tests Add option to disable building unit tests in Meson build file. 27 May 2023, 10:00:52 UTC
ce7b153 Add option to disable building unit tests in Meson build file. 26 May 2023, 17:05:06 UTC
535205e Suppress -Wunused-result warning in gcc See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66425. 23 May 2023, 21:31:55 UTC
689fdcd Fix some tests never being run 20 May 2023, 20:03:48 UTC
a153fce Improve error messages for TEST_CASE tag parsing errors Also removes a duplicated test case checking for empty tag error. Related to #2650 20 May 2023, 19:13:48 UTC
06c0e1c Merge pull request #2689 from ThePhD/fix/includes/header-exception 🛠💚 Add <exception> header where strictly necessary 16 May 2023, 16:41:19 UTC
05d7eb5 🛠 Add <exception> header where strictly necessary 16 May 2023, 16:18:57 UTC
f53bb3a meson: require version >=0.54.1 See discussion in https://github.com/mesonbuild/wrapdb/pull/1016. 15 May 2023, 15:41:56 UTC
ce8a7b3 Merge pull request #2687 from ChrisThrasher/sfml Add SFML to the list of open source users 15 May 2023, 11:44:59 UTC
6dce539 Add SFML to the list of open source users 13 May 2023, 20:34:34 UTC
5a40b22 Update CatchConfigOptions.cmake Fix CMake warning CMake Warning (dev) at catch2-src/CMake/CatchConfigOptions.cmake:71 (set): uninitialized variable 'BUILD_SHARED_LIBS' 12 May 2023, 11:52:45 UTC
598895d Fix Wredundant-decls Closes #2682 12 May 2023, 07:51:13 UTC
0dc82e0 Move CATCH_INTERNAL_STRINGIFY macro into its own header 07 May 2023, 18:58:54 UTC
8ca504c Move AssertionResult when passing it inside RunContext 06 May 2023, 21:58:48 UTC
c57b5cd Move-enable Catch::optional This avoids copies in couple places through Catch2, e.g. reporter spec handling, and moving around `AssertionResult` in `RunContext`. 06 May 2023, 13:22:02 UTC
d84777c Fix assertionStarting events being sent after the expr is evaluated Closes #2678 06 May 2023, 09:48:41 UTC
51fdbed Internal linkage for outlier_variance 01 May 2023, 11:21:47 UTC
10f0a58 Some template instantiation reductions 01 May 2023, 11:21:45 UTC
fe64c28 Reduce compilation costs of benchmarks We replaced some simple std::algorithm usage by loops, and reduced header inclusion. 01 May 2023, 11:21:41 UTC
7d07efc Clean up iterator usage in benchmarks Specifically we turned `mean`, `classify_outliers`, `jackknife`, into concrete functions that take only `const_iterator` from vecs, instead of generic iterators over anything. I also changed `resample` to take `const_iterator` instead of plain `iterator`, and similar for `standard_deviation`, and `analyse_samples`. 01 May 2023, 11:21:36 UTC
back to top