<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/src/catch2/internal/catch_run_context.cpp, branch v3.5.4</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>Remove redundant destructors</title>
<updated>2024-01-14T22:33:51+00:00</updated>
<author>
<name>Chris Thrasher</name>
</author>
<published>2023-12-28T22:39:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=05786fa7ec66c19fa4699b5d21be3557a1b4161b'/>
<id>05786fa7ec66c19fa4699b5d21be3557a1b4161b</id>
<content type='text'>
Classes will automatically inherit the virtual-ness of their base
class destructors. If the base class already has a virtual
destructor and the derived class needs default destructor semantics
then the derived class can omit defining the destructor in favor of
the compiler automatically defining it.

This has an additional benefit of reenabling move semantics. The
presence of a user-specified destructor automatically disables move
operations.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Classes will automatically inherit the virtual-ness of their base
class destructors. If the base class already has a virtual
destructor and the derived class needs default destructor semantics
then the derived class can omit defining the destructor in favor of
the compiler automatically defining it.

This has an additional benefit of reenabling move semantics. The
presence of a user-specified destructor automatically disables move
operations.
</pre>
</div>
</content>
</entry>
<entry>
<title>Assert Info reset need to also reset result disposition to normal to handle uncaught exception correctly (#2723)</title>
<updated>2023-08-07T20:07:31+00:00</updated>
<author>
<name>rosstang</name>
</author>
<published>2023-08-07T20:07:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=cd60a0301cf8dd8da076166ad865f21325bc24fe'/>
<id>cd60a0301cf8dd8da076166ad865f21325bc24fe</id>
<content type='text'>
* AssertionEnd does not reset the assertion info yet. That is done after populateReaction. And reset assertion info would also reset the result disposition to normal, so that any uncaught exception would be reported as failure

* Approving test output changes due to added unit tests

* Unit tests to throw std::runtime_error instead of std::exception

* Add a unit test to test incomplete assertion handler

---------

Co-authored-by: Ross &lt;ross.tang@gfo-x.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* AssertionEnd does not reset the assertion info yet. That is done after populateReaction. And reset assertion info would also reset the result disposition to normal, so that any uncaught exception would be reported as failure

* Approving test output changes due to added unit tests

* Unit tests to throw std::runtime_error instead of std::exception

* Add a unit test to test incomplete assertion handler

---------

Co-authored-by: Ross &lt;ross.tang@gfo-x.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Move AssertionResult when passing it inside RunContext</title>
<updated>2023-05-06T21:58:48+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-05-06T19:45:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=8ca504cbc956d566ea77a8d59928146ad4cc3844'/>
<id>8ca504cbc956d566ea77a8d59928146ad4cc3844</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix assertionStarting events being sent after the expr is evaluated</title>
<updated>2023-05-06T09:48:41+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-05-06T09:48:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=d84777c9cbf5b1b7d0e9ef2e14606ece254adf7a'/>
<id>d84777c9cbf5b1b7d0e9ef2e14606ece254adf7a</id>
<content type='text'>
Closes #2678
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #2678
</pre>
</div>
</content>
</entry>
<entry>
<title>Cleanup internal includes by splitting out some event structs</title>
<updated>2023-03-31T17:31:51+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-03-31T08:44:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=9f08097f55eb29a61efcdb4af41952a67e155215'/>
<id>9f08097f55eb29a61efcdb4af41952a67e155215</id>
<content type='text'>
* Split out BenchmarkInfo and BenchmarkStats to their own header
* Outline BenchmarkStats&lt;&gt; declaration to separate header
* Split out TestRunInfo into its own header

These changes let us remove the large `interfaces_reporter.hpp`
include from `benchmark.hpp`, and replace it with
`interfaces_capture.hpp` in `run_context.hpp`.

I also cleaned out `interfaces_repoter.hpp` from reporter headers
that depend on `reporter_common_base.hpp`. This will not change
anything in the actual inclusion set, but makes it logically
more consistent.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Split out BenchmarkInfo and BenchmarkStats to their own header
* Outline BenchmarkStats&lt;&gt; declaration to separate header
* Split out TestRunInfo into its own header

These changes let us remove the large `interfaces_reporter.hpp`
include from `benchmark.hpp`, and replace it with
`interfaces_capture.hpp` in `run_context.hpp`.

I also cleaned out `interfaces_repoter.hpp` from reporter headers
that depend on `reporter_common_base.hpp`. This will not change
anything in the actual inclusion set, but makes it logically
more consistent.
</pre>
</div>
</content>
</entry>
<entry>
<title>Mark various anonymous classes final</title>
<updated>2023-03-20T21:56:43+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-03-20T21:56:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=2598116aa640b012d42900bb565a7f1bfae5152e'/>
<id>2598116aa640b012d42900bb565a7f1bfae5152e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove pointless member variable from RunContext</title>
<updated>2023-03-20T19:34:58+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-03-20T19:34:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=28437e1214fec5ffc4d744c75a894f9cddf8d635'/>
<id>28437e1214fec5ffc4d744c75a894f9cddf8d635</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Internal linkage for generator trackers</title>
<updated>2023-03-20T18:37:58+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-03-16T15:30:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=3c8fb6bbb25284a6f4966723f9f1f502da59da45'/>
<id>3c8fb6bbb25284a6f4966723f9f1f502da59da45</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Move exception's translation into AssertionResultData message</title>
<updated>2023-03-11T15:14:06+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-03-11T15:14:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=13fae1e2ff9939d03bb8a5a6f3341538d4127dc5'/>
<id>13fae1e2ff9939d03bb8a5a6f3341538d4127dc5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid copying NameAndLocationRef when passed as argument</title>
<updated>2023-02-20T14:17:35+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-02-19T22:53:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=4f7c8cb28a0fdb4cc8b93f139b1b1e5d3ff0a328'/>
<id>4f7c8cb28a0fdb4cc8b93f139b1b1e5d3ff0a328</id>
<content type='text'>
`NameAndLocationRef` is pretty large type, so even in release build,
it is unlikely to be passed in registers. In addition to the fact
that some platforms currently do not allow passing even small types
in register (Windows ABI!!), it is better to pass it as a ref,
effectively passing around a pointer.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`NameAndLocationRef` is pretty large type, so even in release build,
it is unlikely to be passed in registers. In addition to the fact
that some platforms currently do not allow passing even small types
in register (Windows ABI!!), it is better to pass it as a ref,
effectively passing around a pointer.
</pre>
</div>
</content>
</entry>
</feed>
