<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/examples, branch v3.15.2</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>Allow generators to declare themselves (infinite)</title>
<updated>2026-02-10T08:37:15+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-02-09T18:05:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=d079ee13ab137547ab26bd1ed5ca2858d7fbd847'/>
<id>d079ee13ab137547ab26bd1ed5ca2858d7fbd847</id>
<content type='text'>
This will be useful later to implement warning on infinitely
running `GENERATE` expressions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This will be useful later to implement warning on infinitely
running `GENERATE` expressions.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add option to skip forward to the generator interface</title>
<updated>2026-01-12T15:58:15+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2025-10-06T09:47:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=9eca713a1f4555b3095564781d77654958ee3dc1'/>
<id>9eca713a1f4555b3095564781d77654958ee3dc1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Constify various autoregistry globals to avoid clang-tidy complaints</title>
<updated>2025-07-15T13:23:32+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2025-07-15T12:42:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f7968e96975ed30231d5f5614a159e1baa7ba664'/>
<id>f7968e96975ed30231d5f5614a159e1baa7ba664</id>
<content type='text'>
Closes #2582
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #2582
</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>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>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>
<entry>
<title>Remove unnecessary CMake variables (#2853)</title>
<updated>2024-04-11T13:39:08+00:00</updated>
<author>
<name>Chris Thrasher</name>
</author>
<published>2024-04-11T13:39:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=838f8d71cbcab1007158fc70cd7c50a4acbd26e2'/>
<id>838f8d71cbcab1007158fc70cd7c50a4acbd26e2</id>
<content type='text'>
* Remove unnecessary variable

* Remove unused variable</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Remove unnecessary variable

* Remove unused variable</pre>
</div>
</content>
</entry>
<entry>
<title>Fix various useful clang-tidy warnings</title>
<updated>2024-03-01T20:24:45+00:00</updated>
<author>
<name>Martin Jeřábek</name>
</author>
<published>2024-03-01T10:15:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=cde35096641d55b4aa0f743bb03e04703fbb5e9c'/>
<id>cde35096641d55b4aa0f743bb03e04703fbb5e9c</id>
<content type='text'>
* bugprone-branch-clone
* bugprone-copy-constructor-init
* bugprone-empty-catch
* bugprone-sizeof-expression
* bugprone-switch-missing-default-case
* bugprone-unused-local-non-trivial-variable
* clang-analyzer-core.uninitialized.Assign
* clang-analyzer-cplusplus.Move
* clang-analyzer-optin.cplusplus.VirtualCall
* modernize-loop-convert
* modernize-raw-string-literal
* modernize-use-equals-default
* modernize-use-override
* modernize-use-using
* performance-avoid-endl
* performance-inefficient-string-concatenation
* performance-inefficient-vector-operation
* performance-noexcept-move-constructor
* performance-unnecessary-value-param (and improve generator example)
* readability-duplicate-include
* readability-inconsistent-declaration-parameter-name
* readability-non-const-parameter
* readability-redundant-casting
* readability-redundant-member-init
* readability-redundant-smartptr-get
* readability-static-accessed-through-instance
* unused variable in amalgamted tests
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* bugprone-branch-clone
* bugprone-copy-constructor-init
* bugprone-empty-catch
* bugprone-sizeof-expression
* bugprone-switch-missing-default-case
* bugprone-unused-local-non-trivial-variable
* clang-analyzer-core.uninitialized.Assign
* clang-analyzer-cplusplus.Move
* clang-analyzer-optin.cplusplus.VirtualCall
* modernize-loop-convert
* modernize-raw-string-literal
* modernize-use-equals-default
* modernize-use-override
* modernize-use-using
* performance-avoid-endl
* performance-inefficient-string-concatenation
* performance-inefficient-vector-operation
* performance-noexcept-move-constructor
* performance-unnecessary-value-param (and improve generator example)
* readability-duplicate-include
* readability-inconsistent-declaration-parameter-name
* readability-non-const-parameter
* readability-redundant-casting
* readability-redundant-member-init
* readability-redundant-smartptr-get
* readability-static-accessed-through-instance
* unused variable in amalgamted tests
</pre>
</div>
</content>
</entry>
</feed>
