15cf3ca | Martin Hořeňovský | 23 July 2018, 08:12:15 UTC | v2.3.0 | 23 July 2018, 08:12:15 UTC |
12a8dfa | Martin Hořeňovský | 22 July 2018, 20:57:34 UTC | Fix Listening reporter use of ReporterPreferences | 22 July 2018, 20:58:18 UTC |
797d3b0 | Martin Hořeňovský | 22 July 2018, 16:01:42 UTC | Reinstate CATCH_BUILD_TESTING CMake option | 22 July 2018, 16:01:42 UTC |
82b8744 | Martin Hořeňovský | 22 July 2018, 12:06:21 UTC | Direct construct empty StringRef in test macros | 22 July 2018, 12:13:34 UTC |
ce80358 | Martin Hořeňovský | 15 July 2018, 15:38:57 UTC | Document Approx's UDL support | 15 July 2018, 15:38:57 UTC |
283e2e6 | Henry Schreiner | 21 May 2018, 13:42:40 UTC | Add float/int literal for Approx | 15 July 2018, 15:03:12 UTC |
d6c7392 | Martin Hořeňovský | 14 July 2018, 18:51:02 UTC | Add a new reporter customization point: reporting all assertions By opting the JUnit and XML reporters into it, we no longer run into problem where they underreport the results without `-s` flag. Related to #1264, #1267, #1310 | 14 July 2018, 18:51:02 UTC |
9ee4c1d | Martin Hořeňovský | 13 July 2018, 18:27:00 UTC | Allow disabling the implementation of the new output capture As it turns out, some platforms do not provide things like `dup`, or `std::tmpfile`, but they do provide streams... Closes #1335 Related to #1311 | 13 July 2018, 18:27:00 UTC |
7679060 | Guillaume Egles | 10 July 2018, 00:49:34 UTC | Properly unset tags variable. | 10 July 2018, 10:48:14 UTC |
e21c6aa | Unknown | 09 July 2018, 10:14:44 UTC | Fix the second Multiple-file example file link Previously it pointed to the first file as well. | 09 July 2018, 13:47:03 UTC |
7a59d50 | Martin Hořeňovský | 08 July 2018, 11:58:44 UTC | Link the example from `CATCH_CONFIG_NOSTDOUT` documentation | 08 July 2018, 11:58:44 UTC |
c8941cc | Martin Hořeňovský | 08 July 2018, 11:35:40 UTC | Add an example on providing streams with `CATCH_CONFIG_NOSTDOUT` Related to #1037 Closes #1290 | 08 July 2018, 11:38:42 UTC |
5eeb6aa | Martin Hořeňovský | 05 July 2018, 15:28:00 UTC | Update Approx documentation Fixes #1328 | 05 July 2018, 15:28:00 UTC |
1c1b447 | Martin Hořeňovský | 03 July 2018, 07:25:34 UTC | Properly guard CATCH_CONFIG_ENABLE_CHRONO_STRINGMAKER definition | 03 July 2018, 07:29:26 UTC |
e1d8117 | Martin Hořeňovský | 02 July 2018, 09:13:07 UTC | Add -Wmissing-declarations to the SelfTest project This required some clean-up in our test files | 02 July 2018, 15:36:13 UTC |
4846ad5 | Martin Hořeňovský | 02 July 2018, 08:57:19 UTC | Remove obsolete test `REQUIRE`, `CHECK` and many other macros already support expressions with multiple template parameters without parenthesizing. | 02 July 2018, 15:32:47 UTC |
ff2b3c8 | Martin Hořeňovský | 01 July 2018, 19:47:19 UTC | Add comment explaining why we leak -Wparentheses under g++ | 02 July 2018, 15:28:45 UTC |
b55424d | Martin Hořeňovský | 01 July 2018, 18:54:07 UTC | Stop -Wunused-variable suppression leaking out of Catch's header Previously it was leaking to suppress warnings on `SECTION`s, but Clang's support for `_Pragma` is solid, so we can suppress those locally. Fixes #1317 | 02 July 2018, 15:28:29 UTC |
e69c7ce | Martin Hořeňovský | 01 July 2018, 18:48:21 UTC | Add Discord badge to README | 01 July 2018, 18:48:21 UTC |
7be8ba3 | Martin Hořeňovský | 01 July 2018, 14:21:12 UTC | Install contrib when installing Catch using conan Closes #1322 | 01 July 2018, 17:04:50 UTC |
ad12096 | Stephen McDowell | 29 June 2018, 08:32:47 UTC | fix link to single header version catch.hpp | 01 July 2018, 10:37:13 UTC |
f460a7d | Martin Hořeňovský | 30 June 2018, 10:31:46 UTC | Fix documentation of CATCH_CONFIG_FAST_COMPILE Related to issue #1279 | 30 June 2018, 10:31:46 UTC |
ebf8900 | Martin Hořeňovský | 28 June 2018, 20:35:42 UTC | Update thread safety documentation Closes #1302 | 28 June 2018, 20:35:42 UTC |
7d00cb8 | Martin Hořeňovský | 28 June 2018, 08:53:25 UTC | Remove unused benchmark project | 28 June 2018, 08:53:25 UTC |
e69afb6 | Martin Hořeňovský | 28 June 2018, 07:42:43 UTC | Remove removed macros from documentation | 28 June 2018, 07:43:10 UTC |
9fb38fc | Phil Nash | 25 June 2018, 19:18:41 UTC | Restored description field in SectionInfo for now - but marked it deprecated | 25 June 2018, 19:18:41 UTC |
0f49a60 | Phil Nash | 25 June 2018, 18:22:57 UTC | Added DYNAMIC_SECTION to CATCH_CONFIG_DISABLE builds | 25 June 2018, 18:22:57 UTC |
5c0efa1 | Phil Nash | 25 June 2018, 18:19:21 UTC | Added DYNAMIC_SECTION and implemented GIVEN/ WHEN/ THEN in terms of it | 25 June 2018, 18:19:21 UTC |
1579744 | Phil Nash | 25 June 2018, 18:04:29 UTC | Deprecated description in SECTION (still accepts it, for now, but doesn't use it anywhere) | 25 June 2018, 18:04:29 UTC |
9b0e740 | Phil Nash | 25 June 2018, 17:38:08 UTC | Changed approval tests path to match changes in CMakeLists.txt | 25 June 2018, 17:38:08 UTC |
1af60ef | Martin Hořeňovský | 24 June 2018, 08:11:14 UTC | Separate Catch2Config from targets This lets us add the installed helper scripts to the cmake module path, letting CMake users just include them after requiring Catch2 package. | 24 June 2018, 10:32:22 UTC |
3743295 | Martin Hořeňovský | 23 June 2018, 17:03:39 UTC | Stop conan package from installing Catch's helpers | 24 June 2018, 10:32:22 UTC |
ed582bd | Martin Hořeňovský | 23 June 2018, 17:04:22 UTC | Include contrib in installation | 24 June 2018, 10:32:22 UTC |
6c1145d | Martin Hořeňovský | 23 June 2018, 13:03:42 UTC | Improve pkg-config integration a bit | 24 June 2018, 10:32:22 UTC |
b957eb4 | Paul le Roux | 19 June 2018, 05:14:46 UTC | Improve conan integration by using cmake install | 24 June 2018, 10:32:22 UTC |
0eb99fb | Paul le Roux | 19 June 2018, 05:14:09 UTC | Add option to not install documentation | 24 June 2018, 10:32:22 UTC |
bf22158 | Martin Hořeňovský | 21 June 2018, 21:34:17 UTC | Update CMake and build documentation | 24 June 2018, 10:32:22 UTC |
44722f9 | Martin Hořeňovský | 11 June 2018, 08:48:10 UTC | Integrate CMake with `<catch2/catch.hpp>` include paths This also goes for pkg-config installed by our CMake installation. This includes * Updating CMake version on Travis * Adding a `Catch2` subfolder to the `single_include/` folder to provide this include path both _inside_ the repository, and _outside_. * Updated examples to build with the new paths * Other general CMake cleanup | 24 June 2018, 10:32:22 UTC |
35a57b0 | Phil Nash | 15 June 2018, 13:35:47 UTC | Replaced use of std::rand with std::mt19937 This uses a global instance of the RNG | 15 June 2018, 13:35:47 UTC |
1dce91d | Phil Nash | 12 June 2018, 14:37:06 UTC | Reverted removal of #ifdef for chrono converters, and fixed in OC project a different way - seems the #ifdef was necessary after all, because of the difference in the way the cpp files are included in the full project vs the single include - in the OC project I moved the #include of catch_tostring.cpp first. That solves the project for now, but is a brittle solution | 12 June 2018, 14:37:06 UTC |
b8553d6 | Phil Nash | 12 June 2018, 13:09:30 UTC | Moved inline functions in cpp files into anon namespaces | 12 June 2018, 13:09:30 UTC |
5046077 | Phil Nash | 12 June 2018, 12:43:28 UTC | Updated XCode build settings | 12 June 2018, 12:43:28 UTC |
788f812 | Phil Nash | 12 June 2018, 12:42:33 UTC | Fixed errors and warnings on OC project | 12 June 2018, 12:42:33 UTC |
c5301bf | Martin Hořeňovský | 11 June 2018, 20:44:14 UTC | Updated release process documentation to reflect vcpkg autoupdate | 11 June 2018, 20:44:14 UTC |
d2a130f | Martin Hořeňovský | 06 June 2018, 21:16:06 UTC | v2.2.3 | 06 June 2018, 21:19:06 UTC |
7be8a41 | Julien Nitard | 31 May 2018, 02:32:59 UTC | Fix ambiguity in stringification Happening when using clang and templated operators, clang cannot decide between the operator provided by ReusableStringStream and the one provided by the value value as both are templates. This is easily solved by calling the operator<< through the member syntax. Fixes #1285 | 06 June 2018, 20:33:03 UTC |
021fcee | Lyashenko Arsenii Maksimovich | 01 May 2018, 11:52:24 UTC | Finish fixing invalid compilation using MinGW | 04 June 2018, 21:49:40 UTC |
3a47b8b | Martin Hořeňovský | 04 June 2018, 14:53:21 UTC | Add missing catch_platform include to compiler capabilities This was removed in 64be2ad, to fix OS X approval tests. At the time I couldn't investigate because I didn't have access to OS X, but this fixed it (and since we don't have MinGW in CI, the breakage went unnoticed). As it turns out, piece-wise compilation of the Compact reporter had broken OS X detection for a long time, and fixing it was what broke the approvals. After the approval scripts were changed to compensate, this change passes approval tests and fixes | 04 June 2018, 21:19:55 UTC |
2771a8e | Martin Hořeňovský | 04 June 2018, 18:28:33 UTC | Normalize OS X specific pass/fail strings in approvals | 04 June 2018, 21:19:55 UTC |
7abd7db | Cristian Morales Vega | 31 May 2018, 22:21:14 UTC | Fix minor typo in the documentation | 01 June 2018, 20:24:49 UTC |
88d7b8d | BiCapitalization | 27 May 2018, 16:12:40 UTC | Ensure stack size for POSIX signal handling is sufficient Until now, the stack size for POSIX signal handling was determined by the implementation defined limit `STKSZ`, which in some cases turned out to be insufficient, leading to stack overflow inside the signal handler. The new size, which was determined experimentally, is the larger of 32kb or `MINSTKSZ`. Fixes #1225 | 29 May 2018, 20:29:04 UTC |
df0b0e6 | Martin Hořeňovský | 14 May 2018, 19:03:07 UTC | Make FALLBACK_STRINGIFIER documentation more explicit Related to #1024 | 14 May 2018, 19:03:07 UTC |
4c7b7d0 | Martin Hořeňovský | 14 May 2018, 17:46:30 UTC | Move FALLBACK_STRINGIFIER to before the enum and range fallbacks This should align more closely with the intended semantics, where types without `StringMaker` specialization or `operator<<` overload are passed down to the user defined fallback stringifier. Related to #1024 | 14 May 2018, 18:38:05 UTC |
90988f5 | Rupert Steel | 02 May 2018, 05:25:30 UTC | Enable console colour in the approval tests on windows. | 14 May 2018, 07:41:18 UTC |
e5fe3e8 | Martin Hořeňovský | 12 May 2018, 18:37:13 UTC | Ensure platform-independent output from SpecialException::what | 12 May 2018, 18:37:13 UTC |
6c5c4c4 | Martin Hořeňovský | 12 May 2018, 15:46:25 UTC | Add stringification support to std::exception and deriving classes This support is based on overriden `std::exception::what` method, so if an exception does not do so meaningfully, the message is still pointless. This is only used as a fallback, both `StringMaker` specialization and `operator<<` overload have priority.. | 12 May 2018, 15:46:25 UTC |
c323658 | Martin Hořeňovský | 10 May 2018, 12:49:40 UTC | Fix broken YAML in a way that codecov understands Theoretically the previous was not a valid YAML at all, but it is fairly common for parsers to accept it, just in a wrong way. This results in a configuration where only the last value for duplicate keys is taken, instead of a hard error. | 10 May 2018, 12:49:40 UTC |
db570b7 | Martin Hořeňovský | 09 May 2018, 20:49:04 UTC | Split list of examples into "done" and "planned". Closes #1282 | 09 May 2018, 20:49:04 UTC |
0074926 | Martin Hořeňovský | 09 May 2018, 18:16:27 UTC | Provide a polyfill over `std::to_string` Android apparently does not support `std::to_string`, so we add a small polyfill over it. Right now only the ULP matcher uses it, but we have had plans to use it in `StringMaker<int>` and friends, as it performs a lot better than `std::stringstream` based stringification on MSVC. See #1280 for more details | 09 May 2018, 19:47:42 UTC |
6496c51 | Markus Reitboeck | 07 May 2018, 20:52:37 UTC | do not strip spaces from cmake discovered test names this fixes #1265 | 09 May 2018, 16:00:05 UTC |
3dd523b | Markus Reitboeck | 08 May 2018, 19:12:55 UTC | Add gdbinit and lldbinit files with commands to skip stepping into Catch code during debugging The commands provided have to be executed in the current gdb/lldb session or copied into the users ~/.gdbinit ~/.lldbinit files to permanently skip debugging Catch code. Fixes #904 | 09 May 2018, 15:46:31 UTC |
8d5d492 | Christopher Di Bella | 05 May 2018, 08:39:55 UTC | Added GCC 8 to Travis. Updated test so that it warning isn't triggered. | 06 May 2018, 10:06:39 UTC |
d0287e3 | Christopher Di Bella | 05 May 2018, 09:07:36 UTC | Updated Travis for LLVM 6.0 | 06 May 2018, 09:50:03 UTC |
dd99a66 | Palotás Boldizsár | 25 April 2018, 08:59:38 UTC | Add documentation for `--use-colour` The documentation added is based on output from `-?` (help), and comments to #590. | 06 May 2018, 09:37:00 UTC |
ae590fe | Martin Hořeňovský | 30 April 2018, 21:06:26 UTC | Only use tmpfile workaround for MSVC and not MinGW and friends Fixes #1270 | 30 April 2018, 21:19:39 UTC |
7f791fa | Christian Berger | 30 April 2018, 09:59:10 UTC | Suggestion for adding libcluon that is also using Catch2 for testing | 30 April 2018, 14:02:41 UTC |
0510d47 | Martin Hořeňovský | 30 April 2018, 13:15:59 UTC | Fix missing include and wrong comment format While the comment format was valid C++, it breaks our tooling badly. I opened up a github issue for our tooling, because unexpected formatting of a block comment should not silently generate invalid single header file, see #1269. | 30 April 2018, 13:15:59 UTC |
e92b9c0 | Martin Hořeňovský | 29 April 2018, 20:14:41 UTC | Add an experimental new way of capturing stdout/stderr Unlike the relatively non-invasive old way of capturing stdout/stderr, this new way is also able to capture output from C's stdlib functions such as `printf`. This is done by redirecting stdout and stderr file descriptors to a file, and then reading this file back. This approach has two sizeable drawbacks: 1) Performance, obviously. Previously an installed capture made the program run faster (as long as it was then discarded), because a call to `std::cout` did not result in text output to the console. This new capture method in fact forces disk IO. While it is likely that any modern OS will keep this file in memory-cache and might never actually issue the IO to the backing storage, it is still a possibility and calls to the file system are not free. 2) Nonportability. While POSIX is usually assumed portable, and this implementation relies only on a very common parts of it, it is no longer standard C++ (or just plain C) and thus might not be available on some obscure platforms. Different C libs might also implement the relevant functions in a less-than-useful ways (e.g. MS's `tmpfile` generates a temp file inside system folder, so it will not work without elevated privileges and thus is useless). These two drawbacks mean that, at least for now, the new capture is opt-in. To opt-in, `CATCH_CONFIG_EXPERIMENTAL_REDIRECT` needs to be defined in the implementation file. Closes #1243 | 29 April 2018, 20:25:49 UTC |
88a6ff0 | Ian Hattendorf | 29 April 2018, 06:23:30 UTC | Cast to unsigned char when using std::isalnum std::isalnum expects an int in the range of unsigned char or -1 (EOF), otherwise it exhibits undefined behavior. Casting from char to unsigned char avoids this. MSVC warns about this when compiling with /analyze. | 29 April 2018, 18:28:35 UTC |
9e7c281 | Marcus Näslund | 19 April 2018, 13:02:15 UTC | Minor fixes to python scripts by pycodestyle | 27 April 2018, 16:57:18 UTC |
64be2ad | Martin Hořeňovský | 24 April 2018, 15:05:53 UTC | Remove superfluous include and fix comment | 26 April 2018, 19:44:07 UTC |
c651f23 | Martin Hořeňovský | 22 April 2018, 16:46:54 UTC | Detect MinGW as Windows platform w/o SEH Fixes #1257 | 22 April 2018, 16:46:54 UTC |
43769a1 | Marcus Näslund | 18 April 2018, 12:59:10 UTC | Changed to c++ style includes | 21 April 2018, 13:58:05 UTC |
200d3ad | Barry | 10 April 2018, 02:41:44 UTC | Support for parenthesizing types with commas. | 20 April 2018, 13:11:09 UTC |
aa7b0c9 | Martin Hořeňovský | 19 April 2018, 20:03:25 UTC | Fix generating single header using Python3 | 19 April 2018, 20:03:25 UTC |
375f205 | Martin Hořeňovský | 19 April 2018, 20:02:31 UTC | Use io.open in approvalTests.py regardless of Python version Both Python 2.7 and 3.x support full-featured io.open, so we can avoid using a polyfill over this. | 19 April 2018, 20:02:31 UTC |
dc6b83b | Tom Hughes | 06 April 2018, 12:59:08 UTC | Support Python3 in approval tests | 16 April 2018, 19:19:13 UTC |
f00257e | Martin Hořeňovský | 07 April 2018, 09:42:24 UTC | Call listeners before calling reporters Catch2's documentation promises that listeners are called _before_ reporters, but because of the previous implementation, they were called _after_ reporters. This commit fixes that. Closes #1234 | 07 April 2018, 10:25:03 UTC |
414dcae | Martin Hořeňovský | 07 April 2018, 10:05:29 UTC | Allow only 1 reporter at a time | 07 April 2018, 10:05:29 UTC |
d2d8455 | Martin Hořeňovský | 06 April 2018, 10:11:22 UTC | v2.2.2 | 06 April 2018, 10:11:22 UTC |
ab30621 | Martin Hořeňovský | 06 April 2018, 09:39:40 UTC | Fix stringifying static array of unsigned chars The fix leaves an open question: should we keep treating refs to static array of chars as strings, or should we instead use `strnlen` to check if it is null-terminated within the buffer Fixes #1238 | 06 April 2018, 09:43:12 UTC |
1ca8f43 | Martin Hořeňovský | 03 April 2018, 21:28:14 UTC | Add PredicateMatcher that takes an arbitrary predicate functions Also adds `Predicate` helper function to create `PredicateMatcher`. Because of limitations in type inference it needs to be explicitly typed, like so `Predicate<std::string>([](std::string const& str) { ... })`. It also takes an optional second argument for description of the predicate. It is possible to infer the argument with sufficient TMP, see https://stackoverflow.com/questions/43560492/how-to-extract-lambdas-return-type-and-variadic-parameters-pack-back-from-gener/43561563#43561563 but I don't think that the magic is worth introducing ATM. Closes #1236 | 04 April 2018, 09:14:19 UTC |
dfb83f2 | David Aue | 08 March 2018, 21:40:18 UTC | Add stringification methods for CLR objects | 03 April 2018, 17:06:16 UTC |
319bddd | Alexis Jeandet | 01 April 2018, 17:14:59 UTC | Small fix to generate pc with include path In CMake module both include and include/catch are added includes lookup path. Examples are built with #include "catch.hpp" not #include "catch/catch.hpp". This should be the same with pkg-config. Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org> | 02 April 2018, 19:38:17 UTC |
9314412 | Martin Hořeňovský | 01 April 2018, 20:50:39 UTC | Add an early bailout out of benchmark timer calibration Specific platforms (e.g. TDM-GCC) can have terrible timer resolution, and our checking code will then loop for an inordinate amount of time. This change will make it so that the calibration gives up after 3 seconds and just uses the already measured values. This leaves one open question, how to signal that the resolution is terrible and benchmarking should not happen? Fixes #1237 | 01 April 2018, 20:50:39 UTC |
ea1f326 | Martin Hořeňovský | 01 April 2018, 12:36:55 UTC | Fix potential for false negative CI results on coverage collection | 01 April 2018, 12:36:55 UTC |
3641706 | Mike | 09 November 2017, 22:50:49 UTC | Leak less GCC warnings suppressions out of Catch | 01 April 2018, 11:57:05 UTC |
3b801c4 | Martin Hořeňovský | 25 March 2018, 18:44:30 UTC | Modify XML encoder to hex-encode invalid UTF-8 sequences There are still some holes, e.g. we leave surrogate pairs be even though they are not a part of valid UTF-8, but this might be for the better -- WTF-8 does support surrogate pairs inside text. Closes #1207 | 27 March 2018, 14:49:14 UTC |
e11508b | Martin Hořeňovský | 22 March 2018, 14:18:50 UTC | Disable PIP's version check on AppVeyor | 22 March 2018, 14:19:09 UTC |
886d799 | Zsolt Parragi | 15 March 2018, 20:23:33 UTC | Fix clang-tidy 6 diagnostic about virtual call in destructor | 21 March 2018, 16:05:15 UTC |
8b78087 | jsc | 19 March 2018, 19:36:07 UTC | Fix bug in WithinAbs::match() and add tests for it | 21 March 2018, 12:47:12 UTC |
6c99b04 | Martin Hořeňovský | 21 March 2018, 10:44:17 UTC | Allow VS 2017 failures VS 2017 has an annoying bug, where the result of `__FILE__` substitution is always lower-cased. This breaks approval tests and I am not quite convinced that we should fully normalized paths to accomodate this bug. We need to remember to undo this in the future though. | 21 March 2018, 12:41:20 UTC |
0a34cc2 | Martin Hořeňovský | 11 March 2018, 11:04:28 UTC | v2.2.1 | 11 March 2018, 11:04:28 UTC |
11c89a5 | Martin Hořeňovský | 09 March 2018, 09:37:56 UTC | Bring in Clara v1.1.4 This fixes #1214 | 09 March 2018, 09:37:56 UTC |
dc3e7f9 | Martin Hořeňovský | 09 March 2018, 09:00:55 UTC | Fix incorrectly clamped return value Fixes #1215 | 09 March 2018, 09:00:55 UTC |
d14b756 | Martin Hořeňovský | 07 March 2018, 10:01:06 UTC | v2.2.0 | 07 March 2018, 10:06:15 UTC |
a3d3a63 | Martin Hořeňovský | 07 March 2018, 09:13:04 UTC | Don't build `dev-appveyor*` branches on TravisCI | 07 March 2018, 09:53:09 UTC |
8d47963 | Martin Hořeňovský | 07 March 2018, 09:47:18 UTC | Merge pull request #1206 from zemasoft/master Introduce support for DJGPP cross compiler | 07 March 2018, 09:47:18 UTC |
552589f | Martin Hořeňovský | 07 March 2018, 09:37:50 UTC | Merge branch 'master' into master | 07 March 2018, 09:37:50 UTC |
95c849f | Tomas Zeman | 02 March 2018, 13:39:01 UTC | Introduce support for DJGPP cross compiler DJGPP cross compiler is targeting DOS which does not support POSIX signals. Probably for the same reason (targeting DOS) this compiler does not support wide characters. | 07 March 2018, 09:35:32 UTC |