<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/src/catch2/catch_session.cpp, branch v3.0.1</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>Split out Catch::cout/cerr/clog into their own file</title>
<updated>2022-04-16T14:33:50+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2022-04-16T12:12:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=05e85c5652480b584287f406b2170f61b02d560c'/>
<id>05e85c5652480b584287f406b2170f61b02d560c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce type to handle reporter specs with defaults filled-in</title>
<updated>2022-04-13T13:02:25+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2022-04-13T12:55:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=a243cbae52d5599ccce07b36cfe8b2e3308d4108'/>
<id>a243cbae52d5599ccce07b36cfe8b2e3308d4108</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>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>Rename config::colourMode to config::defaultConfigMode</title>
<updated>2022-04-07T10:50:13+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2022-04-06T19:56:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=d5bfce4d84f5dda55e1b77d2002a2726732130c6'/>
<id>d5bfce4d84f5dda55e1b77d2002a2726732130c6</id>
<content type='text'>
This describes the actual intention much better.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This describes the actual intention much better.
</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>ColourGuard is no longer constructed engaged</title>
<updated>2022-03-24T15:02:54+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2022-03-21T22:20:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=081a1e9abaf32a759fd08a01fcf7a65860f91a63'/>
<id>081a1e9abaf32a759fd08a01fcf7a65860f91a63</id>
<content type='text'>
Forcing it to be engaged explicitly, either via `op&lt;&lt;`, or by
`ColourGuard::engage`, fixes an issue with multiple `ColourGuard`s
being constructed in a single expression. Because the construction
of the `ColourGuard` instances can happen in arbitrary order,
colours would be applied in arbitrary order too. However, a chain
of `op&lt;&lt;`s has strict call orders, fixing this issue.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Forcing it to be engaged explicitly, either via `op&lt;&lt;`, or by
`ColourGuard::engage`, fixes an issue with multiple `ColourGuard`s
being constructed in a single expression. Because the construction
of the `ColourGuard` instances can happen in arbitrary order,
colours would be applied in arbitrary order too. However, a chain
of `op&lt;&lt;`s has strict call orders, fixing this issue.
</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>
</feed>
