<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/docs/other-macros.md, branch v3.15.3</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>v3.15.0</title>
<updated>2026-05-12T11:16:46+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-05-12T11:16:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=6ee0826dcae55ed1e06b2c5701981221e979e1e6'/>
<id>6ee0826dcae55ed1e06b2c5701981221e979e1e6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Support for constexpr matchers in C++20 (P0784)</title>
<updated>2026-05-12T09:05:02+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-05-10T21:05:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=651247c7f40eda6846fec736d2f9edac8949dacb'/>
<id>651247c7f40eda6846fec736d2f9edac8949dacb</id>
<content type='text'>
To make this all work, I had to remove the stringification cache
from matchers. In theory, this can cause performance penalty in
cases where single matcher instance is stringified multiple times,
but in practice this does not happen much, and the difference is
surprisingly small anyway, because the performance of stringification
is already horrible and full of allocating strings just to throw
them away.

The matcher combinators need P2738 from C++26 to be `constexpr`.

Closes #3091
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To make this all work, I had to remove the stringification cache
from matchers. In theory, this can cause performance penalty in
cases where single matcher instance is stringified multiple times,
but in practice this does not happen much, and the difference is
surprisingly small anyway, because the performance of stringification
is already horrible and full of allocating strings just to throw
them away.

The matcher combinators need P2738 from C++26 to be `constexpr`.

Closes #3091
</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>v3.0.1</title>
<updated>2022-05-17T20:13:36+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2022-05-17T20:13:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=605a34765aa5d5ecbf476b4598a862ada971b0cc'/>
<id>605a34765aa5d5ecbf476b4598a862ada971b0cc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add STATIC_CHECK and STATIC_CHECK_FALSE (#2318)</title>
<updated>2021-11-14T23:28:27+00:00</updated>
<author>
<name>Morwenn</name>
</author>
<published>2021-11-14T23:28:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f41d76167431eeb0ae8e82703e5597769c0531b8'/>
<id>f41d76167431eeb0ae8e82703e5597769c0531b8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove mention of `ANON_TEST_CASE` from documentation</title>
<updated>2021-05-10T19:49:45+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2021-05-10T19:49:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=35cba5486d47adcc8978eefcf7e4a66d4834b5f0'/>
<id>35cba5486d47adcc8978eefcf7e4a66d4834b5f0</id>
<content type='text'>
It was removed from v3, because the standard `TEST_CASE` can now be
anonymous as well.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It was removed from v3, because the standard `TEST_CASE` can now be
anonymous as well.
</pre>
</div>
</content>
</entry>
<entry>
<title>Suppress failure of CHECKED_IF and CHECKED_ELSE (#2187)</title>
<updated>2021-05-10T19:42:47+00:00</updated>
<author>
<name>Jozef Grajciar</name>
</author>
<published>2021-05-10T19:42:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=eb911aa995d806a5989cc026df7e8b69c470c4c8'/>
<id>eb911aa995d806a5989cc026df7e8b69c470c4c8</id>
<content type='text'>
Resolves #1390

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>
Resolves #1390

Co-authored-by: Martin Hořeňovský &lt;martin.horenovsky@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Fix introduced in version placeholders</title>
<updated>2021-03-13T09:26:12+00:00</updated>
<author>
<name>Jozef Grajciar</name>
</author>
<published>2021-03-12T09:22:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=037ddbc75cc5e58b93cf5a010a94b32333ad824d'/>
<id>037ddbc75cc5e58b93cf5a010a94b32333ad824d</id>
<content type='text'>
Resolves #2082
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Resolves #2082
</pre>
</div>
</content>
</entry>
<entry>
<title>Add 'Introduced in Catch 2.3.0.' text</title>
<updated>2019-08-02T17:18:47+00:00</updated>
<author>
<name>Clare Macrae</name>
</author>
<published>2019-07-22T12:29:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=67b4ada6b0fbe98368df934e1378aeae1ba7f235'/>
<id>67b4ada6b0fbe98368df934e1378aeae1ba7f235</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add 'Introduced in Catch 2.4.2.' text</title>
<updated>2019-08-02T17:18:47+00:00</updated>
<author>
<name>Clare Macrae</name>
</author>
<published>2019-07-22T11:49:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=49cd7c96b406bf46e9e3bd4e3d3f9b4b015a189f'/>
<id>49cd7c96b406bf46e9e3bd4e3d3f9b4b015a189f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
