<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/src/catch2/reporters, 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>Fix various useful clang-tidy warnings</title>
<updated>2024-03-01T20:24:45+00:00</updated>
<author>
<name>Martin Jeřábek</name>
</author>
<published>2024-03-01T10:15:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=cde35096641d55b4aa0f743bb03e04703fbb5e9c'/>
<id>cde35096641d55b4aa0f743bb03e04703fbb5e9c</id>
<content type='text'>
* bugprone-branch-clone
* bugprone-copy-constructor-init
* bugprone-empty-catch
* bugprone-sizeof-expression
* bugprone-switch-missing-default-case
* bugprone-unused-local-non-trivial-variable
* clang-analyzer-core.uninitialized.Assign
* clang-analyzer-cplusplus.Move
* clang-analyzer-optin.cplusplus.VirtualCall
* modernize-loop-convert
* modernize-raw-string-literal
* modernize-use-equals-default
* modernize-use-override
* modernize-use-using
* performance-avoid-endl
* performance-inefficient-string-concatenation
* performance-inefficient-vector-operation
* performance-noexcept-move-constructor
* performance-unnecessary-value-param (and improve generator example)
* readability-duplicate-include
* readability-inconsistent-declaration-parameter-name
* readability-non-const-parameter
* readability-redundant-casting
* readability-redundant-member-init
* readability-redundant-smartptr-get
* readability-static-accessed-through-instance
* unused variable in amalgamted tests
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* bugprone-branch-clone
* bugprone-copy-constructor-init
* bugprone-empty-catch
* bugprone-sizeof-expression
* bugprone-switch-missing-default-case
* bugprone-unused-local-non-trivial-variable
* clang-analyzer-core.uninitialized.Assign
* clang-analyzer-cplusplus.Move
* clang-analyzer-optin.cplusplus.VirtualCall
* modernize-loop-convert
* modernize-raw-string-literal
* modernize-use-equals-default
* modernize-use-override
* modernize-use-using
* performance-avoid-endl
* performance-inefficient-string-concatenation
* performance-inefficient-vector-operation
* performance-noexcept-move-constructor
* performance-unnecessary-value-param (and improve generator example)
* readability-duplicate-include
* readability-inconsistent-declaration-parameter-name
* readability-non-const-parameter
* readability-redundant-casting
* readability-redundant-member-init
* readability-redundant-smartptr-get
* readability-static-accessed-through-instance
* unused variable in amalgamted tests
</pre>
</div>
</content>
</entry>
<entry>
<title>reporters: silence -Wsubobject-linkage</title>
<updated>2024-01-15T08:57:30+00:00</updated>
<author>
<name>Tim Blechmann</name>
</author>
<published>2024-01-10T09:42:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=597ce12b6535be0e579a4bd08683fa1cebc5919e'/>
<id>597ce12b6535be0e579a4bd08683fa1cebc5919e</id>
<content type='text'>
gcc emits `Wsubobject-linkage`, because the the publicly visible
`TablePrinter` contains `ColumnInfo`, which is part of an anonymous
namespace
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
gcc emits `Wsubobject-linkage`, because the the publicly visible
`TablePrinter` contains `ColumnInfo`, which is part of an anonymous
namespace
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove redundant destructors</title>
<updated>2024-01-14T22:33:51+00:00</updated>
<author>
<name>Chris Thrasher</name>
</author>
<published>2023-12-28T22:39:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=05786fa7ec66c19fa4699b5d21be3557a1b4161b'/>
<id>05786fa7ec66c19fa4699b5d21be3557a1b4161b</id>
<content type='text'>
Classes will automatically inherit the virtual-ness of their base
class destructors. If the base class already has a virtual
destructor and the derived class needs default destructor semantics
then the derived class can omit defining the destructor in favor of
the compiler automatically defining it.

This has an additional benefit of reenabling move semantics. The
presence of a user-specified destructor automatically disables move
operations.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Classes will automatically inherit the virtual-ness of their base
class destructors. If the base class already has a virtual
destructor and the derived class needs default destructor semantics
then the derived class can omit defining the destructor in favor of
the compiler automatically defining it.

This has an additional benefit of reenabling move semantics. The
presence of a user-specified destructor automatically disables move
operations.
</pre>
</div>
</content>
</entry>
<entry>
<title>Move-enable various parts of TextFlow</title>
<updated>2023-12-27T20:43:49+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-12-27T20:43:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=b52d97855d794175e69abc6f0eceee9ec3c1bd0e'/>
<id>b52d97855d794175e69abc6f0eceee9ec3c1bd0e</id>
<content type='text'>
This removes about 200 pointless copies from printing the help
message (the original motivation for the change), and also nicely
improves performance of the various reporters that depend on
TextFlow.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This removes about 200 pointless copies from printing the help
message (the original motivation for the change), and also nicely
improves performance of the various reporters that depend on
TextFlow.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make it clearer that the JSON reporter is WIP</title>
<updated>2023-12-10T20:04:56+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-12-10T20:04:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=1774dbfd53baa9af658abc71770da2702404fb63'/>
<id>1774dbfd53baa9af658abc71770da2702404fb63</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>JSONWriter deals in StringRefs instead of std::strings</title>
<updated>2023-11-17T08:54:03+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-11-16T21:17:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=32d9ae24bc4a0fed9a136a73e116b4ded0ac84b7'/>
<id>32d9ae24bc4a0fed9a136a73e116b4ded0ac84b7</id>
<content type='text'>
Together with liberal use of `_sr` UDL to compile-time convert
string literals into StringRefs, this will reduce the number of
allocation and remove most of the strcpy calls inherent in
converting string lits into `std::string`s.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Together with liberal use of `_sr` UDL to compile-time convert
string literals into StringRefs, this will reduce the number of
allocation and remove most of the strcpy calls inherent in
converting string lits into `std::string`s.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add JSON reporter (#2706)</title>
<updated>2023-11-14T21:52:15+00:00</updated>
<author>
<name>Beartama</name>
</author>
<published>2023-11-14T21:52:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=7bf136b501fef3e189b45091e8a4757a5eaef31f'/>
<id>7bf136b501fef3e189b45091e8a4757a5eaef31f</id>
<content type='text'>

Co-authored-by: Martin Hořeňovský &lt;martin.horenovsky@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>

Co-authored-by: Martin Hořeňovský &lt;martin.horenovsky@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Small cleanup in XML reporter</title>
<updated>2023-08-14T10:41:52+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-08-14T10:41:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=e09de7222c47ba1bb589985246d5d33e5f01b8fd'/>
<id>e09de7222c47ba1bb589985246d5d33e5f01b8fd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Change 'estimated' to 'est run time' in console reporter output</title>
<updated>2023-08-14T08:22:59+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-08-14T08:22:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=a64ff326bfa6c72e83bfec0b47cf04ad9f4a5cc0'/>
<id>a64ff326bfa6c72e83bfec0b47cf04ad9f4a5cc0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Flush stream after benchmarkStarting in ConsoleReporter</title>
<updated>2023-08-13T21:09:02+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-08-13T21:08:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=ad564634770d04eac3ce1819dce49f6df3d2639b'/>
<id>ad564634770d04eac3ce1819dce49f6df3d2639b</id>
<content type='text'>
This means that the user will see the estimation of full benchmark
running time when it is available, unlike now when it often only
ends up flushed after the benchmark is fully finished.

This means that the user will almost immediately see the start
of table like this

```
benchmark name                       samples       iterations    estimated
                                     mean          low mean      high mean
                                     std dev       low std dev   high std dev
-------------------------------------------------------------------------------
Fill vector generated                          100            54     3.0834 ms
```

This presents significant improvement in user experience especially
for long running benchmarks.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This means that the user will see the estimation of full benchmark
running time when it is available, unlike now when it often only
ends up flushed after the benchmark is fully finished.

This means that the user will almost immediately see the start
of table like this

```
benchmark name                       samples       iterations    estimated
                                     mean          low mean      high mean
                                     std dev       low std dev   high std dev
-------------------------------------------------------------------------------
Fill vector generated                          100            54     3.0834 ms
```

This presents significant improvement in user experience especially
for long running benchmarks.
</pre>
</div>
</content>
</entry>
</feed>
