0986ae5 | Stephane Del Pino | 17 October 2018, 23:19:36 UTC | Add the optional variable OptionalCatchTestLauncher This variable is set to allow the use of the nice ParseAndAddCatchTests script in the case where a launcher is needed to execute the script. This is introduced to allow to launch unit tests using mpi. In this case one can write for instance set(OptionalCatchTestLauncher ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} ${NUMPROC}) before calling the ParseAndAddCatchTests function. | 18 October 2018, 18:50:37 UTC |
054d356 | Martin Hořeňovský | 13 October 2018, 19:29:59 UTC | Add STATIC_REQUIRE assertion By default, it expands into a `static_assert` + `SUCCEED` pair, but it can also be deferred to runtime by defining `CATCH_CONFIG_RUNTIME_STATIC_REQUIRE`, which causes it to expand into plain old `REQUIRE`. Closes #1362 Closes #1356 | 16 October 2018, 14:16:00 UTC |
0144ae9 | Maciej Patro | 14 October 2018, 15:18:32 UTC | Fix catch_discover_tests() - now should correctly find tests with commas | Related to #1327 | 16 October 2018, 14:06:31 UTC |
e130701 | JoeyGrajciar | 13 October 2018, 17:29:53 UTC | Session::applyCommandLine overload on wchar_t (#1401) * Session::applyCommandLine overload on wchar_t This allows users on Windows to use Catch::Session::applyCommandLine with wchar_t * arguments of application. With this change Session::run became templated so both char and wchar_t version have the same implementation. | 13 October 2018, 17:29:53 UTC |
6b9ca08 | Martin Hořeňovský | 13 October 2018, 13:30:15 UTC | Add tests for #1404 | 13 October 2018, 14:53:44 UTC |
9f8b848 | Jozef Grajciar | 09 October 2018, 08:43:24 UTC | XmlReporter: add information about rng-seed Xml result of reported will now contain value of rng-seed in case it is not zero. The value will be stored in element Randomness and it's attribute seed. Relates to #1402 | 13 October 2018, 14:53:44 UTC |
aaaac35 | Martin Hořeňovský | 13 October 2018, 12:43:58 UTC | Add tests for #1403 | 13 October 2018, 14:53:30 UTC |
6cede01 | Eddie | 10 October 2018, 01:42:34 UTC | Fix different operator<< overload sets used for SFINAE and insertion | 13 October 2018, 14:53:30 UTC |
f1faaa9 | Miguel Gaio | 03 October 2018, 08:22:16 UTC | Fix convert from char on ARM build Some platforms set the signedness of char to unsigned (eg. ARM). Convert from char should not assume the signedness of char. Fix build issue with -Werror,-Wtautological-unsigned-zero-compare flags. Signed-off-by: Miguel Gaio <mgaio35@gmail.com> | 13 October 2018, 10:56:05 UTC |
9e1bdca | Martin Hořeňovský | 28 September 2018, 13:52:51 UTC | v2.4.1 | 28 September 2018, 13:52:51 UTC |
be49a53 | Martin Hořeňovský | 28 September 2018, 13:30:00 UTC | Fix a bug in UnorderedEqualsMatcher Previously a mismatched prefix would be skipped before the actual comparison would be performed. Obviously, it is supposed to be _matching_ prefix that is skipped. | 28 September 2018, 13:30:02 UTC |
558bbe7 | Martin Moene | 29 November 2017, 20:22:38 UTC | Add example for TeamCity reporter and refer to it Prevent warnings - gnu: -Wcomment: multi-line comment - clang: -Wweak-vtables 'class' has no out-of-line virtual method definitions; its vtable will be emitted in every translation unit - clang: -Winconsistent-missing-override: 'method' overrides a member function but is not marked 'override' - MSVC: C4702: unreachable code | 27 September 2018, 21:20:02 UTC |
f4881f1 | wimo7083 | 26 September 2018, 20:48:05 UTC | prevent cygwin to_string compiler error | 27 September 2018, 18:56:27 UTC |
de06340 | Mike Cowan | 22 September 2018, 18:21:19 UTC | Abort when total assertions failed is greater than or equal to configured value | 22 September 2018, 20:39:08 UTC |
4dd6e81 | Martin Hořeňovský | 21 September 2018, 19:03:14 UTC | Update "Known limitations" section of documentation This fixes some wording that implies C++98 standard, updates the recommended solution to looped SECTION macros and mentioned the "last section failed, test needs to be rerun" problem. Related to #1367 Related to #1384 Related to #1389 | 21 September 2018, 19:03:14 UTC |
9e6d7bb | Martin Hořeňovský | 21 September 2018, 18:48:18 UTC | Add documentation for installing Catch from the repository This might prove helpful when the package managers either doesn't have Catch at all, or provides it in obsolete version (Ubuntu 16.04, I am looking at you). Closes #1383 | 21 September 2018, 18:48:18 UTC |
dfb025c | Martin Hořeňovský | 21 September 2018, 18:04:56 UTC | Change wording of Approx documentation to be less misleading The "percentage" suggests that the expected epsilon can be in [0, 100], but the expected values are in [0, 1]. The new wording uses "coefficient", to make it clearer that we are talking about values in [0, 1]. Closes #1388 | 21 September 2018, 18:04:56 UTC |
c638c57 | melak47 | 20 September 2018, 12:13:35 UTC | Add StringMaker for std::variant, std::monostate (#1380) The StringMaker is off by default and can be enabled by a new macro `CATCH_CONFIG_ENABLE_VARIANT_STRINGMAKER`, to avoid increasing the footprint of stringification machinery by default. | 20 September 2018, 12:13:35 UTC |
a575536 | melak47 | 04 September 2018, 15:01:26 UTC | Add StringMaker for std::(w)string_view Fixes #1375 | 10 September 2018, 09:37:26 UTC |
1eb42ee | Martin Hořeňovský | 09 September 2018, 20:08:26 UTC | Add C++17 builds to Travis | 10 September 2018, 07:30:09 UTC |
46e99e2 | Martin Hořeňovský | 09 September 2018, 14:16:49 UTC | Fixup TOC script sluggification and documentation | 09 September 2018, 15:09:57 UTC |
a212fb4 | Martin Hořeňovský | 09 September 2018, 09:37:17 UTC | Merge branch 'dev-appveyor-fixup-coverage-scripts' | 09 September 2018, 09:37:17 UTC |
1e98c82 | Martin Hořeňovský | 08 September 2018, 18:15:51 UTC | Simplify the Appveyor configuration batch script | 09 September 2018, 08:18:30 UTC |
bcfa9b1 | Martin Hořeňovský | 08 September 2018, 17:36:42 UTC | Properly exit appveyor batch scripts on error | 09 September 2018, 08:18:29 UTC |
a3876ad | Martin Hořeňovský | 08 September 2018, 18:56:31 UTC | Fix CTest regex error The desired behaviour was to match a literal "[.]", so the regex has to be escaped as "\\[\\.\\]" -- double backslashes, because it has to be escaped from CMake as well as from the regex engine. | 09 September 2018, 08:17:08 UTC |
2a4725b | Martin Hořeňovský | 08 September 2018, 16:23:38 UTC | Enable some more generator tests in standard test run | 08 September 2018, 16:23:38 UTC |
a81c01d | Martin Moene | 05 September 2018, 08:01:54 UTC | Updated documentation TOCs | 08 September 2018, 09:05:52 UTC |
60b05b2 | Martin Hořeňovský | 04 September 2018, 09:59:15 UTC | v2.4.0 | 04 September 2018, 09:59:15 UTC |
232ea3c | Martin Hořeňovský | 03 September 2018, 16:41:20 UTC | Add documentation for no-exception support Closes #703 Closes #1358 | 04 September 2018, 08:06:31 UTC |
a5c900d | Martin Hořeňovský | 03 September 2018, 14:27:46 UTC | Add ExtraTest for CATCH_CONFIG_DISABLE | 04 September 2018, 08:06:30 UTC |
8b01883 | Martin Hořeňovský | 03 September 2018, 15:52:48 UTC | Add support for -fno-exceptions (or equivalent) This means * Adding new configuration toggle `CATCH_CONFIG_DISABLE_EXCEPTIONS` and a best-guess configuration auto-checking for it. * Adding new set of internal macros, `CATCH_TRY`, `CATCH_CATCH_ALL` and `CATCH_CATCH_ANON` that can be used in place of regular `try`, `catch(...)` and `catch(T const&)` respectively, while disappearing when `CATCH_CONFIG_DISABLE_EXCEPTIONS` is enabled. * Replacing all uses of `throw` with calls to `Catch::throw_exception` customization point. * Providing a default implementation for the above customization point when `CATCH_CONFIG_DISABLE_EXCEPTIONS` is set. * Letting users override this implementation with their own. * Some minor changes and ifdefs all around to support the above | 03 September 2018, 19:08:27 UTC |
86da284 | Martin Hořeňovský | 03 September 2018, 08:03:47 UTC | Replace most naked throws with macros from catch_enforce.h This is a first step towards support a no-exceptions mode | 03 September 2018, 16:07:34 UTC |
ef9150f | Martin Hořeňovský | 03 September 2018, 08:20:58 UTC | Directly set Approx's members in operator() This avoids instantiating the member-setting function template and checking the invariants in cases where we know the invariant already holds. | 03 September 2018, 08:20:58 UTC |
84fa76e | Martin Hořeňovský | 03 September 2018, 08:15:49 UTC | Move Approx's validity checks out of line into cpp file This avoids having to include <stdexcept> in the main include path and speeds up the compilation if Approx is used with multiple different types. | 03 September 2018, 08:15:51 UTC |
fcd91c7 | Martin Hořeňovský | 02 September 2018, 16:54:41 UTC | Only look for Python binary when building tests Fixes #1374 | 02 September 2018, 16:55:17 UTC |
efbf50f | Martin Hořeňovský | 02 September 2018, 13:38:33 UTC | Add test for AND_GIVEN and update the baselines | 02 September 2018, 14:53:57 UTC |
64fd5b8 | Matthew Parnell | 14 August 2018, 09:49:55 UTC | Add BDD AND_GIVEN based macros issue #1360 It is possible to have multple given contexts in a single BDD scenario; if you have to type 'and' in the GIVEN description; it's very likely you need an AND. A generic AND is not possible, thus a AND_GIVEN is added to complement the AND_WHEN and AND_THEN. Can be used without needing to increase indent: SCENARIO("...") { GIVEN("...") AND_GIVEN("...") { WHEN("...") { THEN("...") { // ... } } } } would correctly output, when requested/needed: Given: ... And given: ... When: ... Then: ... The padding had to be increased by a character in the output message, to continue to be uniform. | 02 September 2018, 14:53:57 UTC |
ee73989 | Martin Hořeňovský | 01 September 2018, 20:34:29 UTC | Suppress Wunreachable-code in floating matchers and exception tests Closes #1350 | 01 September 2018, 20:34:29 UTC |
646e1f6 | Martin Hořeňovský | 01 September 2018, 19:51:49 UTC | Make Catch2ConfigVersion.cmake be generated as arch-independent As it turns out, there is a fairly reasonable workaround available. Closes #1368 | 01 September 2018, 19:51:49 UTC |
6f75acb | Martin Hořeňovský | 01 September 2018, 15:28:06 UTC | Add tests for CATCH_CONFIG_DISABLE | 01 September 2018, 15:28:06 UTC |
9c3cc4a | Martin Hořeňovský | 01 September 2018, 13:01:51 UTC | Add test for CATCH_CONFIG_PREFIX_ALL | 01 September 2018, 13:01:51 UTC |
f3972f0 | Martin Hořeňovský | 31 August 2018, 19:27:35 UTC | Add test for CATCH_CONFIG_DISABLE_STRINGIFICATION | 31 August 2018, 19:27:35 UTC |
38e1731 | Martin Hořeňovský | 31 August 2018, 09:46:31 UTC | Build ExtraTests when building Examples on AppVeyor | 31 August 2018, 16:32:23 UTC |
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 |