<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/tests/SelfTest/IntrospectiveTests, branch v3.9.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>Fix Clang-Tidy's readability-static-accessed-through-instance in tests</title>
<updated>2025-07-15T13:23:23+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2025-07-15T12:41:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=3ebc346bcb53635ac955e7c58de1095191415bb0'/>
<id>3ebc346bcb53635ac955e7c58de1095191415bb0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use template variables for our trait-likes in Clara</title>
<updated>2025-07-15T09:49:39+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2025-07-15T09:49:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=b9c018b38a98f7f9d15e4f6b9e60ec90cd393b7b'/>
<id>b9c018b38a98f7f9d15e4f6b9e60ec90cd393b7b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix typos</title>
<updated>2025-04-27T04:46:42+00:00</updated>
<author>
<name>Chris Thrasher</name>
</author>
<published>2025-04-27T00:46:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=4c93a595a1d9ecc8aacb7c99f6dbf0f1f2d475fa'/>
<id>4c93a595a1d9ecc8aacb7c99f6dbf0f1f2d475fa</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix crash when stringifying pre 1970 dates on Windows</title>
<updated>2025-01-05T15:04:38+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2025-01-05T00:27:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=b0d0aa43e6785f01e2dc4708c23fd8903de26c5c'/>
<id>b0d0aa43e6785f01e2dc4708c23fd8903de26c5c</id>
<content type='text'>
`gmtime*` on Windows fails on dates pre 1970, and because we didn't
check the return code, we would then pass invalid `tm` struct to
`strftime` causing it to assert.

Closes #2944
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`gmtime*` on Windows fails on dates pre 1970, and because we didn't
check the return code, we would then pass invalid `tm` struct to
`strftime` causing it to assert.

Closes #2944
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix bug in TokenStream parser</title>
<updated>2024-09-13T13:32:49+00:00</updated>
<author>
<name>Mark Jansen</name>
</author>
<published>2024-09-05T21:06:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=02d3304782c715cb787e53a20f4e44ec249d3466'/>
<id>02d3304782c715cb787e53a20f4e44ec249d3466</id>
<content type='text'>
When presented with just '-' it would access the string at position [1]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When presented with just '-' it would access the string at position [1]
</pre>
</div>
</content>
</entry>
<entry>
<title>Handle ANSI escape sequences when performing column wrapping (#2849)</title>
<updated>2024-05-04T21:43:52+00:00</updated>
<author>
<name>Jeremy Rifkin</name>
</author>
<published>2024-05-04T21:43:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=8ce2426e53b2596a9823b4a314f72f1c3b30be82'/>
<id>8ce2426e53b2596a9823b4a314f72f1c3b30be82</id>
<content type='text'>
This PR adds functionality to skip around ANSI escape sequences in catch_textflow so they do not contribute to line length and line wrapping code does not split escape sequences in the middle. I've implemented this by creating a AnsiSkippingString abstraction that has a bidirectional iterator that can skip around escape sequences while iterating. Additionally I refactored Column::const_iterator to be iterator-based rather than index-based so this abstraction is a simple drop-in for std::string.

Currently only color sequences are handled, other escape sequences are left unaffected.

Motivation: Text with ANSI color sequences gets messed up when being output by Catch2 #2833.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR adds functionality to skip around ANSI escape sequences in catch_textflow so they do not contribute to line length and line wrapping code does not split escape sequences in the middle. I've implemented this by creating a AnsiSkippingString abstraction that has a bidirectional iterator that can skip around escape sequences while iterating. Additionally I refactored Column::const_iterator to be iterator-based rather than index-based so this abstraction is a simple drop-in for std::string.

Currently only color sequences are handled, other escape sequences are left unaffected.

Motivation: Text with ANSI color sequences gets messed up when being output by Catch2 #2833.</pre>
</div>
</content>
</entry>
<entry>
<title>Don't include numerically unstable tests in approvals</title>
<updated>2024-04-30T17:21:27+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-04-30T17:21:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=a654e4b0382f3c41bdb911739b05276a11cf644a'/>
<id>a654e4b0382f3c41bdb911739b05276a11cf644a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix preprocessor check for enabling FP reproducibility tests</title>
<updated>2024-04-06T18:27:15+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-04-06T18:19:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=0a6a2ce88764cc8c01411fee68834571a5b9a0a1'/>
<id>0a6a2ce88764cc8c01411fee68834571a5b9a0a1</id>
<content type='text'>
This solves warning about the `uniform_fp_test_params` helper
being unused on M1 mac (or any other platform using GCC and not
using SSE2).

Closes #2845
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This solves warning about the `uniform_fp_test_params` helper
being unused on M1 mac (or any other platform using GCC and not
using SSE2).

Closes #2845
</pre>
</div>
</content>
</entry>
<entry>
<title>Optimize 64x64 extended multiplication implementation</title>
<updated>2024-04-03T11:28:25+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-04-02T16:09:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=d99eb8bec8de53639540820ee2a6563b88c4ba8c'/>
<id>d99eb8bec8de53639540820ee2a6563b88c4ba8c</id>
<content type='text'>
Now we use intrinsics when possible, and fallback to optimized
implementation in portable C++. The difference is about 4x when
we can use intrinsics and about 2x when we cannot.

This should speed up our Lemire's algorithm implementation nicely.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now we use intrinsics when possible, and fallback to optimized
implementation in portable C++. The difference is about 4x when
we can use intrinsics and about 2x when we cannot.

This should speed up our Lemire's algorithm implementation nicely.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use SizedUnsignedType_t to pick UnsignedType for uniform_integer_distribution</title>
<updated>2024-04-03T11:27:10+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-04-03T10:29:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f181de9df4c43f188ae932a412af32a0981c9067'/>
<id>f181de9df4c43f188ae932a412af32a0981c9067</id>
<content type='text'>
The previously used `make_unsigned` approach combined with the overload
set of `extendedMult` caused compilation issues on MacOS platform. By
forcing the selection to be one of `std::uintX_t` types we don't need
to complicate the overload set further.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The previously used `make_unsigned` approach combined with the overload
set of `extendedMult` caused compilation issues on MacOS platform. By
forcing the selection to be one of `std::uintX_t` types we don't need
to complicate the overload set further.
</pre>
</div>
</content>
</entry>
</feed>
