<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/tests/SelfTest/IntrospectiveTests/Reporters.tests.cpp, branch v3.0.0-preview5</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>Split out IStream out of catch_stream.hpp</title>
<updated>2022-04-16T14:33:57+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2022-04-16T12:43:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=98bb638fb2e3f1af7ef87bc483faff35076c6c51'/>
<id>98bb638fb2e3f1af7ef87bc483faff35076c6c51</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Store IStream instance owning ptrs in reporter instances</title>
<updated>2022-04-13T13:00:50+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2022-04-12T19:22:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=79d1e8238135427a6780a6db2cdb8b9be0b7f086'/>
<id>79d1e8238135427a6780a6db2cdb8b9be0b7f086</id>
<content type='text'>
This ended up being a surprisingly large refactoring, motivated
by removing a `const_cast` from `Config`'s handling of reporter
streams, forced by previous commit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This ended up being a surprisingly large refactoring, motivated
by removing a `const_cast` from `Config`'s handling of reporter
streams, forced by previous commit.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make IStream::stream non-const</title>
<updated>2022-04-13T12:59:39+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2022-04-12T18:59:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=4f09f1120ba0a28f218a00821a8347a443042ecb'/>
<id>4f09f1120ba0a28f218a00821a8347a443042ecb</id>
<content type='text'>
This way it makes much more sense from logically-const point
of view, and also means that concrete implementations don't
have to always have a `mutable` keyword on the stream member.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This way it makes much more sense from logically-const point
of view, and also means that concrete implementations don't
have to always have a `mutable` keyword on the stream member.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename IStreamingReporterPtr =&gt; IEventListenerPtr</title>
<updated>2022-04-10T19:50:51+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2022-04-10T19:50:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=4e006a93ffbce660c73f3bcd503513bac03050e5'/>
<id>4e006a93ffbce660c73f3bcd503513bac03050e5</id>
<content type='text'>
This reflects the renaming of the reporter/listener base class.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reflects the renaming of the reporter/listener base class.
</pre>
</div>
</content>
</entry>
<entry>
<title>Integrate the new reporter specs into Catch2</title>
<updated>2022-04-07T10:50:08+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2022-04-04T19:07:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=423e1d2ebbd75bb92cb486f83f2c5800b4b9689e'/>
<id>423e1d2ebbd75bb92cb486f83f2c5800b4b9689e</id>
<content type='text'>
This means that the CLI interface now uses the new key-value oriented
reporter spec, the common reporter base creates the colour implementation
based on the reporter-specific configuration, and it also stores the
custom configuration options for each reporter instance.

Closes #339 as it allows per-reporter forcing of ansi colour codes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This means that the CLI interface now uses the new key-value oriented
reporter spec, the common reporter base creates the colour implementation
based on the reporter-specific configuration, and it also stores the
custom configuration options for each reporter instance.

Closes #339 as it allows per-reporter forcing of ansi colour codes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor colour handling to prepare for per-reporter colour modes</title>
<updated>2022-03-28T11:10:13+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2022-03-27T21:35:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=1a8a793178d50b74b0f9a0adb3eec937b61039a9'/>
<id>1a8a793178d50b74b0f9a0adb3eec937b61039a9</id>
<content type='text'>
This includes always compiling the ANSI and None colour
implementations, as they don't need to touch any platform
specific APIs, and removing their respective compile-time
configuration options.

Because the Win32 colour implementation requires Win32-specific
APIs, it is still hidden behind a compile-time toggle,
`CATCH_CONFIG_COLOUR_WIN32` (renamed from `..._COLOUR_WINDOWS`).

The commandline options for colours were also changed. The
option now uses different name, and allows to select between
different implementations, rather than changing whether
the compiled-in colour implementation is used through
"yes/no/default" options.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This includes always compiling the ANSI and None colour
implementations, as they don't need to touch any platform
specific APIs, and removing their respective compile-time
configuration options.

Because the Win32 colour implementation requires Win32-specific
APIs, it is still hidden behind a compile-time toggle,
`CATCH_CONFIG_COLOUR_WIN32` (renamed from `..._COLOUR_WINDOWS`).

The commandline options for colours were also changed. The
option now uses different name, and allows to select between
different implementations, rather than changing whether
the compiled-in colour implementation is used through
"yes/no/default" options.
</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>Each reporter keeps its own colour implementation</title>
<updated>2022-03-08T11:51:13+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2022-03-06T18:20:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=913f79a661a02be5791be9bdf2b8ee123579b51d'/>
<id>913f79a661a02be5791be9bdf2b8ee123579b51d</id>
<content type='text'>
This opens path to per-reporter colour output customization,
and fixes multiple issues with the old colour implementation.

Under the old implementation, using Win32-backed colouring
would always change the colour used by the console, even if the
actual output was written elsewhere, such as a file passed by
the `--out` flag. This will no longer happen, as the reporter's
colour impl will check that the reporter's stream is pointed
to console before trying to change the colours.

POSIX/ANSI colour implementation suffered a similar-ish issue,
in that it only wrote the colour escape codes into the default
output stream, even if the reporter asking for colouring was
actually writing to a completely different output stream.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This opens path to per-reporter colour output customization,
and fixes multiple issues with the old colour implementation.

Under the old implementation, using Win32-backed colouring
would always change the colour used by the console, even if the
actual output was written elsewhere, such as a file passed by
the `--out` flag. This will no longer happen, as the reporter's
colour impl will check that the reporter's stream is pointed
to console before trying to change the colours.

POSIX/ANSI colour implementation suffered a similar-ish issue,
in that it only wrote the colour escape codes into the default
output stream, even if the reporter asking for colouring was
actually writing to a completely different output stream.
</pre>
</div>
</content>
</entry>
<entry>
<title>Pass the whole IStream wrapper into reporter</title>
<updated>2022-03-06T15:34:13+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2022-02-23T22:46:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=61d0f7a9afb88c12f8931f80321e58f2cfbc62db'/>
<id>61d0f7a9afb88c12f8931f80321e58f2cfbc62db</id>
<content type='text'>
This will become useful when reworking colour support, because
Win32 colour support requires checking whether the output is
stdout, which is done through the `IStream` wrapper.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This will become useful when reworking colour support, because
Win32 colour support requires checking whether the output is
stdout, which is done through the `IStream` wrapper.
</pre>
</div>
</content>
</entry>
<entry>
<title>Error out reporter registration for reporter names with '::'</title>
<updated>2022-01-09T18:01:14+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2022-01-09T18:01:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=b6ff2c3dda9e071d8fa7acd2fa2518a7139e6386'/>
<id>b6ff2c3dda9e071d8fa7acd2fa2518a7139e6386</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
