<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/tests/ExtraTests, branch v3.11.0</title>
<subtitle>Progmasoft Catch3: an independently maintained C++17 test framework with a parallel runner, property checks, snapshots and structured results.</subtitle>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/'/>
<entry>
<title>Disable test for deprecated CATCH_CONFIG_BAZEL_SUPPORT option</title>
<updated>2025-09-28T10:57:55+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2025-09-28T10:46:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=4be9de6c549af6e1e4c5fda1e3adf9c9ec4ae515'/>
<id>4be9de6c549af6e1e4c5fda1e3adf9c9ec4ae515</id>
<content type='text'>
Because it requires full rebuild of the base library, it adds about
20% to the build time of the test suite. Between the fact that the
option is deprecated, and that Bazel has added the `BAZEL_TEST`
env var _years_ ago, nobody should be using it, and the chance
of breakage is tiny, the test is not worth its compile-time cost.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Because it requires full rebuild of the base library, it adds about
20% to the build time of the test suite. Between the fact that the
option is deprecated, and that Bazel has added the `BAZEL_TEST`
env var _years_ ago, nobody should be using it, and the chance
of breakage is tiny, the test is not worth its compile-time cost.
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve QNX support</title>
<updated>2025-09-22T13:36:46+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2025-09-22T13:12:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=9048c24fa7c6b568d52f76cbf06bbd62b7f83556'/>
<id>9048c24fa7c6b568d52f76cbf06bbd62b7f83556</id>
<content type='text'>
This cherry-picks the source changes from PR made by @pkleymonov-qnx,
without including the build path changes that are irrelevant unless
we can add a QNX target to our CI.

Close #2953
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This cherry-picks the source changes from PR made by @pkleymonov-qnx,
without including the build path changes that are irrelevant unless
we can add a QNX target to our CI.

Close #2953
</pre>
</div>
</content>
</entry>
<entry>
<title>Support Bazel's TEST_PREMATURE_EXIT_FILE and add it to CLI as well</title>
<updated>2025-09-22T12:02:45+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2025-09-21T09:19:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=8ed8c431c601c7b303dbfe7eb412a63f1641b812'/>
<id>8ed8c431c601c7b303dbfe7eb412a63f1641b812</id>
<content type='text'>
This tells Catch2 to create an empty file at specified path before
the tests start, and delete it after the tests finish. This allows
callers to catch cases where the test binary silently exits before
finishing (e.g. via call to `exit(0)` inside the code under test),
by looking whether the file still exists.

Closes #3020
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This tells Catch2 to create an empty file at specified path before
the tests start, and delete it after the tests finish. This allows
callers to catch cases where the test binary silently exits before
finishing (e.g. via call to `exit(0)` inside the code under test),
by looking whether the file still exists.

Closes #3020
</pre>
</div>
</content>
</entry>
<entry>
<title>Disable Wmissing-noreturn for test files</title>
<updated>2025-07-14T10:15:25+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2025-07-14T10:05:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=050e14dce05b93965ecf60ec524fa4cb3f91bb70'/>
<id>050e14dce05b93965ecf60ec524fa4cb3f91bb70</id>
<content type='text'>
Adding unreachable to `FAIL` and `SKIP` made Clang become very good
at figuring out that tests of `FAIL` and `SKIP` will never return
and thus could be marked as [[noreturn]].

To avoid introducing lot of warning suppression noise into the
test files, we just disable it instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adding unreachable to `FAIL` and `SKIP` made Clang become very good
at figuring out that tests of `FAIL` and `SKIP` will never return
and thus could be marked as [[noreturn]].

To avoid introducing lot of warning suppression noise into the
test files, we just disable it instead.
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace deprecated FindPythonInterp with FindPython3</title>
<updated>2025-06-15T19:23:27+00:00</updated>
<author>
<name>Eisuke Kawashima</name>
</author>
<published>2025-06-09T00:09:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=334827eb53bcbcaff08264baa92c2d51ff742817'/>
<id>334827eb53bcbcaff08264baa92c2d51ff742817</id>
<content type='text'>
fix #2755

https://cmake.org/cmake/help/v3.16/module/FindPythonInterp.html
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fix #2755

https://cmake.org/cmake/help/v3.16/module/FindPythonInterp.html
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix formatting of CMake files</title>
<updated>2025-04-26T16:38:36+00:00</updated>
<author>
<name>Chris Thrasher</name>
</author>
<published>2025-04-08T04:09:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=8cfca70ae879ba59699b224e8d371b8bb9fa12ff'/>
<id>8cfca70ae879ba59699b224e8d371b8bb9fa12ff</id>
<content type='text'>
2 spaces seems to be the more common indentation level so that's what
I unified around.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2 spaces seems to be the more common indentation level so that's what
I unified around.
</pre>
</div>
</content>
</entry>
<entry>
<title>Downgrade required CMake to 3.16</title>
<updated>2025-01-05T22:45:00+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2025-01-05T22:19:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=232e893785553796b2016b4440a7f3776ed450a0'/>
<id>232e893785553796b2016b4440a7f3776ed450a0</id>
<content type='text'>
We still want to build VS 2017 through AppVeyor, and those images
have CMake 3.16.2 installed. We could install newer CMake as part
of the build, but since we don't use newer CMake features yet, this
is simpler.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We still want to build VS 2017 through AppVeyor, and those images
have CMake 3.16.2 installed. We could install newer CMake as part
of the build, but since we don't use newer CMake features yet, this
is simpler.
</pre>
</div>
</content>
</entry>
<entry>
<title>Support adding test tags as CTest labels in catch_discover_tests</title>
<updated>2025-01-05T19:02:00+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2025-01-03T09:30:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=7d7b2f89f24cbd277f6eb6912705e5e13c68a3c7'/>
<id>7d7b2f89f24cbd277f6eb6912705e5e13c68a3c7</id>
<content type='text'>
We also bump the minimum CMake version to 3.20 as per #2943
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We also bump the minimum CMake version to 3.20 as per #2943
</pre>
</div>
</content>
</entry>
<entry>
<title>Enable CMake project folders for better target organization</title>
<updated>2024-10-27T22:07:55+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-10-27T22:07:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=9c5a4cf44e494bbd2e5dac151c400b3f4a4c9cbc'/>
<id>9c5a4cf44e494bbd2e5dac151c400b3f4a4c9cbc</id>
<content type='text'>
Closes #2917
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #2917
</pre>
</div>
</content>
</entry>
<entry>
<title>TEST_CASE_PERSISTENT_FIXTURE: A new fixture macro for allowing persistent fixtures throughout a TEST_CASE (#2885)</title>
<updated>2024-08-05T15:01:41+00:00</updated>
<author>
<name>Keith Stockdale</name>
</author>
<published>2024-08-05T15:01:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f7cd0ba0511b61592e70f07533d7ea30a8a5395d'/>
<id>f7cd0ba0511b61592e70f07533d7ea30a8a5395d</id>
<content type='text'>
This PR introduces a new `TEST_CASE` macro called `TEST_CASE_PERSISTENT_FIXTURE`. `TEST_CASE_PERSISTENT_FIXTURE` offers the same functionality as `TEST_CASE_METHOD` except for one difference. The object on which the test method is invoked is only created once for all invocations of the test case. The object is created just after the `testCaseStarting` event is broadcast and the object is destroyed just before the `testCaseEnding` event is broadcast.

The main motivation for this new functionality is to allow `TEST_CASE`s to do expensive setup and teardown once per `TEST_CASE`, without having to resort to abusing event listeners or static function variables with manual initialization.


Implements #1602

---------

Co-authored-by: Martin Hořeňovský &lt;martin.horenovsky@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR introduces a new `TEST_CASE` macro called `TEST_CASE_PERSISTENT_FIXTURE`. `TEST_CASE_PERSISTENT_FIXTURE` offers the same functionality as `TEST_CASE_METHOD` except for one difference. The object on which the test method is invoked is only created once for all invocations of the test case. The object is created just after the `testCaseStarting` event is broadcast and the object is destroyed just before the `testCaseEnding` event is broadcast.

The main motivation for this new functionality is to allow `TEST_CASE`s to do expensive setup and teardown once per `TEST_CASE`, without having to resort to abusing event listeners or static function variables with manual initialization.


Implements #1602

---------

Co-authored-by: Martin Hořeňovský &lt;martin.horenovsky@gmail.com&gt;</pre>
</div>
</content>
</entry>
</feed>
