<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/tests, 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>Support Bazel's TEST_RANDOM_SEED</title>
<updated>2025-09-28T08:48:08+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2025-09-27T21:20:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=91b3b3bf4057e2a7e41bf1edd3e2c68b31bb3747'/>
<id>91b3b3bf4057e2a7e41bf1edd3e2c68b31bb3747</id>
<content type='text'>
As with other Bazel env vars, it overrides the corresponding CLI
parameter if both are set.

Closes #3021
Closes #3024
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As with other Bazel env vars, it overrides the corresponding CLI
parameter if both are set.

Closes #3021
Closes #3024
</pre>
</div>
</content>
</entry>
<entry>
<title>Speed up processing mostly visible strings in convertIntoString</title>
<updated>2025-09-27T20:43:14+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2025-09-22T20:41:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=a00d6544375e92ccedec786aaee47ac392ea4900'/>
<id>a00d6544375e92ccedec786aaee47ac392ea4900</id>
<content type='text'>
This commit causes small (~5%) slowdown when processing strings
that consist mostly of escaped characters, but improves throughput
by about 100% for strings that consist mostly of characters that
do not need escaping.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit causes small (~5%) slowdown when processing strings
that consist mostly of escaped characters, but improves throughput
by about 100% for strings that consist mostly of characters that
do not need escaping.
</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>Forbid deducing reference types for m_predicate in FilterGenerator (#3005)</title>
<updated>2025-08-23T19:55:38+00:00</updated>
<author>
<name>Szapi</name>
</author>
<published>2025-08-23T19:55:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=85c4bad86b0bd29b6d2f5aa270401c0a642d53b1'/>
<id>85c4bad86b0bd29b6d2f5aa270401c0a642d53b1</id>
<content type='text'>
Forbid deducing reference types for m_predicate in FilterGenerator to prevent dangling references.
This is needed for out-of-line predicates to work correctly instead of undefined behavior or crashes.

---------

Co-authored-by: Tek Mate &lt;mate.tek@evosoft.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Forbid deducing reference types for m_predicate in FilterGenerator to prevent dangling references.
This is needed for out-of-line predicates to work correctly instead of undefined behavior or crashes.

---------

Co-authored-by: Tek Mate &lt;mate.tek@evosoft.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Improve performance of writing XML</title>
<updated>2025-08-22T15:03:35+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2025-08-22T15:03:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f4e05a67bb5a57ee6e051fc8c391b32cbf927f7d'/>
<id>f4e05a67bb5a57ee6e051fc8c391b32cbf927f7d</id>
<content type='text'>
As with the JSON writer, the old code was made to be simple and
for each char just decided whether it needs escaping, or should be
written as-is. The new code instead looks for characters that need
escaping and batches writes of characters that do not.

This provides 4-8x speedup (length dependent) for writing strings
that do not need escaping, and keeps roughly the same performance
for those that do need escaping.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As with the JSON writer, the old code was made to be simple and
for each char just decided whether it needs escaping, or should be
written as-is. The new code instead looks for characters that need
escaping and batches writes of characters that do not.

This provides 4-8x speedup (length dependent) for writing strings
that do not need escaping, and keeps roughly the same performance
for those that do need escaping.
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve performance of writing JSON values</title>
<updated>2025-08-22T15:00:40+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2025-08-21T21:36:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=fb2e4fbe413824a5cad4101c0e94cb10b7828f0d'/>
<id>fb2e4fbe413824a5cad4101c0e94cb10b7828f0d</id>
<content type='text'>
The old code was exceedingly simple, as it went char-by-char and
decided whether to write it to the output stream as-is, or escaped.
This caused a _lot_ of stream writes of individual characters.

The new code instead looks for characters that need escaping, and
bulk-writes the non-escaped characters in between them. This leads
to about the same performance for strings that comprise of only
escaped characters, and 3-10x improvement for strings without any
escaping needed.

In practice, we should expect the former rather than the latter,
but this is still nice improvement.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The old code was exceedingly simple, as it went char-by-char and
decided whether to write it to the output stream as-is, or escaped.
This caused a _lot_ of stream writes of individual characters.

The new code instead looks for characters that need escaping, and
bulk-writes the non-escaped characters in between them. This leads
to about the same performance for strings that comprise of only
escaped characters, and 3-10x improvement for strings without any
escaping needed.

In practice, we should expect the former rather than the latter,
but this is still nice improvement.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add tests for comparing &amp; stringifying volatile pointers</title>
<updated>2025-08-07T22:02:33+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2025-08-07T22:02:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=03c62cdf2ede08ee759008637adf5d8e5581b77b'/>
<id>03c62cdf2ede08ee759008637adf5d8e5581b77b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Cleanup WIP changes from last commit</title>
<updated>2025-08-02T08:21:41+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2025-08-02T08:21:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=9b3f508a1b1579f5366cf83d19822cb395f23528'/>
<id>9b3f508a1b1579f5366cf83d19822cb395f23528</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
