<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/include/internal/catch_capture.hpp, branch v1.9.2</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>Rework of REQUIRE* changes in CATCH_CONFIG_FAST_COMPILE</title>
<updated>2017-03-29T19:12:06+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-03-29T19:12:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=4fe2432e0512bfb735cebe04fdec8f93637c77ff'/>
<id>4fe2432e0512bfb735cebe04fdec8f93637c77ff</id>
<content type='text'>
`ResultBuilder`s destructor now checks for exceptions, preventing false
negatives. The speedup should remain the same give or take a tiny bit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`ResultBuilder`s destructor now checks for exceptions, preventing false
negatives. The speedup should remain the same give or take a tiny bit.
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't sanitize exception type in REQUIRE_THROWS_AS</title>
<updated>2017-03-23T20:11:21+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-03-23T20:11:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f23b6b8b855b565ade37802d5c8f55012264d94f'/>
<id>f23b6b8b855b565ade37802d5c8f55012264d94f</id>
<content type='text'>
Effectively a revert of previous commit, fixing #542, where this was
added to stop linters complaining about `REQUIRE_THROWS_AS` used like
`REQUIRE_THROWS_AS(expr, std::exception);`, which would be slicing the
caught exception. Now it is user's responsibility to pass us proper
exception type.

Closes #833 which wanted to add `typename`, so that the construct works
in a template, but that would not work with MSVC and older GCC's, as
having `typename` outside of a template is allowed only from C++11
onward.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Effectively a revert of previous commit, fixing #542, where this was
added to stop linters complaining about `REQUIRE_THROWS_AS` used like
`REQUIRE_THROWS_AS(expr, std::exception);`, which would be slicing the
caught exception. Now it is user's responsibility to pass us proper
exception type.

Closes #833 which wanted to add `typename`, so that the construct works
in a template, but that would not work with MSVC and older GCC's, as
having `typename` outside of a template is allowed only from C++11
onward.
</pre>
</div>
</content>
</entry>
<entry>
<title>Changed all internal forwarding macro usages to put macro name as first argument</title>
<updated>2017-03-21T13:23:35+00:00</updated>
<author>
<name>Phil Nash</name>
</author>
<published>2017-03-21T13:22:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f3ec843ba6513b496f3fb384732c2cdd0bedea11'/>
<id>f3ec843ba6513b496f3fb384732c2cdd0bedea11</id>
<content type='text'>
(and ‘expression’, if any, last)
This is a first step towards allowing expression arguments to become variadic
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(and ‘expression’, if any, last)
This is a first step towards allowing expression arguments to become variadic
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed stray define</title>
<updated>2017-03-20T09:53:32+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-03-20T09:53:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=55ed17f97b9a1c1a7ab8918f5dca3a0566b6775c'/>
<id>55ed17f97b9a1c1a7ab8918f5dca3a0566b6775c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>CATCH_CONFIG_FAST_COMPILE now disables trys in REQUIRE*</title>
<updated>2017-03-17T12:21:40+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-03-17T12:21:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=7a8a0205b46a3770cc8f0d26a24a903a4c03e82a'/>
<id>7a8a0205b46a3770cc8f0d26a24a903a4c03e82a</id>
<content type='text'>
This seems to give about 15% speedup when compiling tests using GCC.

The tradeoff is that under certain circumstances, there is a chance for
false negative result, when the expression under test throws exception
and the test code catches it before it gets to the test runner.

Example:
``` cpp
TEST_CASE("False negative") {
try {
REQUIRE(throws() == "");
} catch (...) {}
}
```
This test case will succeed, reporting no assertions checked, instead of
failing as it would with `CATCH_CONFIG_FAST_COMPILE` disabled. However,
just removing the try-catch block inside client's code will fix this, so
it is worthwhile.

This change does not apply to CHECK* macros, because these are currently
specified as continuing on exception and thus need the local try-catch
to work as intended.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This seems to give about 15% speedup when compiling tests using GCC.

The tradeoff is that under certain circumstances, there is a chance for
false negative result, when the expression under test throws exception
and the test code catches it before it gets to the test runner.

Example:
``` cpp
TEST_CASE("False negative") {
try {
REQUIRE(throws() == "");
} catch (...) {}
}
```
This test case will succeed, reporting no assertions checked, instead of
failing as it would with `CATCH_CONFIG_FAST_COMPILE` disabled. However,
just removing the try-catch block inside client's code will fix this, so
it is worthwhile.

This change does not apply to CHECK* macros, because these are currently
specified as continuing on exception and thus need the local try-catch
to work as intended.
</pre>
</div>
</content>
</entry>
<entry>
<title>push/pop warnings when disabling parentheses warnings within assertion (gcc/ clang)</title>
<updated>2017-02-15T10:03:28+00:00</updated>
<author>
<name>Phil Nash</name>
</author>
<published>2017-02-15T09:38:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=fe690a68ef1e41d08e90589480fa8190219aa5b0'/>
<id>fe690a68ef1e41d08e90589480fa8190219aa5b0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'dev-performance-round3'</title>
<updated>2017-02-15T09:35:01+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-02-15T09:35:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=3cfef738e7a0ca6aa70f9a06bc3a278b834051ef'/>
<id>3cfef738e7a0ca6aa70f9a06bc3a278b834051ef</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Move debug break out of tests, speeds up compilation time</title>
<updated>2017-02-14T14:35:12+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-02-14T14:35:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=7b13a8f85a0fb7d99759591b01539d6d0202f383'/>
<id>7b13a8f85a0fb7d99759591b01539d6d0202f383</id>
<content type='text'>
This is hidden behind CATCH_CONFIG_FAST_COMPILE
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is hidden behind CATCH_CONFIG_FAST_COMPILE
</pre>
</div>
</content>
</entry>
<entry>
<title>REQUIRE_THROWS_AS now catches exception by const&amp;</title>
<updated>2017-02-09T11:57:01+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-02-09T11:57:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=73159ace3d84b3cf01a126d6edefde196cceb621'/>
<id>73159ace3d84b3cf01a126d6edefde196cceb621</id>
<content type='text'>
Prevents some warnings caused by catching complex types by value.

Closes #542
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Prevents some warnings caused by catching complex types by value.

Closes #542
</pre>
</div>
</content>
</entry>
<entry>
<title>REQUIRE_THROWS_AS is now reported with expected type as well</title>
<updated>2017-02-09T11:51:43+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-02-09T11:41:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=9952dda524e5578d808e2c267fff0799f228cbd2'/>
<id>9952dda524e5578d808e2c267fff0799f228cbd2</id>
<content type='text'>
Also updated tests to reflect this change.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also updated tests to reflect this change.
</pre>
</div>
</content>
</entry>
</feed>
