<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/tests/SelfTest/TestRegistrations.cpp, branch constexpr_approx</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>Ignore C++98 related compiler warnings</title>
<updated>2024-03-12T21:56:37+00:00</updated>
<author>
<name>Chris Thrasher</name>
</author>
<published>2024-03-12T17:27:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=88f4ec3cc5620c45086e972bd372d3ba3df8c3d3'/>
<id>88f4ec3cc5620c45086e972bd372d3ba3df8c3d3</id>
<content type='text'>
Catch2 has long since required a standard newer than C++98 so we
can safely ignore any warnings related to such old standards.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Catch2 has long since required a standard newer than C++98 so we
can safely ignore any warnings related to such old standards.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix references to license file</title>
<updated>2022-10-28T09:30:15+00:00</updated>
<author>
<name>Lars Toenning</name>
</author>
<published>2022-10-28T09:22:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f1084fb30990fe40c8f5b70034970c7eb4e1da72'/>
<id>f1084fb30990fe40c8f5b70034970c7eb4e1da72</id>
<content type='text'>
The license file was renamed with 6a502cc2f5fedd59b3495b58708f0d6d987ed9e1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The license file was renamed with 6a502cc2f5fedd59b3495b58708f0d6d987ed9e1
</pre>
</div>
</content>
</entry>
<entry>
<title>Add --list-listeners option</title>
<updated>2022-05-10T18:57:59+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2022-05-10T18:00:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=5a49285e9cf203dd20b00ac7488a6a3233d60fff'/>
<id>5a49285e9cf203dd20b00ac7488a6a3233d60fff</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Event listeners no longer take reporter config in constructor</title>
<updated>2022-03-17T23:36:18+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2022-03-14T14:04:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=4acc520f763f7a104d11d57afb8d3bab0bfa6ebc'/>
<id>4acc520f763f7a104d11d57afb8d3bab0bfa6ebc</id>
<content type='text'>
This also required splitting out Listener factory from
the reporter factory hierarchy. In return, the listener
factories only need to take in `IConfig const*`, which
opens up further refactorings down the road in the colour
selection and implementation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This also required splitting out Listener factory from
the reporter factory hierarchy. In return, the listener
factories only need to take in `IConfig const*`, which
opens up further refactorings down the road in the colour
selection and implementation.
</pre>
</div>
</content>
</entry>
<entry>
<title>Sweep out some Wsign-conversion warnings</title>
<updated>2021-11-23T22:16:08+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2021-11-20T22:40:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=8cb8f0b08b0ec35edd346df999f3b854ad05aa41'/>
<id>8cb8f0b08b0ec35edd346df999f3b854ad05aa41</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Move reporter_registrars.hpp to reporters/</title>
<updated>2021-11-10T22:52:59+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2021-11-10T22:52:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=9200b4078bcec238b0ebe9f60d31ae02693c4e23'/>
<id>9200b4078bcec238b0ebe9f60d31ae02693c4e23</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add consistency-checking event listener to SelfTest</title>
<updated>2021-09-15T21:38:43+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2021-09-15T19:46:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=3f8cae8025f4f5e804383f44bb393a63bcef90a4'/>
<id>3f8cae8025f4f5e804383f44bb393a63bcef90a4</id>
<content type='text'>
This event listener performs basic consistency checks (akin to
matching braces) on events that are passed to the listeners
when the `SelfTest` test binary is run.

The current checks are about nesting events (e.g. `testCaseStarting`
cannot be received before `testRunStarting`, `sectionStarting`
can only be received when a test case is active, etc), and matching
up counts of starting/ended events.

The simplicity means that it could be confused by starting/ended
events matching up but being out of order, e.g.
```
* test case A starting
* test case B ended
* test case B starting
* test case A ended
```
would be accepted, even though it is wrong. However, doing full
order checking would be much more implementation work, for relatively
little benefit, so it is left out for now.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This event listener performs basic consistency checks (akin to
matching braces) on events that are passed to the listeners
when the `SelfTest` test binary is run.

The current checks are about nesting events (e.g. `testCaseStarting`
cannot be received before `testRunStarting`, `sectionStarting`
can only be received when a test case is active, etc), and matching
up counts of starting/ended events.

The simplicity means that it could be confused by starting/ended
events matching up but being out of order, e.g.
```
* test case A starting
* test case B ended
* test case B starting
* test case A ended
```
would be accepted, even though it is wrong. However, doing full
order checking would be much more implementation work, for relatively
little benefit, so it is left out for now.
</pre>
</div>
</content>
</entry>
<entry>
<title>Split EventListener base from streaming_base.hpp</title>
<updated>2020-08-29T17:09:54+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-08-24T20:52:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=33ad1ee2ac7beaae8d6bfa661213d13cecbce196'/>
<id>33ad1ee2ac7beaae8d6bfa661213d13cecbce196</id>
<content type='text'>
The base was also renamed from `TestEventListenerBase` to
`EventListenerBase`, and modified to derive directly from the
reporter interface, rather than deriving from `StreamingReporterBase`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The base was also renamed from `TestEventListenerBase` to
`EventListenerBase`, and modified to derive directly from the
reporter interface, rather than deriving from `StreamingReporterBase`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Split catch_reporter_bases.hpp into two separate headers</title>
<updated>2020-08-23T05:30:26+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-08-22T21:16:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=ed7eaf2df3dc4d38974234591d725c4cdba11a84'/>
<id>ed7eaf2df3dc4d38974234591d725c4cdba11a84</id>
<content type='text'>
Each of the two reporter bases now has its own header file, and
cpp file. Even though this adds another TU to the compilation,
the total CPU time taken by compilation is reduced by about 1%
for debug build and ~0.5% for optimized build of the main library.
(The improvement would be roughly doubles without splitting the TUs,
but the maintainability hit is not worth it.)

The code size of the static library build has also somewhat decreased.

Follow up: Introduce combined TU for reporters, and further split
apart the catch_reporter_streaming_base.hpp header into its
constituent parts, as it still contains a whole bunch of other stuff.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Each of the two reporter bases now has its own header file, and
cpp file. Even though this adds another TU to the compilation,
the total CPU time taken by compilation is reduced by about 1%
for debug build and ~0.5% for optimized build of the main library.
(The improvement would be roughly doubles without splitting the TUs,
but the maintainability hit is not worth it.)

The code size of the static library build has also somewhat decreased.

Follow up: Introduce combined TU for reporters, and further split
apart the catch_reporter_streaming_base.hpp header into its
constituent parts, as it still contains a whole bunch of other stuff.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove catch_default_main.hpp</title>
<updated>2020-05-09T16:00:49+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-05-07T14:24:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=db32550898ac0b7bdb81228972f6ba58b88ce18d'/>
<id>db32550898ac0b7bdb81228972f6ba58b88ce18d</id>
<content type='text'>
There are two reasons for this:

1) It is highly unlikely that someone has use for this header,
which has no customization points and only provides simplest
possible main, and cannot link the static library which also
provides a default main implementation.
2) It being a header was causing extra complications with
the convenience headers, and our checking script. This would either
require special handling in the checking script, or would break user's
of the main convenience header.

All in all, it is simpler and better in the long term to remove it,
than to fix its problems.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are two reasons for this:

1) It is highly unlikely that someone has use for this header,
which has no customization points and only provides simplest
possible main, and cannot link the static library which also
provides a default main implementation.
2) It being a header was causing extra complications with
the convenience headers, and our checking script. This would either
require special handling in the checking script, or would break user's
of the main convenience header.

All in all, it is simpler and better in the long term to remove it,
than to fix its problems.
</pre>
</div>
</content>
</entry>
</feed>
