<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/src/catch2/benchmark/catch_benchmark.hpp, branch v3.0.0-preview4</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>Prefer _t over ::type form for std type traits</title>
<updated>2021-08-18T22:21:13+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2021-08-16T15:01:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=edad4d0af7a91693448bbf884236ea6ff2a4bd15'/>
<id>edad4d0af7a91693448bbf884236ea6ff2a4bd15</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace uses of std::move and std::forward with macros</title>
<updated>2021-08-16T14:22:19+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2021-08-13T12:16:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=d2ee7100d26128b3956571cc802f3a52c9b9aea8'/>
<id>d2ee7100d26128b3956571cc802f3a52c9b9aea8</id>
<content type='text'>
This improves the SelfTest build times by about 3% (measured
with Clang 10 on random Linux box I had lying around).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This improves the SelfTest build times by about 3% (measured
with Clang 10 on random Linux box I had lying around).
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove superfluous catch_enforce include from complete_invoke</title>
<updated>2021-08-11T20:52:04+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2021-08-09T22:38:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=2b54f1e7a63f80098f354b6ff186f47a8e6da6fa'/>
<id>2b54f1e7a63f80098f354b6ff186f47a8e6da6fa</id>
<content type='text'>
Also added missing transitive include to `catch_benchmark.hpp`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also added missing transitive include to `catch_benchmark.hpp`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix inconsistencies in reporting benchmarking failures</title>
<updated>2021-08-07T13:16:11+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2021-06-09T18:48:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=0a3f511cfed071c9c4ad512341ae7569383922b7'/>
<id>0a3f511cfed071c9c4ad512341ae7569383922b7</id>
<content type='text'>
With these changes, all these benchmarks
```cpp
BENCHMARK("Empty benchmark") {};
BENCHMARK("Throwing benchmark") {
    throw "just a plain literal, bleh";
};
BENCHMARK("Asserting benchmark") {
    REQUIRE(1 == 2);
};
BENCHMARK("FAIL'd benchmark") {
    FAIL("This benchmark only fails, nothing else");
};
```

report the respective failure and mark the outer `TEST_CASE` as
failed. Previously, the first two would not fail the `TEST_CASE`,
and the latter two would break xml reporter's formatting, because
`benchmarkFailed`, `benchmarkEnded` etc would not be be called
properly in failure cases.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With these changes, all these benchmarks
```cpp
BENCHMARK("Empty benchmark") {};
BENCHMARK("Throwing benchmark") {
    throw "just a plain literal, bleh";
};
BENCHMARK("Asserting benchmark") {
    REQUIRE(1 == 2);
};
BENCHMARK("FAIL'd benchmark") {
    FAIL("This benchmark only fails, nothing else");
};
```

report the respective failure and mark the outer `TEST_CASE` as
failed. Previously, the first two would not fail the `TEST_CASE`,
and the latter two would break xml reporter's formatting, because
`benchmarkFailed`, `benchmarkEnded` etc would not be be called
properly in failure cases.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use non-reserved identifiers for BENCHMARK macro implementation</title>
<updated>2021-06-19T21:14:20+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2021-06-19T21:14:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=78e4fbdb12e8913e0a85d39798f025895a2e574b'/>
<id>78e4fbdb12e8913e0a85d39798f025895a2e574b</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 INTERNAL_CATCH_UNIQUE_NAME into its own header</title>
<updated>2021-02-24T22:14:18+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2021-02-24T22:13:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=551946c45bb27b78c85971d32e2a8bccbfa0d3f8'/>
<id>551946c45bb27b78c85971d32e2a8bccbfa0d3f8</id>
<content type='text'>
Also small cleanup of includes of related headers.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also small cleanup of includes of related headers.
</pre>
</div>
</content>
</entry>
<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>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>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>
</feed>
