https://github.com/philsquared/Catch

sort by:
Revision Author Date Message Commit Date
f7fbbac Update release notes for v3 14 May 2020, 12:57:22 UTC
ddde2f5 Remove obsolete configuration macros from the documentation 14 May 2020, 12:52:33 UTC
d5e87ea Add provided generic matchers to the documentation 14 May 2020, 12:48:48 UTC
29d4b37 Add Wsuggest-override to warning flags 13 May 2020, 14:09:34 UTC
ae0ba81 Use more warnings for develoment builds 12 May 2020, 21:56:51 UTC
03ef6b9 Explicitly default smfs when relevant to avoid Wdeprecated-copy-dtor 12 May 2020, 21:56:34 UTC
579dcd1 Ignore Wdeprecated for Clara 12 May 2020, 21:56:24 UTC
eb267b4 Tap reporter changes 12 May 2020, 21:56:23 UTC
2528247 Delete Capturer's smf As part of `-Wdeprecated-copy-dtor` sweep, I noticed that Capturer's copies are defaulted. Given that the class would likely break horribly in the event of actual copy happening, they are now deleted. 12 May 2020, 21:56:08 UTC
f56832d Add Catch2::Catch2 alias for Catch2 CMake target 11 May 2020, 18:05:10 UTC
601ca1c Refactor some uses of virtual -> override 11 May 2020, 14:34:55 UTC
a39154e Do not explicitly default smfs if all of them are defaulted 10 May 2020, 22:00:55 UTC
7c622a7 Unvirtual bunch off destructors of simple data classes 10 May 2020, 21:57:05 UTC
04cbbb8 Replace getLineOfChars with non-templated, runtime version 10 May 2020, 21:52:38 UTC
f64487b Move LazyExpr's and MessageInfo's implementation to the combined TU Some of the implementations were inlined instead. 10 May 2020, 18:21:04 UTC
27f1756 Split out LazyExpr into its own header This enables us to avoid `catch_reporter_bases.hpp` being indirectly dependent on `catch_tostring.hpp`, cutting apart quite a bit indirect inclusions. 10 May 2020, 18:21:02 UTC
824ffe6 Inline and default LazyExpression's constructor 10 May 2020, 18:20:59 UTC
d5e08a4 Rename catch_assertionhandler -> catch_assertion_handler 10 May 2020, 18:20:56 UTC
ed967fd Split MessageInfo into its own header This is first step towards splitting apart reporter implementation and `catch_string.hpp`. 10 May 2020, 18:20:52 UTC
7030d77 Remove some superfluous includes from reporters 10 May 2020, 18:20:47 UTC
7efbc83 Introduce combined TUs for compiling small TUs This should improve the compilation times by decreasing the number of TUs compiled, without making overly big TUs that would cause problems with heavy-tailed compilation times. There is one "combined TU" for the top level part, and each subpart, except for Reporters, which currently do not have any trivial TUs. 10 May 2020, 13:37:29 UTC
9e49827 Move StringRef header to internals 10 May 2020, 08:09:01 UTC
14533f5 Make Colour's op<< hidden friend 10 May 2020, 05:32:40 UTC
895d0a0 Small improvements for StringRef * `operator[]` is constexpr * `operator<<` and `operator+=` are hidden friends 10 May 2020, 05:22:11 UTC
094d840 Cleanup SourceLineInfo implementation Special member functions are now implicit, which should make them both noexcept and constexpr. The `operator<<` has been made into hidden friend as per best practices. 10 May 2020, 04:57:02 UTC
a595066 Use internal linkage for float stringification helper 10 May 2020, 04:54:23 UTC
cb25c4a Reinline some StringMaker impls 09 May 2020, 19:26:42 UTC
b93cf93 Use UDLs to construct StringRefs for decomposed operators directly 09 May 2020, 19:07:55 UTC
eef6c9b Microopt: stream single char instead of single char string 09 May 2020, 19:02:12 UTC
b5a287f Make rest of the generators final 09 May 2020, 18:56:25 UTC
e1a0cce Remove Clara from external folder As Clara is no longer maintained as a separate project, the implementation was moved to the internal subfolder of top-level folder. This removes one folder and avoids potential user confusion. Also simplified the convenience header checking script accordingly. 09 May 2020, 17:40:57 UTC
75b711a Fix ODR violation because of name clash in matchers 09 May 2020, 16:00:51 UTC
db32550 Remove catch_default_main.hpp There are two reasons for this: 1) It is highly unlikely that someone has use for this header, which has no customization points and only provides simplest possible main, and cannot link the static library which also provides a default main implementation. 2) It being a header was causing extra complications with the convenience headers, and our checking script. This would either require special handling in the checking script, or would break user's of the main convenience header. All in all, it is simpler and better in the long term to remove it, than to fix its problems. 09 May 2020, 16:00:49 UTC
e78b4f6 Remove file list checking from CMake I do not think we need a safeguard against not including files in CMake anymore, and as it is, it caused annoying false positive about the default main implementation. 06 May 2020, 19:23:13 UTC
9766a7b Fix installation of extra utilities 06 May 2020, 19:21:08 UTC
7c816c7 Upload conan releases to catch2 remote (instead of Catch2) At some point we moved over to catch2:catchorg (notice lowercase `c`) instead of Catch2:catchorg, but we kept uploading the released packages to the upper-cased repository... Time to fix this, and then merge them again. 06 May 2020, 18:53:42 UTC
04c171f Update CATCH_CONFIG_WINDOWS_CRTDBG docs to reflect new distribution 06 May 2020, 16:17:51 UTC
fe40503 Add script checking convenience header correctness 06 May 2020, 15:53:39 UTC
2ccc48e Require Python3 for running tests 06 May 2020, 12:56:33 UTC
6020f8f Add convenience headers that include all headers in a subpart The naming scheme is simple, to include all matchers, include header `catch2/matchers/catch_matchers_all.hpp`. To include **everything**, include `catch2/catch_all.hpp`. 06 May 2020, 09:21:46 UTC
26622f1 Fix Conan recipe Apparently cpp_info.libs is a list of _filenames_ and not _targets_. Oh well. 03 May 2020, 17:34:37 UTC
c086746 Use main-as-static-lib in ExtraTests 03 May 2020, 17:21:58 UTC
0c223bb Decrease chance of false positive in random generator testing 03 May 2020, 17:01:21 UTC
19ecad6 Rename CMake/pkg-config target Catch2Main to Catch2WithMain This describes the reality better, as it also links in the rest of Catch2. The on-disk name of the static library remains just `Catch2Main`, as that is what it is -- single main function -- and on-disk artifacts cannot describe link dependencies. 03 May 2020, 16:54:38 UTC
33c58da Remove duplicated test for #1027 03 May 2020, 07:58:46 UTC
68061bb Remove mentions of single header version from README 03 May 2020, 07:54:18 UTC
e83c9fb Run unit tests in random order 03 May 2020, 07:49:59 UTC
b8221c8 Remove the single_include folder It is no longer used by v3, and contains obsolete versions of the headers anyway. There are future plans for some sort of replacement, but those are, 1) in the future 2) different than the single header model so we can delete the folder completely. 03 May 2020, 07:34:19 UTC
31ff897 Pick docs for v2.12.1 03 May 2020, 05:54:07 UTC
5b8ccca Add support for bitwise xor to the decomposer 03 May 2020, 05:52:47 UTC
4aefbbc Pick docs for v2.12.0 03 May 2020, 05:49:05 UTC
53434a2 Support bitand and bitor in REQUIRE/CHECK This means that bit-flag-like types with conversion to bool can be asserted on, like so `REQUIRE(var & Flags::AddNewline)`. 03 May 2020, 05:45:04 UTC
2a93a65 Support custom allocators in vector Matchers (#1909) -- Combined with f4fc2dab2c5bb8cab11b0a0dde8a8421076c30f9 during cherry-picking. 03 May 2020, 05:40:04 UTC
dd35430 Add more tests for test spec parser Originally the tests were from #1912, but as it turned out, the issue was somewhere else. Still, the inputs provided were interesting, so they are now part of our test suite. 02 May 2020, 16:24:07 UTC
bbbc7a0 Fix CATCH_CONFIG_CPP17_UNCAUGHT_EXCEPTION interaction with feature macro 01 May 2020, 18:26:40 UTC
89fab65 Update documentation for --order 01 May 2020, 12:46:14 UTC
1bd7cac Use macro to determine whether std::uncaught_exceptions is available Catch assumes std::uncaught_exceptions is available whenever C++17 is available, but for macOS versions older than 10.12 this is not the case. Instead of checking the C++ version, use a macro to check whether the feature is available. 01 May 2020, 12:45:56 UTC
9b5fc9e Randomize test for subset invariant random ordering of tests Also removed the iterative checking that seeds 1-100 do not create the same output, because it used too much runtime. 01 May 2020, 12:45:36 UTC
630ba26 Add test for consistent random ordering -- Fixed up during cherrypicking 01 May 2020, 12:30:01 UTC
26b2c3e Change random test shuffling technique (refactored) Previously a random test ordering was obtained by applying std::shuffle to the tests in declaration order. This has two problems: - It depends on the declaration order, so the order in which the tests will be run will be platform-specific. - When trying to debug accidental inter-test dependencies, it is helpful to be able to find a minimal subset of tests which exhibits the issue. However, any change to the set of tests being run will completely change the test ordering, making it difficult or impossible to reduce the set of tests being run in any reasonably efficient manner. Therefore, change the randomization approach to resolve both these issues. Generate a random value based on the user-provided RNG seed. Convert every test case to an integer by hashing a combination of that value with the test name. Sort the test cases by this integer. The test names and RNG are platform-independent, so this should be consistent across platforms. Also, removing one test does not change the integer value associated with the remaining tests, so they remain in the same order. To hash, use the FNV-1a hash, except with the basis being our randomly selected value rather than the fixed basis set in the algorithm. Cannot use std::hash, because it is important that the result be platform-independent. 01 May 2020, 10:32:38 UTC
87a8b61 Fix bug in test spec parser handling of escaping in ORed patterns It did not clear out all of its internal state when switching from one pattern to another, so when it should've escaped `,`, it took its position from its position in the original user-provided string, rather than its position in the current pattern. Fixes #1905 01 May 2020, 07:56:34 UTC
ca27b0d Remove usage of __builtin_constant_p under IBM XL 01 May 2020, 07:31:59 UTC
87c8055 Suppress clang-tidy warning about vararg usage in assertion macros CATCH_INTERNAL_IGNORE_BUT_WARN() introduced with b7b346c triggers clang-tidy warning 'cppcoreguidelines-pro-type-vararg' for every usage of assertion macros like CHECK() and REQUIRE(). Silence it via NOLINT in the '#if defined(__clang__)' block only, as clang-tidy honors those. 01 May 2020, 07:31:48 UTC
46cc551 Add vcpkg installation instructions (#1898) * Add vcpkg installation instructions * Add index 01 May 2020, 07:31:41 UTC
f34aacf Added toml++ to opensource-users.md 01 May 2020, 07:31:12 UTC
0d3e933 Fix alphabetical ordering of opensource-users.md 01 May 2020, 07:31:03 UTC
02a9985 C-header updates 01 May 2020, 07:30:50 UTC
8ea45bf Change PARSE_CATCH_TESTS_ADD_FIXTURE_IN_TEST_NAME conditional. When no TEST_CASE_METHOD function, there is no fixture to get. 01 May 2020, 07:30:31 UTC
beb8c3a Fixed typo in "benchmark name" column width calculation. Closes #1885. 01 May 2020, 07:30:17 UTC
656b15d Pick doc changes for v2.11.3 01 May 2020, 07:28:17 UTC
5198fd3 Fix compilation error when lambdas are used in assertions This is a partial revert of b7b346c3e5603. 01 May 2020, 07:24:26 UTC
08f8a81 Picking v2.11.2 docs changes 30 April 2020, 19:44:16 UTC
0d8eeec Move all scripts to Python3 29 April 2020, 19:28:52 UTC
d3c0b36 Update wandbox script to use https endpoint and Python3 29 April 2020, 19:28:34 UTC
95a2e54 Different approach to proper colouring of filters 29 April 2020, 19:28:25 UTC
6badd7d Switch back to uncolored output after printing filters After printing the list of filters, switch back from yellow to black before printing a newline to avoid the remaining output to be colored in yellow. 29 April 2020, 19:28:18 UTC
60cfaa3 Make warnings in assertions fire for GCC/Clang again The old code caused warnings to fire under MSVC, and Clang <3.8. I could not find a GCC version where it worked, but I assume that it did at some point. This new code causes all of MSVC, GCC, Clang, in current versions, to emit signed/unsigned comparison warning in test like this: ```cpp TEST_CASE() { int32_t i = -1; uint32_t j = 1; REQUIRE(i != j); } ``` Where previously only MSVC would emit the warning. Fixes #1880 29 April 2020, 19:27:57 UTC
38a0dfc Update tutorial.md Fix: typo; remove trailing "," 29 April 2020, 19:17:54 UTC
b014d98 Update slow-compiles.md Add missing "." 29 April 2020, 19:17:30 UTC
7a0f8ff Add king as user 29 April 2020, 14:55:03 UTC
efbfaa1 Don't cast nanoseconds to integers when writing output 29 April 2020, 14:54:46 UTC
c4e5b05 include <iterator> in catch_stats.hpp needed for std::back_inserter on some platforms 29 April 2020, 14:54:39 UTC
0fdeb10 Cleanup how configuration-dependent test macros are defined 29 April 2020, 13:36:40 UTC
783ab5e Move around message macros and implementation 29 April 2020, 12:02:53 UTC
8d50f04 Move around matcher macro implementation 26 April 2020, 19:33:55 UTC
804e2df Move Benchmarking macros to catch_benchmark.hpp 26 April 2020, 17:24:36 UTC
0470794 Split TEMPLATE_TEST* macros into their own set of files These files are not included by the default `#include <catch2/catch_test_macros.hpp>` path, so that users do not have to pay for them if they do not use them. Follow up is to split out the small part of `catch_preprocessor.hpp` used by the default test macros (AFAIK, it is just `INTERNAL_CATCH_REMOVE_PARENS` macro), so that it is not included by the default path either. Also fixes #1892 by providing the missing macros. 26 April 2020, 14:25:43 UTC
5150fa4 Rename catch_capture.hpp to more descriptive catch_test_macro_impl.hpp 26 April 2020, 11:32:17 UTC
d776a93 Development build defaults to off 25 April 2020, 16:18:45 UTC
c078373 Rename internal macro for suppression of unused variable warnings 25 April 2020, 16:13:17 UTC
517839f Small cleanup of fatal condition handler 25 April 2020, 12:07:50 UTC
b955355 Avoid recompiling main for each example Instead, link against `Catch2Main` CMake target as intended. 24 April 2020, 19:13:07 UTC
c5ec936 Inline TagAlias constructor It is trivial enough that the function call is not worth it, and lets us remove one TU from compilation. 24 April 2020, 19:09:10 UTC
8d44c24 Add some explanatory comments to ErrnoGuard 24 April 2020, 19:04:54 UTC
7c97554 Remove Obj-C(++) support 24 April 2020, 18:42:52 UTC
e1e6872 Standardize header names and file locations This is both a really big and a really small commit. It is small in that it only contains renaming, moving and modification of include directives caused by this. It is really big in the obvious way of touching something like 200 files. The new rules for naming files is simple: headers use the `.hpp` extension. The rules for physical file layout is still kinda in progress, but the basics are also simple: * Significant parts of functionality get their own subfolder * Benchmarking is in `catch2/benchmark` * Matchers are in `catch2/matchers` * Generators are in `catch2/generators` * Reporters are in `catch2/reporters` * Baseline testing facilities are in `catch2/` * Various top level folders also contain `internal` subfolder, with files that users probably do not want to include directly, at least not until they have to write something like their own reporter. * The exact files in these subfolders is likely to change later on Note that while some includes were cleaned up in this commit, it is only the low hanging fruit and further cleanup using automatic tooling will happen later. Also note that various include guards, copyright notices and file headers will also be standardized later, rather than in this commit. 24 April 2020, 16:58:44 UTC
3836aa9 Remove catch_user_interfaces It used to be a file that would collect interfaces we always wanted to provide to users, so that the single header stitching script would place them in the common part of the single header version. As v3 is moving to separate headers model, the file is no longer useful. 24 April 2020, 13:34:12 UTC
3f2ada0 Remove unused catch_impl.hpp header It became useless when we moved away from the single-header model, because it was used an entry point for stitching CPP into the single header file. 24 April 2020, 12:25:33 UTC
7892954 Remove global warning manipulation headers They were unused except for one test file anyway. 05 April 2020, 17:14:16 UTC
54a7eb1 Rename reporters to use .hpp suffix I want to standardize _all_ of Catch2 headers on the `.hpp` suffix. 05 April 2020, 17:10:57 UTC
back to top