<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/examples/CMakeLists.txt, branch v3.7.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>TEST_CASE_PERSISTENT_FIXTURE: A new fixture macro for allowing persistent fixtures throughout a TEST_CASE (#2885)</title>
<updated>2024-08-05T15:01:41+00:00</updated>
<author>
<name>Keith Stockdale</name>
</author>
<published>2024-08-05T15:01:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f7cd0ba0511b61592e70f07533d7ea30a8a5395d'/>
<id>f7cd0ba0511b61592e70f07533d7ea30a8a5395d</id>
<content type='text'>
This PR introduces a new `TEST_CASE` macro called `TEST_CASE_PERSISTENT_FIXTURE`. `TEST_CASE_PERSISTENT_FIXTURE` offers the same functionality as `TEST_CASE_METHOD` except for one difference. The object on which the test method is invoked is only created once for all invocations of the test case. The object is created just after the `testCaseStarting` event is broadcast and the object is destroyed just before the `testCaseEnding` event is broadcast.

The main motivation for this new functionality is to allow `TEST_CASE`s to do expensive setup and teardown once per `TEST_CASE`, without having to resort to abusing event listeners or static function variables with manual initialization.


Implements #1602

---------

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>
This PR introduces a new `TEST_CASE` macro called `TEST_CASE_PERSISTENT_FIXTURE`. `TEST_CASE_PERSISTENT_FIXTURE` offers the same functionality as `TEST_CASE_METHOD` except for one difference. The object on which the test method is invoked is only created once for all invocations of the test case. The object is created just after the `testCaseStarting` event is broadcast and the object is destroyed just before the `testCaseEnding` event is broadcast.

The main motivation for this new functionality is to allow `TEST_CASE`s to do expensive setup and teardown once per `TEST_CASE`, without having to resort to abusing event listeners or static function variables with manual initialization.


Implements #1602

---------

Co-authored-by: Martin Hořeňovský &lt;martin.horenovsky@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Remove unnecessary CMake variables (#2853)</title>
<updated>2024-04-11T13:39:08+00:00</updated>
<author>
<name>Chris Thrasher</name>
</author>
<published>2024-04-11T13:39:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=838f8d71cbcab1007158fc70cd7c50a4acbd26e2'/>
<id>838f8d71cbcab1007158fc70cd7c50a4acbd26e2</id>
<content type='text'>
* Remove unnecessary variable

* Remove unused variable</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Remove unnecessary variable

* Remove unused variable</pre>
</div>
</content>
</entry>
<entry>
<title>Fix adding Opts with | to lvalue Parser</title>
<updated>2024-01-02T22:27:13+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-01-02T22:27:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=863c662c0eff026300f4d729a7054e90d6d12cdd'/>
<id>863c662c0eff026300f4d729a7054e90d6d12cdd</id>
<content type='text'>
This is the recommended way of adding new Opts in our documentation
for using custom main, but we did not compile the code to see if it
works. We now compile the example as part of the BUILD_EXAMPLES
option.

Fixes #2787
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is the recommended way of adding new Opts in our documentation
for using custom main, but we did not compile the code to see if it
works. We now compile the example as part of the BUILD_EXAMPLES
option.

Fixes #2787
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix clang warning about redundant link libraries</title>
<updated>2023-12-28T22:54:30+00:00</updated>
<author>
<name>Chris Thrasher</name>
</author>
<published>2023-12-28T22:27:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=048d7f779657ad1879e9962a6a55537eb86e3e13'/>
<id>048d7f779657ad1879e9962a6a55537eb86e3e13</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't set C++ standard in CMakeLists for tests</title>
<updated>2022-10-29T19:04:58+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2022-10-28T14:01:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=82cec69e93a90293afae10d826b42aa7e716e934'/>
<id>82cec69e93a90293afae10d826b42aa7e716e934</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Raise the minimum CMake version to 3.10 (#2523)</title>
<updated>2022-09-16T15:56:00+00:00</updated>
<author>
<name>Dimitrij Mijoski</name>
</author>
<published>2022-09-16T15:56:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=98d37da03ee21e8a87cd3e0e6542c794c667e78b'/>
<id>98d37da03ee21e8a87cd3e0e6542c794c667e78b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add an example of using GENERATE(table())</title>
<updated>2020-07-22T19:49:54+00:00</updated>
<author>
<name>Richard Ash</name>
</author>
<published>2020-06-19T14:32:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=2840ce1e708eb0f3e18ee6fcdd36014beaf7ae10'/>
<id>2840ce1e708eb0f3e18ee6fcdd36014beaf7ae10</id>
<content type='text'>
There are some examples on issue #850 of using this feature, but they
are not easily found from the documentation. Adding them here as an
example makes them more findable and ensures they keep working if the
API changes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are some examples on issue #850 of using this feature, but they
are not easily found from the documentation. Adding them here as an
example makes them more findable and ensures they keep working if the
API changes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename CMake/pkg-config target Catch2Main to Catch2WithMain</title>
<updated>2020-05-03T16:54:38+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-05-03T16:54:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=19ecad6f68154df2ba182c93224bdda8d7527b34'/>
<id>19ecad6f68154df2ba182c93224bdda8d7527b34</id>
<content type='text'>
This describes the reality better, as it also links in the rest
of Catch2.

The on-disk name of the static library remains just `Catch2Main`,
as that is what it is -- single main function -- and on-disk artifacts
cannot describe link dependencies.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This describes the reality better, as it also links in the rest
of Catch2.

The on-disk name of the static library remains just `Catch2Main`,
as that is what it is -- single main function -- and on-disk artifacts
cannot describe link dependencies.
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid recompiling main for each example</title>
<updated>2020-04-24T19:13:07+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-04-24T19:13:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=b955355ec4e887da6a02e7649af85c594ec73c93'/>
<id>b955355ec4e887da6a02e7649af85c594ec73c93</id>
<content type='text'>
Instead, link against `Catch2Main` CMake target as intended.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead, link against `Catch2Main` CMake target as intended.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add development build option to CMake and enable it on CI</title>
<updated>2020-02-26T15:07:26+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-02-21T20:15:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=6e270958a216821676998e8f6d8f524900156d4d'/>
<id>6e270958a216821676998e8f6d8f524900156d4d</id>
<content type='text'>
Development build enables warnings and and `Werror` or equivalent.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Development build enables warnings and and `Werror` or equivalent.
</pre>
</div>
</content>
</entry>
</feed>
