f526ff0 | Martin Hořeňovský | 20 April 2022, 21:46:07 UTC | Bump version to v3.0.0 preview 5 | 20 April 2022, 21:46:07 UTC |
17a04f8 | Martin Hořeňovský | 19 April 2022, 08:32:13 UTC | Always report rng seed from builtin reporters Not all reporters use a format that supports this, so TeamCity and Automake reporters still do not report it. The console reporter now reports it even on successful runs, where before it only reported the rng seed in the header, which was showed either for failed run, or for run with `-s`. CLoses #2065 | 19 April 2022, 08:32:13 UTC |
90e6905 | Martin Hořeňovský | 18 April 2022, 10:14:21 UTC | Remove no longer used CATCH_USE_VALGRIND cmake option | 18 April 2022, 10:14:21 UTC |
6bdc7e1 | Martin Hořeňovský | 17 April 2022, 21:30:40 UTC | Remove unused function in Clara | 17 April 2022, 21:30:40 UTC |
7b93a20 | Martin Hořeňovský | 16 April 2022, 13:00:41 UTC | Rename catch_stream -> catch_reusable_string_stream After everything else was split out, this name much reflects the actual contents of the file(s). | 16 April 2022, 14:34:08 UTC |
98bb638 | Martin Hořeňovský | 16 April 2022, 12:43:40 UTC | Split out IStream out of catch_stream.hpp | 16 April 2022, 14:33:57 UTC |
05e85c5 | Martin Hořeňovský | 16 April 2022, 12:12:56 UTC | Split out Catch::cout/cerr/clog into their own file | 16 April 2022, 14:33:50 UTC |
b520257 | Martin Hořeňovský | 15 April 2022, 15:14:25 UTC | Split REMOVE_PARENS from catch_preprocessor.hpp This way, some headers can include just the new header, which transitively decreases the total include size of test_macros.hpp. | 15 April 2022, 15:14:28 UTC |
574d042 | Martin Hořeňovský | 15 April 2022, 14:40:06 UTC | Push catch_preprocessor include down from test_macros header | 15 April 2022, 14:40:06 UTC |
c742ea9 | Martin Hořeňovský | 14 April 2022, 15:16:01 UTC | Some IWYU include cleanups | 14 April 2022, 15:16:01 UTC |
a243cba | Martin Hořeňovský | 13 April 2022, 12:55:05 UTC | Introduce type to handle reporter specs with defaults filled-in | 13 April 2022, 13:02:25 UTC |
79d1e82 | Martin Hořeňovský | 12 April 2022, 19:22:43 UTC | Store IStream instance owning ptrs in reporter instances This ended up being a surprisingly large refactoring, motivated by removing a `const_cast` from `Config`'s handling of reporter streams, forced by previous commit. | 13 April 2022, 13:00:50 UTC |
4f09f11 | Martin Hořeňovský | 12 April 2022, 18:59:01 UTC | Make IStream::stream non-const This way it makes much more sense from logically-const point of view, and also means that concrete implementations don't have to always have a `mutable` keyword on the stream member. | 13 April 2022, 12:59:39 UTC |
9934b7d | Martin Hořeňovský | 12 April 2022, 20:31:47 UTC | Remove pointless mutable from ScopedElement's XmlWriter ptr | 12 April 2022, 20:31:51 UTC |
7a89916 | Martin Hořeňovský | 12 April 2022, 20:28:36 UTC | Remove superfluous default argument from XMLWriter's constructor | 12 April 2022, 20:28:40 UTC |
61f8031 | Martin Hořeňovský | 12 April 2022, 20:27:12 UTC | Use parent constructor where applicable in reporters | 12 April 2022, 20:27:12 UTC |
d698776 | Martin Hořeňovský | 12 April 2022, 20:22:04 UTC | Remove unused RDBufStream type | 12 April 2022, 20:22:04 UTC |
f25236f | Martin Hořeňovský | 11 April 2022, 18:37:54 UTC | Small cleanup for pluralise | 11 April 2022, 18:37:54 UTC |
8cdaebe | Martin Hořeňovský | 10 April 2022, 22:00:19 UTC | struct -> class normalization for various interface types | 11 April 2022, 16:32:35 UTC |
1a56ba8 | Martin Hořeňovský | 10 April 2022, 21:53:37 UTC | struct -> class normalization for matchers | 11 April 2022, 11:06:54 UTC |
9abe49e | Martin Hořeňovský | 10 April 2022, 20:03:12 UTC | struct -> class normalization for reporters | 11 April 2022, 10:58:58 UTC |
195a6ac | Martin Hořeňovský | 11 April 2022, 08:58:45 UTC | Use StringRefs for operation name in StringMatcherBase | 11 April 2022, 08:58:45 UTC |
be948f1 | Martin Hořeňovský | 10 April 2022, 19:55:52 UTC | Add COST property to the CMakeConfig tests | 10 April 2022, 19:55:52 UTC |
4e006a9 | Martin Hořeňovský | 10 April 2022, 19:50:30 UTC | Rename IStreamingReporterPtr => IEventListenerPtr This reflects the renaming of the reporter/listener base class. | 10 April 2022, 19:50:51 UTC |
73d8fb5 | Martin Hořeňovský | 10 April 2022, 19:43:28 UTC | Update release-notes.md | 10 April 2022, 19:43:28 UTC |
0a33405 | Martin Hořeňovský | 09 April 2022, 18:55:13 UTC | Mention Bazel support in release notes | 09 April 2022, 18:55:13 UTC |
cb551b4 | Lukasz Okraszewski | 08 April 2022, 16:01:59 UTC | Add default reporter for Bazel integration (#2399) When the added Bazel configuration flag is enabled, a default JUnit reporter will be added if the XML envrioment variable is defined. Fix include paths for generated config header. Enable Bazel config by default when building with Bazel. Co-authored-by: Martin Hořeňovský <martin.horenovsky@gmail.com> | 08 April 2022, 16:01:59 UTC |
4b78157 | Martin Hořeňovský | 07 April 2022, 10:45:05 UTC | Remove Config::openStream function It has become completely vestigial, as it only ever passed-through the argument down to a different function, and being private member function, it didn't even introduce a useful compilation firewall. | 07 April 2022, 10:50:20 UTC |
46b3f7e | Martin Hořeňovský | 07 April 2022, 10:40:46 UTC | Document magic %-prefixed streams | 07 April 2022, 10:50:18 UTC |
f9f4e58 | Martin Hořeňovský | 06 April 2022, 21:33:33 UTC | Add missing version placeholder to --colour-mode cli option docs | 07 April 2022, 10:50:14 UTC |
d5bfce4 | Martin Hořeňovský | 06 April 2022, 19:56:29 UTC | Rename config::colourMode to config::defaultConfigMode This describes the actual intention much better. | 07 April 2022, 10:50:13 UTC |
c43947e | Martin Hořeňovský | 06 April 2022, 19:52:51 UTC | Fix CLI hints for colour and reporter options | 07 April 2022, 10:50:10 UTC |
423e1d2 | Martin Hořeňovský | 04 April 2022, 19:07:04 UTC | Integrate the new reporter specs into Catch2 This means that the CLI interface now uses the new key-value oriented reporter spec, the common reporter base creates the colour implementation based on the reporter-specific configuration, and it also stores the custom configuration options for each reporter instance. Closes #339 as it allows per-reporter forcing of ansi colour codes. | 07 April 2022, 10:50:08 UTC |
3c06bcb | Martin Hořeňovský | 06 April 2022, 13:17:17 UTC | Fix reporter parser spec to use the right key for colour-mode | 06 April 2022, 19:41:45 UTC |
a51fd07 | Martin Hořeňovský | 04 April 2022, 15:06:47 UTC | Add helper for parsing the new reporter specs The new reporter spec generalizes key-value options that can be passed to the reporter, looking like this `reporterName[::key=value]*`. A key can be either Catch2-recognized, which currently means either `out` or `colour`, or reporter-specific which is anything prefixed with `X`, e.g. `Xfoo`. | 05 April 2022, 13:45:54 UTC |
8ac8649 | Martin Hořeňovský | 04 April 2022, 13:38:25 UTC | Cleanup ColourMode parsing in CLI | 05 April 2022, 11:42:21 UTC |
d750da1 | Martin Hořeňovský | 04 April 2022, 13:23:30 UTC | Split out colour mode string parsing into its own function | 05 April 2022, 11:42:06 UTC |
c045733 | Martin Hořeňovský | 04 April 2022, 09:54:02 UTC | Add splitReporterSpec helper | 05 April 2022, 10:57:33 UTC |
9fea3d2 | Martin Hořeňovský | 04 April 2022, 09:40:59 UTC | Add missing include to catch_optional.hpp | 05 April 2022, 10:55:30 UTC |
797c3e7 | Martin Hořeňovský | 31 March 2022, 20:30:38 UTC | Refactor tests | 31 March 2022, 20:30:38 UTC |
6206db5 | Martin Hořeňovský | 31 March 2022, 18:04:08 UTC | Fix missing licence headers | 31 March 2022, 18:04:08 UTC |
78e33ce | Daniel Feist | 31 March 2022, 14:46:41 UTC | Added TestCaseInfoHasher and tests. (#2394) Test case hashing includes tags and class name As the hasher involves more code now, it was split out into its own file and it got its own set of tests. Closes #2304 | 31 March 2022, 14:46:41 UTC |
1a8a793 | Martin Hořeňovský | 27 March 2022, 21:35:41 UTC | Refactor colour handling to prepare for per-reporter colour modes This includes always compiling the ANSI and None colour implementations, as they don't need to touch any platform specific APIs, and removing their respective compile-time configuration options. Because the Win32 colour implementation requires Win32-specific APIs, it is still hidden behind a compile-time toggle, `CATCH_CONFIG_COLOUR_WIN32` (renamed from `..._COLOUR_WINDOWS`). The commandline options for colours were also changed. The option now uses different name, and allows to select between different implementations, rather than changing whether the compiled-in colour implementation is used through "yes/no/default" options. | 28 March 2022, 11:10:13 UTC |
a4e4e82 | Martin Hořeňovský | 24 March 2022, 15:03:42 UTC | Always indent test names at 2 spaces with default listing This makes the output slightly more parsable in cases where using the xml output from xml reporter is impractical, e.g. from CMake scripts. | 24 March 2022, 15:03:46 UTC |
6227ca3 | Martin Hořeňovský | 23 March 2022, 23:09:27 UTC | Add tests for ColourGuard | 24 March 2022, 15:02:56 UTC |
081a1e9 | Martin Hořeňovský | 21 March 2022, 22:20:08 UTC | ColourGuard is no longer constructed engaged Forcing it to be engaged explicitly, either via `op<<`, or by `ColourGuard::engage`, fixes an issue with multiple `ColourGuard`s being constructed in a single expression. Because the construction of the `ColourGuard` instances can happen in arbitrary order, colours would be applied in arbitrary order too. However, a chain of `op<<`s has strict call orders, fixing this issue. | 24 March 2022, 15:02:54 UTC |
4d8acaf | Martin Hořeňovský | 20 March 2022, 23:22:54 UTC | Rename isStdout => isConsole and add doccomment | 24 March 2022, 15:02:51 UTC |
cf6dd93 | Kochetkov, Yuriy | 02 March 2022, 12:42:07 UTC | Add test for `FatalConditionHandler` and stack unwinding Signed-off-by: Kochetkov, Yuriy <yuriyx.kochetkov@intel.com> | 24 March 2022, 14:49:02 UTC |
2ce64d1 | Kochetkov, Yuriy | 08 February 2022, 10:43:40 UTC | Fix disengage failure logs for FatalConditionHandlerGuard FatalConditionHandlerGuard is used within RunContext::invokeActiveTestCase(). The intent of this guard is to avoid binary crash without failed test being reported. Still in case FatalConditionHandlerGuard destructor being called during stack unwinding AND finds unexpected top-level filter for SEH unhandled exception, the binary may still crash. As result of such crash the original exception details are being hidden. As the Catch2 provides only `CATCH_CATCH_ANON` macro, with no access to exception details by design, looks like the best way to handle issue is to: - state requirements explicitly by `noexcept` specifier - use `Catch::cerr()` to print out possible issue notification Signed-off-by: Kochetkov, Yuriy <yuriyx.kochetkov@intel.com> | 24 March 2022, 14:49:02 UTC |
7882f73 | Kochetkov, Yuriy | 24 January 2022, 09:40:22 UTC | Remove unnecessary casts May break the logic in case of WinAPI changes with no warnings Signed-off-by: Kochetkov, Yuriy <yuriyx.kochetkov@intel.com> | 24 March 2022, 14:49:02 UTC |
0e176c3 | Martin Hořeňovský | 14 March 2022, 14:04:55 UTC | Refactored colour handling * POSIX colour impl is now compiled for all platforms. * Deciding whether a colour impl should be picked is now stream dependent, and thus incompatible implementations can be removed immediately, rather than checking when the colour is being used. | 18 March 2022, 13:04:07 UTC |
c1c72c7 | Martin Hořeňovský | 17 March 2022, 21:14:56 UTC | Better doccomment for IEventListener | 18 March 2022, 09:30:48 UTC |
06092f7 | Martin Hořeňovský | 17 March 2022, 23:14:09 UTC | Remove special handling of default stream for reporters This fixes an issue where reporter with default-output to stdout would think that it was given a stream _not_ backed by console, thus not using colour. | 17 March 2022, 23:41:47 UTC |
4acc520 | Martin Hořeňovský | 14 March 2022, 14:04:42 UTC | Event listeners no longer take reporter config in constructor This also required splitting out Listener factory from the reporter factory hierarchy. In return, the listener factories only need to take in `IConfig const*`, which opens up further refactorings down the road in the colour selection and implementation. | 17 March 2022, 23:36:18 UTC |
18c5866 | Alan Jowett | 17 March 2022, 23:21:12 UTC | Generate Visual Studio project files with constant project guids By default, CMake derives a Visual Studio project GUID from the file path but the GUID can be overridden via a property (see https://gitlab.kitware.com/cmake/cmake/-/commit/c85367f4). Using a non-constant GUID can cause problems if other projects/repos want to reference the catch2 vcxproj files, so we force a constant GUID here. Signed-off-by: Alan Jowett <alanjo@microsoft.com> Resolves: #2388 | 17 March 2022, 23:21:12 UTC |
634cdb4 | Vertexwahn | 11 March 2022, 21:07:50 UTC | Fix borken Bazel build | 16 March 2022, 13:01:18 UTC |
3887929 | wqking | 13 March 2022, 13:04:58 UTC | Add eventpp and accessorpp to Catch2 users | 13 March 2022, 15:56:07 UTC |
81f612c | schallerr | 09 March 2022, 22:13:37 UTC | Refactor MatchersRanges test utils (#2386) - do not hardcode content of containers - prefix members with m_ - add const and non-const iterators to `with_mocked_iterator_access` - remove `m_touched` as it wasn't filled properly and isn't used anyway | 09 March 2022, 22:13:37 UTC |
913f79a | Martin Hořeňovský | 06 March 2022, 18:20:53 UTC | Each reporter keeps its own colour implementation This opens path to per-reporter colour output customization, and fixes multiple issues with the old colour implementation. Under the old implementation, using Win32-backed colouring would always change the colour used by the console, even if the actual output was written elsewhere, such as a file passed by the `--out` flag. This will no longer happen, as the reporter's colour impl will check that the reporter's stream is pointed to console before trying to change the colours. POSIX/ANSI colour implementation suffered a similar-ish issue, in that it only wrote the colour escape codes into the default output stream, even if the reporter asking for colouring was actually writing to a completely different output stream. | 08 March 2022, 11:51:13 UTC |
06f74a0 | Martin Hořeňovský | 07 March 2022, 09:42:26 UTC | Add %stderr and %stdout as recognized magic stream names | 07 March 2022, 09:59:27 UTC |
61d0f7a | Martin Hořeňovský | 23 February 2022, 22:46:45 UTC | Pass the whole IStream wrapper into reporter This will become useful when reworking colour support, because Win32 colour support requires checking whether the output is stdout, which is done through the `IStream` wrapper. | 06 March 2022, 15:34:13 UTC |
9b01c40 | Martin Hořeňovský | 06 March 2022, 13:45:30 UTC | Fix cli help tooltip for --use-colour | 06 March 2022, 15:28:30 UTC |
f206162 | Martin Hořeňovský | 06 March 2022, 10:02:20 UTC | Fix some messy formatting in catch_stats | 06 March 2022, 15:28:28 UTC |
05d4ec6 | Martin Hořeňovský | 06 March 2022, 15:08:31 UTC | Add common ReporterBase as parent of the helper bases This is useful as a centralized place for handling common reporter problems like handling output streams, and soon also colour impl handling. | 06 March 2022, 15:28:22 UTC |
4dd5e2e | Martin Hořeňovský | 06 March 2022, 14:37:16 UTC | Rename base reporter iface IStreamingReporter -> IEventListener | 06 March 2022, 15:28:21 UTC |
f9facc1 | John Beard | 05 March 2022, 12:50:48 UTC | Add variadic CAPTURE tests This makes sure that CAPTURE works when called with variadic arguments, and also works that way when disabled. The underlying fix to #2316 is not applicable (CAPTURE is already variadic when disabled). This is a port of 5e94498ed04820b1022f0bead0f7d4d5fb7a06dd to the devel branch. | 05 March 2022, 15:06:54 UTC |
2ebc041 | Joel Uckelman | 03 March 2022, 16:44:49 UTC | Fix name of with-main library. | 03 March 2022, 23:40:55 UTC |
529eec9 | Martin Hořeňovský | 23 February 2022, 13:16:36 UTC | Mention CMake configure options in release notes | 23 February 2022, 13:16:36 UTC |
ff5b311 | Martin Hořeňovský | 22 February 2022, 18:15:38 UTC | Remove superfluous warning suppression in tests | 22 February 2022, 19:13:17 UTC |
4a2eb90 | Martin Hořeňovský | 22 February 2022, 14:47:11 UTC | Add basic CMake presets | 22 February 2022, 14:47:11 UTC |
715cd25 | Martin Hořeňovský | 21 February 2022, 22:48:15 UTC | Add IStream::isStdOut | 22 February 2022, 14:45:51 UTC |
1d4b42a | GravisZro | 21 February 2022, 14:13:00 UTC | Minor whitespace fix | 21 February 2022, 19:04:43 UTC |
72f0372 | Martin Hořeňovský | 19 February 2022, 20:27:53 UTC | Add tests for CMake configure toggles passing to Catch2 build | 20 February 2022, 18:32:30 UTC |
4396a91 | Martin Hořeňovský | 19 February 2022, 20:27:03 UTC | Add some missing configuration includes | 20 February 2022, 18:32:25 UTC |
bda4b7d | Martin Hořeňovský | 20 February 2022, 12:17:40 UTC | Fix fallback stringifier config | 20 February 2022, 18:32:22 UTC |
0c72256 | John Beard | 18 February 2022, 22:36:47 UTC | Examples: remove references to catch_default_main catch_default_main.hpp was removed in db32550898 The example 000-CatchMain.cpp is no longer compiled, but is still present in the examples and is still references by other example files. Remove the file and references to it, as they are confusing. | 20 February 2022, 12:10:42 UTC |
33ffc3b | Martin Hořeňovský | 02 February 2022, 14:36:58 UTC | Allow passing compile-time configuration options through CMake | 18 February 2022, 10:15:08 UTC |
fc5552d | Martin Hořeňovský | 17 February 2022, 19:44:27 UTC | Push down handling of default reporter to Config's constructor This simplifies the handling of default reporter in console parsing, at the cost of making `Config`'s constructor responsible for more things. | 17 February 2022, 22:02:30 UTC |
7cf2f88 | Martin Hořeňovský | 14 February 2022, 17:22:11 UTC | Add small missing things to release notes | 14 February 2022, 17:22:11 UTC |
a9ed2c2 | Martin Hořeňovský | 06 February 2022, 23:05:11 UTC | Rename MiscFunctions.cmake -> CatchMiscFunctions.cmake | 06 February 2022, 23:05:11 UTC |
a1e5934 | Martin Hořeňovský | 02 February 2022, 23:34:01 UTC | Add licence header to MiscFunctions.cmake | 06 February 2022, 22:59:15 UTC |
190f717 | Guillaume Egles | 05 February 2022, 18:32:06 UTC | proper support for lib suffix in conan | 05 February 2022, 19:53:43 UTC |
c912f62 | Martin Hořeňovský | 05 February 2022, 15:21:06 UTC | Remove Windows.h related defines | 05 February 2022, 15:21:06 UTC |
aa3c7be | Martin Hořeňovský | 05 February 2022, 15:14:47 UTC | Fix ToC in CLI documentation | 05 February 2022, 15:14:47 UTC |
b0279e0 | Martin Hořeňovský | 05 February 2022, 13:55:01 UTC | Remove mention of CATCH_CONFIG_MAIN from docs/configuration.md | 05 February 2022, 13:55:01 UTC |
9afb6ce | Certseeds | 02 February 2022, 04:11:52 UTC | feature: double -> const auto when static_cast in right </subject> Branch: devel <type>: - [ ] Bug fix - [ ] Bug fix (Test) - [x] New feature - [ ] Breaking change - [ ] Documentation update - [ ] This change requires a documentation update <body> <footer> Signed-off-by: Certseeds <51754303+Certseeds@users.noreply.github.com> | 03 February 2022, 23:09:01 UTC |
efb5492 | Martin Hořeňovský | 29 January 2022, 22:12:40 UTC | Don't cache stdout handle in Windows console colour impl The cached handle would become invalid if some other code, say a user-provided test code, redirects stdout through `freopen` or `_dup2`, which would then cause AppVerifier to complain. Fixes #2345 | 29 January 2022, 22:12:55 UTC |
7a2f9f4 | Martin Hořeňovský | 29 January 2022, 12:10:54 UTC | Extend checkLicense.py to also check tests | 29 January 2022, 12:10:54 UTC |
79e4cd1 | Martin Hořeňovský | 28 January 2022, 23:40:03 UTC | Cleanup summary comments in ExtraTests | 28 January 2022, 23:40:03 UTC |
635db27 | Martin Hořeňovský | 28 January 2022, 23:07:44 UTC | Use the new licence header in ExtraTests's cpp files | 28 January 2022, 23:07:44 UTC |
51888d3 | Martin Hořeňovský | 28 January 2022, 23:04:49 UTC | Use the new licence header in TestScripts | 28 January 2022, 23:04:49 UTC |
f83332d | Martin Hořeňovský | 28 January 2022, 23:03:43 UTC | Use the new licence header in SelfTest's cpp files | 28 January 2022, 23:03:43 UTC |
b5dbdc8 | Martin Hořeňovský | 28 January 2022, 22:55:27 UTC | Link to the v2-v3 migration docs from release notes | 28 January 2022, 22:55:27 UTC |
e53a75b | Martin Hořeňovský | 27 January 2022, 23:00:52 UTC | Add integration test for listener-reporter event ordering | 27 January 2022, 23:00:52 UTC |
4ff8b27 | Martin Hořeňovský | 26 January 2022, 22:47:40 UTC | Cleanups output normalization in ApprovalTests Removed: * NaN normalization * INFINITY normalization * errno normalization * Completely unused duration regex Tests using these macros should be tagged `[approvals]` so they are not run as part of approval tests. Also simplified regex for the test's executable filename, and hidden some tests relying on nullptr normalization. | 27 January 2022, 20:11:51 UTC |
d861e73 | Martin Hořeňovský | 27 January 2022, 17:57:48 UTC | Handle full unique test identifiers in testRandomOrder.py | 27 January 2022, 20:11:37 UTC |
dc86d51 | Martin Hořeňovský | 27 January 2022, 10:21:43 UTC | Update version string to mention Catch2 | 27 January 2022, 19:15:05 UTC |
5121660 | Simon Weis | 22 January 2022, 07:23:06 UTC | Add OpenALpp as an open source library that uses Catch2 | 22 January 2022, 20:33:19 UTC |
ce556fd | Rodrigo Severo | 14 January 2022, 14:24:57 UTC | Ignoring VSCode settings dir | 15 January 2022, 14:45:56 UTC |
b6ff2c3 | Martin Hořeňovský | 09 January 2022, 18:01:14 UTC | Error out reporter registration for reporter names with '::' | 09 January 2022, 18:01:14 UTC |