<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3, branch v3.6.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>v3.6.0</title>
<updated>2024-05-05T18:58:18+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-05-05T18:58:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=4e8d92bf02f7d1c8006a0e7a5ecabd8e62d98502'/>
<id>4e8d92bf02f7d1c8006a0e7a5ecabd8e62d98502</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>Explicitly silence Wnon-virtual-dtor in Decomposer and MatchExpr</title>
<updated>2024-04-30T21:51:36+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-04-30T19:08:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=fa5a53df17303339eff8fda5cae0b601af207085'/>
<id>fa5a53df17303339eff8fda5cae0b601af207085</id>
<content type='text'>
Closes #2854
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #2854
</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>Default StringMaker&lt;FloatingPointType&gt;::precision to max_digits10</title>
<updated>2024-04-30T15:18:48+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-04-30T14:43:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=ef713582d268d9b1b15381325021d7e0f91d6ab9'/>
<id>ef713582d268d9b1b15381325021d7e0f91d6ab9</id>
<content type='text'>
`max_digits10` is the number of decimal digits that the type _can_
represent, in other words, the number of decimal digits needed to
disambiguate any two floating point numbers when serialized to
a string.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`max_digits10` is the number of decimal digits that the type _can_
represent, in other words, the number of decimal digits needed to
disambiguate any two floating point numbers when serialized to
a string.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add test for handleFatalErrorCondition within JUnit reporter</title>
<updated>2024-04-21T19:52:33+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-04-20T14:29:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=efb39689d94e43132e4e48f01e676ae6a56d8df6'/>
<id>efb39689d94e43132e4e48f01e676ae6a56d8df6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Handle active Sections for fatal errors</title>
<updated>2024-04-21T19:52:33+00:00</updated>
<author>
<name>Altan Birler</name>
</author>
<published>2024-04-15T11:25:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=42fe78d0ba0eb33096a705e8f9c4814fd619eebd'/>
<id>42fe78d0ba0eb33096a705e8f9c4814fd619eebd</id>
<content type='text'>
Closes #1210

When a signal is caught, the destructors of Sections will not be called.
Thus, we must call `sectionEndedEarly` manually for those Sections.

Example test case:
```
TEST_CASE("broken") {
   SECTION("section") {
      /// Use illegal cpu instruction
      __asm__ __volatile__("ud2" : : : "memory");
   }
}
```
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #1210

When a signal is caught, the destructors of Sections will not be called.
Thus, we must call `sectionEndedEarly` manually for those Sections.

Example test case:
```
TEST_CASE("broken") {
   SECTION("section") {
      /// Use illegal cpu instruction
      __asm__ __volatile__("ud2" : : : "memory");
   }
}
```
</pre>
</div>
</content>
</entry>
<entry>
<title>add bazel build rule for SelfTest (#2857)</title>
<updated>2024-04-21T19:05:55+00:00</updated>
<author>
<name>c8ef</name>
</author>
<published>2024-04-21T19:05:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=2bce3e276b5f859ac45c43f011ffed98d0325115'/>
<id>2bce3e276b5f859ac45c43f011ffed98d0325115</id>
<content type='text'>
This PR primarily accomplishes two tasks:

1) It adds MODULE.bazel.lock to the .gitignore file.
2) It includes a Bazel build rule for SelfTest, which can be utilized with the command bazel test //tests:catch2_self_test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR primarily accomplishes two tasks:

1) It adds MODULE.bazel.lock to the .gitignore file.
2) It includes a Bazel build rule for SelfTest, which can be utilized with the command bazel test //tests:catch2_self_test.
</pre>
</div>
</content>
</entry>
<entry>
<title>conanfile: fix cmake_target_name of Catch2::Catch2.</title>
<updated>2024-04-20T12:31:04+00:00</updated>
<author>
<name>Vincent Saulue-Laborde</name>
</author>
<published>2024-04-18T17:19:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=df04df94dbe59efdb7496f3d9872f55cbc61bb24'/>
<id>df04df94dbe59efdb7496f3d9872f55cbc61bb24</id>
<content type='text'>
The "Catch2 without default main" target is currently unspecified in
Conan, and defaults to catch2::catch2base. This commit switches it back
to Catch2::Catch2, as specified in the docs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The "Catch2 without default main" target is currently unspecified in
Conan, and defaults to catch2::catch2base. This commit switches it back
to Catch2::Catch2, as specified in the docs.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix build on ARM64EC (#2858)</title>
<updated>2024-04-19T08:36:37+00:00</updated>
<author>
<name>AgostonSzepessy</name>
</author>
<published>2024-04-19T08:36:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f2320724a74f95d83f8c259e1a96cf2cd9a1d6aa'/>
<id>f2320724a74f95d83f8c259e1a96cf2cd9a1d6aa</id>
<content type='text'>
Remove `#pragma intrinsic(_umul128)` because it doesn't work on
ARM64EC and x64 works without it.

Co-authored-by: Agoston Szepessy &lt;agos@microsoft.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove `#pragma intrinsic(_umul128)` because it doesn't work on
ARM64EC and x64 works without it.

Co-authored-by: Agoston Szepessy &lt;agos@microsoft.com&gt;</pre>
</div>
</content>
</entry>
</feed>
