<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/projects/CMakeLists.txt, branch v2.5.0</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>Add `std::isnan` polyfill, fixing compilation under Embarcadero</title>
<updated>2018-11-17T19:52:18+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2018-11-17T19:52:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=c6a89f14c2d2134363ac186cc401ce331f158d44'/>
<id>c6a89f14c2d2134363ac186cc401ce331f158d44</id>
<content type='text'>
Fixes #1438
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #1438
</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for templated tests</title>
<updated>2018-11-16T20:21:23+00:00</updated>
<author>
<name>Jozef Grajciar</name>
</author>
<published>2018-11-08T06:26:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=2d906a92cb82fe65e3cafab6495c0fd12a0ab0ab'/>
<id>2d906a92cb82fe65e3cafab6495c0fd12a0ab0ab</id>
<content type='text'>
This adds support for templated tests and test methods via
`TEMPLATE_TEST_CASE` and `TEMPLATE_TEST_CASE_METHOD` macros. These
work mostly just like their regular counterparts*, but take an
unlimited** number of types as their last arguments.

* Unlike the plain `TEST_CASE*` macros, the `TEMPLATE*` variants
require a tag string.

** In practice there is limit of about 300 types.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds support for templated tests and test methods via
`TEMPLATE_TEST_CASE` and `TEMPLATE_TEST_CASE_METHOD` macros. These
work mostly just like their regular counterparts*, but take an
unlimited** number of types as their last arguments.

* Unlike the plain `TEST_CASE*` macros, the `TEMPLATE*` variants
require a tag string.

** In practice there is limit of about 300 types.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add MSVC warning 5038 (Wreorder equivalent) to CMakeLists</title>
<updated>2018-11-05T19:07:33+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2018-11-05T19:07:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=eccbffec0f6d936f7d708761581e05912583a98a'/>
<id>eccbffec0f6d936f7d708761581e05912583a98a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add StringMaker for std::variant, std::monostate (#1380)</title>
<updated>2018-09-20T12:13:35+00:00</updated>
<author>
<name>melak47</name>
</author>
<published>2018-09-20T12:13:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=c638c5720970f03033755dd9ebb0e4e6dccb1289'/>
<id>c638c5720970f03033755dd9ebb0e4e6dccb1289</id>
<content type='text'>
The StringMaker is off by default and can be enabled by a new macro `CATCH_CONFIG_ENABLE_VARIANT_STRINGMAKER`, to avoid increasing the footprint of stringification machinery by default.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The StringMaker is off by default and can be enabled by a new macro `CATCH_CONFIG_ENABLE_VARIANT_STRINGMAKER`, to avoid increasing the footprint of stringification machinery by default.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add C++17 builds to Travis</title>
<updated>2018-09-10T07:30:09+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2018-09-09T20:08:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=1eb42eed974f944401091325bbe8e61b38fd0678'/>
<id>1eb42eed974f944401091325bbe8e61b38fd0678</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix CTest regex error</title>
<updated>2018-09-09T08:17:08+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2018-09-08T18:56:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=a3876adba67b9e2237f8c46c27ecff7a1f246ac4'/>
<id>a3876adba67b9e2237f8c46c27ecff7a1f246ac4</id>
<content type='text'>
The desired behaviour was to match a literal "[.]", so the regex
has to be escaped as "\\[\\.\\]" -- double backslashes, because
it has to be escaped from CMake as well as from the regex engine.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The desired behaviour was to match a literal "[.]", so the regex
has to be escaped as "\\[\\.\\]" -- double backslashes, because
it has to be escaped from CMake as well as from the regex engine.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for -fno-exceptions (or equivalent)</title>
<updated>2018-09-03T19:08:27+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2018-09-03T15:52:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=8b0188385498d6ac101854dc3983c6ebd220adc3'/>
<id>8b0188385498d6ac101854dc3983c6ebd220adc3</id>
<content type='text'>
This means

* Adding new configuration toggle `CATCH_CONFIG_DISABLE_EXCEPTIONS`
and a best-guess configuration auto-checking for it.
* Adding new set of internal macros, `CATCH_TRY`, `CATCH_CATCH_ALL`
and `CATCH_CATCH_ANON` that can be used in place of regular `try`,
`catch(...)` and `catch(T const&amp;)` respectively, while disappearing
when `CATCH_CONFIG_DISABLE_EXCEPTIONS` is enabled.
* Replacing all uses of `throw` with calls to `Catch::throw_exception`
customization point.
* Providing a default implementation for the above customization point
when `CATCH_CONFIG_DISABLE_EXCEPTIONS` is set.
* Letting users override this implementation with their own.
* Some minor changes and ifdefs all around to support the above
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This means

* Adding new configuration toggle `CATCH_CONFIG_DISABLE_EXCEPTIONS`
and a best-guess configuration auto-checking for it.
* Adding new set of internal macros, `CATCH_TRY`, `CATCH_CATCH_ALL`
and `CATCH_CATCH_ANON` that can be used in place of regular `try`,
`catch(...)` and `catch(T const&amp;)` respectively, while disappearing
when `CATCH_CONFIG_DISABLE_EXCEPTIONS` is enabled.
* Replacing all uses of `throw` with calls to `Catch::throw_exception`
customization point.
* Providing a default implementation for the above customization point
when `CATCH_CONFIG_DISABLE_EXCEPTIONS` is set.
* Letting users override this implementation with their own.
* Some minor changes and ifdefs all around to support the above
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix VS2017 approvals on AppVeyor</title>
<updated>2018-08-28T10:58:08+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2018-08-28T08:48:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=52029935557516c6af58c007879aaabfaa742a3a'/>
<id>52029935557516c6af58c007879aaabfaa742a3a</id>
<content type='text'>
Because of a change in VS toolset, missing option &lt;UseFullPaths&gt;
is no longer interpreted as "don't pass /FC to the compiler", but
rather as "pass /FC to the compiler". This is problematic, because
/FC not only changes how much of the path is reporter by the compiler
(e.g. in `__FILE__` macro), but it also lower cases the path.

This lower-casing of the path broke our approval tests for VS2017
about 5 months ago.

Using CMake 3.13 (not yet released) would also let us fix it, but
for now we use a vcxproj.user file that is merged with the main project
and explicitly disables `/FC`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Because of a change in VS toolset, missing option &lt;UseFullPaths&gt;
is no longer interpreted as "don't pass /FC to the compiler", but
rather as "pass /FC to the compiler". This is problematic, because
/FC not only changes how much of the path is reporter by the compiler
(e.g. in `__FILE__` macro), but it also lower cases the path.

This lower-casing of the path broke our approval tests for VS2017
about 5 months ago.

Using CMake 3.13 (not yet released) would also let us fix it, but
for now we use a vcxproj.user file that is merged with the main project
and explicitly disables `/FC`.
</pre>
</div>
</content>
</entry>
<entry>
<title>First attempt at data generator support</title>
<updated>2018-08-24T11:31:51+00:00</updated>
<author>
<name>Phil Nash</name>
</author>
<published>2018-06-12T16:50:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=7c25dae9ea7b669430103d29cd262abb0842f4e5'/>
<id>7c25dae9ea7b669430103d29cd262abb0842f4e5</id>
<content type='text'>
The support is to be considered experimental, that is, the interfaces,
the first party generators and helper functions can change or be removed
at any point in time.

Related to #850
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The support is to be considered experimental, that is, the interfaces,
the first party generators and helper functions can change or be removed
at any point in time.

Related to #850
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow overriding of Python interpreter</title>
<updated>2018-08-20T12:52:54+00:00</updated>
<author>
<name>David Seifert</name>
</author>
<published>2018-08-18T20:06:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=7f18282d178505072a059b5318543a245a924496'/>
<id>7f18282d178505072a059b5318543a245a924496</id>
<content type='text'>
* Calling `python` does not allow overriding
  downstream when running tests.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Calling `python` does not allow overriding
  downstream when running tests.
</pre>
</div>
</content>
</entry>
</feed>
