<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/src/catch2/benchmark, branch v3.0.0-preview3</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>Sweep out Wshadow</title>
<updated>2020-09-06T11:11:42+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-09-06T11:10:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=cc18bd719da38e5415909f5b10199395f00076e6'/>
<id>cc18bd719da38e5415909f5b10199395f00076e6</id>
<content type='text'>
Most of the changes are completely pointless renaming of constructor
arguments so that they do not use the same name as the type members,
but :shrug:

Closes #2015
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Most of the changes are completely pointless renaming of constructor
arguments so that they do not use the same name as the type members,
but :shrug:

Closes #2015
</pre>
</div>
</content>
</entry>
<entry>
<title>Add standardized copyright notice + SPDX identifier to source files</title>
<updated>2020-08-30T13:43:45+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-08-30T13:43:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=90aeffb97d6942d16f75a56b11e10fc0b010995a'/>
<id>90aeffb97d6942d16f75a56b11e10fc0b010995a</id>
<content type='text'>
This should also be done for test files, but that has lower priority.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This should also be done for test files, but that has lower priority.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove the rest of old-style copyright headers</title>
<updated>2020-08-30T12:45:05+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-08-30T12:41:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=c2453c2bf8278100386f7b97029fe5cc47a77755'/>
<id>c2453c2bf8278100386f7b97029fe5cc47a77755</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Standardize include guard patterns to FILE_NAME_EXTENSION_INCLUDED</title>
<updated>2020-08-30T12:09:27+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-08-29T18:48:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=a822cb9717b64b3b17047fe1ab4dc727c2ff39c4'/>
<id>a822cb9717b64b3b17047fe1ab4dc727c2ff39c4</id>
<content type='text'>
This commit also strips the old copyright comment header in touched
files, as those will also be replaced with a more standardized and
machine-friendly version.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit also strips the old copyright comment header in touched
files, as those will also be replaced with a more standardized and
machine-friendly version.
</pre>
</div>
</content>
</entry>
<entry>
<title>Cleanup some stuff found by MSVC's /analyze</title>
<updated>2020-08-20T18:42:21+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-08-19T15:44:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=1a97af45f168b24769301906cad9dcfe235d78e5'/>
<id>1a97af45f168b24769301906cad9dcfe235d78e5</id>
<content type='text'>
* Added some missing `noexcept`s on custom destructors.
* Fixed `std::move` being called on a const-reference.
* Initialized `ScopedMessage::m_moved` in class definition, instead
of doing so in constructors explicitly.
* Turned some `enum`s into `enum class`es.
* Initialized `StreamingReporterBase::currentTestCaseInfo` in class
definition.
* Some cleanups in SelfTest code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Added some missing `noexcept`s on custom destructors.
* Fixed `std::move` being called on a const-reference.
* Initialized `ScopedMessage::m_moved` in class definition, instead
of doing so in constructors explicitly.
* Turned some `enum`s into `enum class`es.
* Initialized `StreamingReporterBase::currentTestCaseInfo` in class
definition.
* Some cleanups in SelfTest code.
</pre>
</div>
</content>
</entry>
<entry>
<title>IStreamingReporter::list* only uses IConfig instead of full Config</title>
<updated>2020-08-11T07:39:00+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-08-11T07:34:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=6dc834526103e3b9ee7fab26a69cd7942924bd91'/>
<id>6dc834526103e3b9ee7fab26a69cd7942924bd91</id>
<content type='text'>
As the full `Config` is not needed, the TUs implementing the `list*`
functions can require the less heavy header `catch_interfaces_config.hpp`
instead of the much heavier `catch_config.hpp`.

This commit also fixes up some other TUs that include `Config`,
while using just `IConfig`, to cleanup the includes further.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As the full `Config` is not needed, the TUs implementing the `list*`
functions can require the less heavy header `catch_interfaces_config.hpp`
instead of the much heavier `catch_config.hpp`.

This commit also fixes up some other TUs that include `Config`,
while using just `IConfig`, to cleanup the includes further.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixup missing transitive includes</title>
<updated>2020-08-10T18:28:14+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-08-08T12:40:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=b824d06844ab3faf4ddffa036a0ea7ef0eec117b'/>
<id>b824d06844ab3faf4ddffa036a0ea7ef0eec117b</id>
<content type='text'>
Found after updating to newest MSVC...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Found after updating to newest MSVC...
</pre>
</div>
</content>
</entry>
<entry>
<title>Apply some IWYU suggestions</title>
<updated>2020-07-29T19:51:05+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-07-29T14:29:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=ed0ea3014942a952471ca32da466f5df213b5eb2'/>
<id>ed0ea3014942a952471ca32da466f5df213b5eb2</id>
<content type='text'>
This is not nearly all of them, because IWYU does not support the
way Catch2 manages includes -- it expects that non-system includes
are done using `#include "foo/bar/baz.hpp"`, while Catch2 uses
`&lt;foo/bar/baz.hpp&gt;`. This causes trouble, because IWYU suggests
removing every single internal header, and then adding them again,
but using `""` in the include directive... the resulting suggestions
cannot be used without a lot of manual work, as they are largely
bogus.

For bonus points, IWYU also _loves_ to suggest kinda-random stdlib
headers for `size_t` and similar. Still, the resulting inclusion
graph is somewhat better than it was before.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is not nearly all of them, because IWYU does not support the
way Catch2 manages includes -- it expects that non-system includes
are done using `#include "foo/bar/baz.hpp"`, while Catch2 uses
`&lt;foo/bar/baz.hpp&gt;`. This causes trouble, because IWYU suggests
removing every single internal header, and then adding them again,
but using `""` in the include directive... the resulting suggestions
cannot be used without a lot of manual work, as they are largely
bogus.

For bonus points, IWYU also _loves_ to suggest kinda-random stdlib
headers for `size_t` and similar. Still, the resulting inclusion
graph is somewhat better than it was before.
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace all uses of std::unique_ptr with Catch::Detail::unique_ptr</title>
<updated>2020-05-31T13:20:24+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-05-25T07:45:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=1d1ccf8f3c0c9e121b16afd4fafb850d14ef9fb0'/>
<id>1d1ccf8f3c0c9e121b16afd4fafb850d14ef9fb0</id>
<content type='text'>
Doing some benchmarking with ClangBuildAnalyzer suggests that
compiling Catch2's `SelfTest` spends 10% of the time instantiating
`std::unique_ptr` for some interface types required for registering
and running tests.

The lesser compilation overhead of `Catch::Detail::unique_ptr` should
significantly reduce that time.

The compiled implementation was also changed to use the custom impl,
to avoid having to convert between using `std::unique_ptr` and
`Catch::Detail::unique_ptr`. This will likely also improve the compile
times of the implementation, but that is less important than improving
compilation times of the user's TUs with tests.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Doing some benchmarking with ClangBuildAnalyzer suggests that
compiling Catch2's `SelfTest` spends 10% of the time instantiating
`std::unique_ptr` for some interface types required for registering
and running tests.

The lesser compilation overhead of `Catch::Detail::unique_ptr` should
significantly reduce that time.

The compiled implementation was also changed to use the custom impl,
to avoid having to convert between using `std::unique_ptr` and
`Catch::Detail::unique_ptr`. This will likely also improve the compile
times of the implementation, but that is less important than improving
compilation times of the user's TUs with tests.
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid using std::result_of when std::invoke_result is available</title>
<updated>2020-05-21T20:58:33+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-05-21T19:39:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=1356788ea8c61341a2865d1f31281b7f006d0ce3'/>
<id>1356788ea8c61341a2865d1f31281b7f006d0ce3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
