<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/tests, 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>Fix --warn InfiniteGenerators firing even if the generator was filtered</title>
<updated>2026-07-07T12:09:11+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-07-07T12:09:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=dd94b9a780e66651ff686083a66722386c540228'/>
<id>dd94b9a780e66651ff686083a66722386c540228</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add extra test binary &amp; test for CATCH_CONFIG_FAST_COMPILE</title>
<updated>2026-07-06T09:03:47+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-07-06T09:03:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=9f7c9f6872308d4e7c32fff2f1ac6640aa866b6a'/>
<id>9f7c9f6872308d4e7c32fff2f1ac6640aa866b6a</id>
<content type='text'>
Closes #3100
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #3100
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix some test binaries in ExtraTests not having warnings enabled</title>
<updated>2026-07-06T08:22:55+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-07-06T08:22:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=919385f7046b61ae0960d02977d95674cbe20d85'/>
<id>919385f7046b61ae0960d02977d95674cbe20d85</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>catch_discover_tests uses tempfile to retrieve JSON from the binary</title>
<updated>2026-07-04T14:36:05+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-07-04T14:35:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=9ec44dd62b1b593e01feaf95eb485d26fcdd50ce'/>
<id>9ec44dd62b1b593e01feaf95eb485d26fcdd50ce</id>
<content type='text'>
This allows it to deal with badly behaved code, where 3rd party
dependencies write into stdout during global construction.

Closes #3162
Closes #3166
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows it to deal with badly behaved code, where 3rd party
dependencies write into stdout during global construction.

Closes #3162
Closes #3166
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid a potential underflow when iterating over invalid inputs</title>
<updated>2026-05-14T08:58:09+00:00</updated>
<author>
<name>Dirk Müller</name>
</author>
<published>2026-05-07T07:39:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=69e0473f6e98d47c93518424c08ee69ee632c0f0'/>
<id>69e0473f6e98d47c93518424c08ee69ee632c0f0</id>
<content type='text'>
The forward iteration logic already bounds-check for m_it != m_string-&gt;end(),
do the same for the backward iteration. The issue with the assert is
that the assert() might not be compiled in, and it is happening after
the dereference, so it was too late.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The forward iteration logic already bounds-check for m_it != m_string-&gt;end(),
do the same for the backward iteration. The issue with the assert is
that the assert() might not be compiled in, and it is happening after
the dereference, so it was too late.
</pre>
</div>
</content>
</entry>
<entry>
<title>Constexpr matching support in the range equals matchers</title>
<updated>2026-05-12T09:05:33+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-05-12T08:06:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=47ea57d74f8968eae242ea1b068a9e5b257c36b1'/>
<id>47ea57d74f8968eae242ea1b068a9e5b257c36b1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Constexpr matching support in generic Contains matchers</title>
<updated>2026-05-12T09:05:31+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-05-12T08:04:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=d838f88b9c9a05d2879d29a5a54f864f823a1d64'/>
<id>d838f88b9c9a05d2879d29a5a54f864f823a1d64</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Constexpr matching support in the quantifier matchers</title>
<updated>2026-05-12T09:05:31+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-05-12T07:25:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=c267b6eb4de6d9ccdde238334c1248c7b60b8c0b'/>
<id>c267b6eb4de6d9ccdde238334c1248c7b60b8c0b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Constexpr matching support in IsEmpty and SizeIs matchers</title>
<updated>2026-05-12T09:05:29+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-05-12T06:57:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=3cdae5faf08b7a3861be5e7bf6f1968e9229f460'/>
<id>3cdae5faf08b7a3861be5e7bf6f1968e9229f460</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>
</feed>
