0947752 | Martin Hořeňovský | 31 August 2018, 13:56:57 UTC | Avoid running C++17 tests as part of approvals on VS 2017 | 31 August 2018, 16:25:42 UTC |
0646e02 | Martin Hořeňovský | 31 August 2018, 09:40:55 UTC | Disable installation step when Catch is used as a subproject This is because otherwise the installations paths provided via GNUInstallDirs become messed up and parts of the installation package will end up in the wrong place. Also it doesn't make much sense to force dependees to also install our header alongside them. Closes #1373 | 31 August 2018, 09:43:09 UTC |
90663b2 | Axel Huebl | 28 August 2018, 14:14:21 UTC | Tests: Spaces & TABs Fix TABs and none-PEP8 spaces in approval test. Does not yet fix overlong lines for full `flake8` compliance. | 29 August 2018, 16:28:27 UTC |
7667a7d | Axel Huebl | 28 August 2018, 14:17:37 UTC | Docs: TABs to Spaces Replace TABs with four (4) spaces in code docs. | 29 August 2018, 16:05:22 UTC |
9773d89 | Axel Huebl | 28 August 2018, 14:11:04 UTC | Code: TABs to Spaces Replace TABs with four (4) spaces in source files. | 29 August 2018, 12:59:11 UTC |
2067c8d | George Fotopoulos | 28 August 2018, 10:56:47 UTC | Update opensource-users.md Add "thor" Update "forest" description | 29 August 2018, 12:51:17 UTC |
1742ab7 | Martin Hořeňovský | 29 August 2018, 11:39:24 UTC | No longer allow failures for VS2017 on AppVeyor | 29 August 2018, 11:39:24 UTC |
898d111 | Martin Hořeňovský | 29 August 2018, 10:36:43 UTC | Fix generateSingleHeader.py to properly copy utf-8 | 29 August 2018, 10:52:29 UTC |
5202993 | Martin Hořeňovský | 28 August 2018, 08:48:05 UTC | Fix VS2017 approvals on AppVeyor Because of a change in VS toolset, missing option <UseFullPaths> is no longer interpreted as "don't pass /FC to the compiler", but rather as "pass /FC to the compiler". This is problematic, because /FC not only changes how much of the path is reporter by the compiler (e.g. in `__FILE__` macro), but it also lower cases the path. This lower-casing of the path broke our approval tests for VS2017 about 5 months ago. Using CMake 3.13 (not yet released) would also let us fix it, but for now we use a vcxproj.user file that is merged with the main project and explicitly disables `/FC`. | 28 August 2018, 10:58:08 UTC |
f061dab | Martin Hořeňovský | 28 August 2018, 07:44:47 UTC | Add ExtraTests infrastructure This means * a new cmake option, `CATCH_BUILD_EXTRA_TESTS`, that conditionally includes the ExtraTests subfolder * building and running them on some of the Travis build images * An example configuration test In the future these should be extended to cover most of the configuration options in Catch2, but this is a start. | 28 August 2018, 10:57:20 UTC |
1a501fc | Martin Hořeňovský | 28 August 2018, 08:12:50 UTC | Fix examples compilation for some combinations of Clang and libstdc++ | 28 August 2018, 08:12:53 UTC |
94121a5 | Martin Hořeňovský | 23 August 2018, 14:32:43 UTC | Add a basic documentation for generators | 24 August 2018, 11:34:27 UTC |
92e2504 | Martin Hořeňovský | 23 August 2018, 10:49:05 UTC | Move all<int> to .cpp file to remove <limits> from common path | 24 August 2018, 11:34:03 UTC |
fdcd464 | Martin Hořeňovský | 19 August 2018, 21:22:36 UTC | Update baselines | 24 August 2018, 11:31:51 UTC |
7c25dae | Phil Nash | 12 June 2018, 16:50:39 UTC | First attempt at data generator support The support is to be considered experimental, that is, the interfaces, the first party generators and helper functions can change or be removed at any point in time. Related to #850 | 24 August 2018, 11:31:51 UTC |
7f18282 | David Seifert | 18 August 2018, 20:06:25 UTC | Allow overriding of Python interpreter * Calling `python` does not allow overriding downstream when running tests. | 20 August 2018, 12:52:54 UTC |
1cdaa48 | Phil Nash | 27 June 2018, 20:34:35 UTC | CAPTURE is now variadic | 19 August 2018, 20:40:20 UTC |
1a63fad | Phil Nash | 26 June 2018, 16:30:30 UTC | Seed the RNG in approval tests | 19 August 2018, 20:34:14 UTC |
d6f2fd4 | Phil Nash | 15 June 2018, 20:39:52 UTC | Moved ReusableStringStream impl to generic singleton | 19 August 2018, 09:28:46 UTC |
5884ec1 | Phil Nash | 15 June 2018, 20:34:38 UTC | Moved registry hub to generic singleton | 19 August 2018, 09:13:19 UTC |
eb783fc | Phil Nash | 15 June 2018, 20:25:04 UTC | Added generic singletons facility <sigh> yes, I know - but we have them - may as well make them consistent and safer | 19 August 2018, 08:34:44 UTC |
38248f3 | Igor Murashkin | 06 August 2018, 23:20:59 UTC | Add pragma ignore for -Wnon-virtual-dtor in Catch matchers | 17 August 2018, 15:14:56 UTC |
c9de7dd | Martin Hořeňovský | 23 July 2018, 18:46:36 UTC | Optimize SourceLineInfo::operator< with short-circuiting In case of 2 instances of SourceLineInfo constructed in the same file, they will have the same `file` pointer (even at O0). Thus, we can check if they are equal before calling potentially pointless `strcmp`. | 23 July 2018, 18:46:42 UTC |
52cbb50 | Martin Hořeňovský | 23 July 2018, 11:49:29 UTC | Avoid copying StringRef In theory the copy is cheap (couple of pointers change), but tests are usually compiled in Debug mode/with minimal optimizations, which means that most users will still have to pay the cost for those function calls. | 23 July 2018, 12:04:43 UTC |
83bfae1 | Martin Hořeňovský | 23 July 2018, 11:55:14 UTC | Construct StringRef from constant strings in macros directly using UDL This avoids having to call `strlen` to get the constant string's length and thus should improve performance. | 23 July 2018, 12:00:45 UTC |
f7f592d | Martin Hořeňovský | 23 July 2018, 11:19:21 UTC | Introduce "C-namespaced" UDL for StringRef | 23 July 2018, 12:00:45 UTC |
78804ea | Martin Hořeňovský | 23 July 2018, 11:42:44 UTC | Replace std::string with StringRef in MessageInfo for macro capture Because the macro name is compile-time constant, we do not have to worry about lifetimes and will avoid allocation in case of missing SSO or long macro name. | 23 July 2018, 12:00:44 UTC |
b932847 | Martin Hořeňovský | 23 July 2018, 08:15:52 UTC | Update gitattributes | 23 July 2018, 08:15:52 UTC |
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 |