<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/include/internal/catch_capture.hpp, branch v1.12.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>Workaround raw string literal bug in VS2017</title>
<updated>2017-08-26T13:14:27+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-08-26T13:14:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=cd30dd1a70923c6a264d07a6c88229447e425590'/>
<id>cd30dd1a70923c6a264d07a6c88229447e425590</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Eliminate some work when results won't be reported.</title>
<updated>2017-07-06T23:34:12+00:00</updated>
<author>
<name>Neal Coombes</name>
</author>
<published>2017-06-26T19:30:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=a53ea307239095920270af807938e7870fa36362'/>
<id>a53ea307239095920270af807938e7870fa36362</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Cosmetic fixes (whitespace and spelling)</title>
<updated>2017-05-27T12:42:54+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-05-27T12:42:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=377c9a746d1623ff51f8d48dde72f090ad960cd8'/>
<id>377c9a746d1623ff51f8d48dde72f090ad960cd8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix order of arguments in CATCH_FAIL and nonvariadic INTERNAL_CATCH_MSG</title>
<updated>2017-04-28T16:30:04+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-04-28T16:30:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=5ffc8a84cda91b5da037a923480236450f7f4586'/>
<id>5ffc8a84cda91b5da037a923480236450f7f4586</id>
<content type='text'>
Fixes #896
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #896
</pre>
</div>
</content>
</entry>
<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>
</feed>
