<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/extras, 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>Bump version to v3.0.0 preview 4</title>
<updated>2022-01-03T22:16:39+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2022-01-03T22:16:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f4af9f69265d009a457aa99d1075cfba78652a66'/>
<id>f4af9f69265d009a457aa99d1075cfba78652a66</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use make_unique instead of unique_ptr(new T)</title>
<updated>2021-05-31T22:17:22+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2021-05-28T21:10:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=e6da4e10aeee70556f9cea23e71f8eea6151b3d9'/>
<id>e6da4e10aeee70556f9cea23e71f8eea6151b3d9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make operator BenchmarkStats&lt;Duration2&gt; explicit</title>
<updated>2021-05-28T21:19:07+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2021-05-28T21:19:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f9ec34ce016ad5b12afc22251b254e93ad7fd038'/>
<id>f9ec34ce016ad5b12afc22251b254e93ad7fd038</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add deprecation warning in ParseAndCatchTests</title>
<updated>2021-05-09T16:05:25+00:00</updated>
<author>
<name>Reinhold Gschweicher</name>
</author>
<published>2020-12-17T13:02:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=48f220b68a7ce43846be19ec6db46ede5e5e5ae2'/>
<id>48f220b68a7ce43846be19ec6db46ede5e5e5ae2</id>
<content type='text'>
Parsing C++ with regex in CMake is error prone and regularly leads to silently
dropped (not run) test cases.

Going forward the function `catch_discover_tests` from `contrib/CMake.cmake`
should be used.

For more information see https://github.com/catchorg/Catch2/issues/2092#issuecomment-747342765
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Parsing C++ with regex in CMake is error prone and regularly leads to silently
dropped (not run) test cases.

Going forward the function `catch_discover_tests` from `contrib/CMake.cmake`
should be used.

For more information see https://github.com/catchorg/Catch2/issues/2092#issuecomment-747342765
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix Catch.cmake helper by setting variable globally</title>
<updated>2021-05-09T16:05:18+00:00</updated>
<author>
<name>Reinhold Gschweicher</name>
</author>
<published>2020-12-17T09:28:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=031a57e7b719dce26119ac8547f167190234a763'/>
<id>031a57e7b719dce26119ac8547f167190234a763</id>
<content type='text'>
Set `_CATCH_DISCOVER_TESTS_SCRIPT` helper variable globally. Otherwise in a
scoped call (like `add_subdirectory()`) the variable gets lost. This lost
variable results in a post build error with not much information to lead to the
root of the problem.

This enables the usage of the helper script with the following example structure

- CMakeLists.txt (project root with `add_subdirectory(external/catch2)`
- external/catch2
  - CMakeLists.txt (contents listed below)
  - contrib/Catch.cmake
  - contrib/CatchAddTests.cmake
  - catch2/catch.hpp
- tests
  - CMakeLists.txt (add tests with `catch_discover_tests(${PROJECT_NAME})`)

contents of project specific helper `external/catch2/CMakeLists.txt`
```cmake
cmake_minimum_required (VERSION 3.1...${CMAKE_VERSION})
project(Catch2 LANGUAGES CXX VERSION 2.13.3)
add_library(Catch2 INTERFACE)
target_include_directories(Catch2
  INTERFACE
    $&lt;BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}&gt;
)
 # provide a namespaced alias for clients to 'link' against if catch is included as a sub-project
add_library(Catch2::Catch2 ALIAS Catch2)
include(contrib/Catch.cmake)
```
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Set `_CATCH_DISCOVER_TESTS_SCRIPT` helper variable globally. Otherwise in a
scoped call (like `add_subdirectory()`) the variable gets lost. This lost
variable results in a post build error with not much information to lead to the
root of the problem.

This enables the usage of the helper script with the following example structure

- CMakeLists.txt (project root with `add_subdirectory(external/catch2)`
- external/catch2
  - CMakeLists.txt (contents listed below)
  - contrib/Catch.cmake
  - contrib/CatchAddTests.cmake
  - catch2/catch.hpp
- tests
  - CMakeLists.txt (add tests with `catch_discover_tests(${PROJECT_NAME})`)

contents of project specific helper `external/catch2/CMakeLists.txt`
```cmake
cmake_minimum_required (VERSION 3.1...${CMAKE_VERSION})
project(Catch2 LANGUAGES CXX VERSION 2.13.3)
add_library(Catch2 INTERFACE)
target_include_directories(Catch2
  INTERFACE
    $&lt;BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}&gt;
)
 # provide a namespaced alias for clients to 'link' against if catch is included as a sub-project
add_library(Catch2::Catch2 ALIAS Catch2)
include(contrib/Catch.cmake)
```
</pre>
</div>
</content>
</entry>
<entry>
<title>fixed inconsistent semicolon expansion in catch_discover_tests (Bug #2214)</title>
<updated>2021-04-16T15:22:14+00:00</updated>
<author>
<name>Georg Schwab</name>
</author>
<published>2021-04-14T06:51:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=04166514feec057540e4835c9f6636e6ad47721d'/>
<id>04166514feec057540e4835c9f6636e6ad47721d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix typos in the code base (#2206)</title>
<updated>2021-04-07T18:43:50+00:00</updated>
<author>
<name>Julien Brianceau</name>
</author>
<published>2021-04-07T18:43:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=e8cdfdca87ebacd993befdd08ea6aa7e8068ef3d'/>
<id>e8cdfdca87ebacd993befdd08ea6aa7e8068ef3d</id>
<content type='text'>
Note that only documentation and comments are impacted by this change.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Note that only documentation and comments are impacted by this change.
</pre>
</div>
</content>
</entry>
<entry>
<title>Consider CMP0110 add_test() policy</title>
<updated>2020-11-02T13:42:22+00:00</updated>
<author>
<name>Reinhold Gschweicher</name>
</author>
<published>2020-10-20T07:11:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=74b397e6b8b174c4e9dcf01611584466bb7ffa88'/>
<id>74b397e6b8b174c4e9dcf01611584466bb7ffa88</id>
<content type='text'>
CMake 3.19 introduces new add_test() behavior guarded with the policy
CMP0110.

See: https://cmake.org/cmake/help/latest/policy/CMP0110.html

Update the helper script ParseAndAddCatchTests to consider the policy and
handle the test case name accordingly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
CMake 3.19 introduces new add_test() behavior guarded with the policy
CMP0110.

See: https://cmake.org/cmake/help/latest/policy/CMP0110.html

Update the helper script ParseAndAddCatchTests to consider the policy and
handle the test case name accordingly.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix indentation in ParseAndAddCatchTests</title>
<updated>2020-11-02T13:42:19+00:00</updated>
<author>
<name>Reinhold Gschweicher</name>
</author>
<published>2020-10-20T09:24:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=730ec39a74c5f9a50d7a9f874bfe866212e0cabc'/>
<id>730ec39a74c5f9a50d7a9f874bfe866212e0cabc</id>
<content type='text'>
Consistently use 4 spaces instead of tabs
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Consistently use 4 spaces instead of tabs
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix CMake regex to add tests</title>
<updated>2020-11-02T13:42:17+00:00</updated>
<author>
<name>Reinhold Gschweicher</name>
</author>
<published>2020-10-19T15:57:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=71328bae905dd934ea3e47c8fd4d2f05a5a7cc98'/>
<id>71328bae905dd934ea3e47c8fd4d2f05a5a7cc98</id>
<content type='text'>
Fix regex that requires two string arguments in the form of
TEST_CASE("a", "b") resulting in not finding TEST_CASE("a") entries.

See https://regex101.com/r/JygOND/1

Fixes: https://github.com/catchorg/Catch2/issues/2055
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix regex that requires two string arguments in the form of
TEST_CASE("a", "b") resulting in not finding TEST_CASE("a") entries.

See https://regex101.com/r/JygOND/1

Fixes: https://github.com/catchorg/Catch2/issues/2055
</pre>
</div>
</content>
</entry>
</feed>
