<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/include/internal/catch_run_context.hpp, branch v1.9.5</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>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>Don't clear out all messages upon printing an assertion.</title>
<updated>2017-04-29T15:50:03+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-04-29T15:50:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=b8194322718a1f61d3309023052c87090fa6bae3'/>
<id>b8194322718a1f61d3309023052c87090fa6bae3</id>
<content type='text'>
Previously, this would not print out any messages for the last CHECK
```cpp
TEST_CASE("Foo") {
INFO("Test case start");
for (int i = 0; i &lt; 2; ++i) {
INFO("The number is " &lt;&lt; i);
CHECK(i == 0);
}
CHECK(false);
}
```

now it does.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, this would not print out any messages for the last CHECK
```cpp
TEST_CASE("Foo") {
INFO("Test case start");
for (int i = 0; i &lt; 2; ++i) {
INFO("The number is " &lt;&lt; i);
CHECK(i == 0);
}
CHECK(false);
}
```

now it does.
</pre>
</div>
</content>
</entry>
<entry>
<title>Unexpected exception are no longer ignored by default</title>
<updated>2017-04-09T19:20:58+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-04-09T19:20:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=da8786b8fdf382c27e2c96015aa6f8a47ef696ae'/>
<id>da8786b8fdf382c27e2c96015aa6f8a47ef696ae</id>
<content type='text'>
What an embarassing bug, I'll have to look into why it wasn't caught by
any of Catch's self-tests.

Fixes #885 and closes #887 (duplicate)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
What an embarassing bug, I'll have to look into why it wasn't caught by
any of Catch's self-tests.

Fixes #885 and closes #887 (duplicate)
</pre>
</div>
</content>
</entry>
<entry>
<title>Reset the UnexpectedException report state</title>
<updated>2017-04-03T09:48:50+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-04-03T09:48:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=6e091d399128a55887fb33f57e35bd6cbb32a162'/>
<id>6e091d399128a55887fb33f57e35bd6cbb32a162</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed up CATCH_CONFIG_FAST_COMPILE for REQUIREs</title>
<updated>2017-04-03T09:36:55+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-04-03T09:36:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=95d85fb1864e82505d8f88b980a6219cae8234c4'/>
<id>95d85fb1864e82505d8f88b980a6219cae8234c4</id>
<content type='text'>
Unexpected exceptions no longer cause abort and there should be no more
potential for false negatives.

The trade-off now is that exceptions are no longer translated.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Unexpected exceptions no longer cause abort and there should be no more
potential for false negatives.

The trade-off now is that exceptions are no longer translated.
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't reconstruct expression on encountering fatal error</title>
<updated>2017-03-02T17:18:28+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-03-02T17:18:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=cd6de9cd34351b12b09480d2f6fc8cdd4248862b'/>
<id>cd6de9cd34351b12b09480d2f6fc8cdd4248862b</id>
<content type='text'>
In some cases, like when given

```cpp
std::vector&lt;char&gt;* str =
reinterpret_cast&lt;std::vector&lt;char&gt;*&gt;(0x1234458);
CHECK(*str == std::vector&lt;char&gt;());
```

reconstructing the expression to report it would cause another fatal
error. Instead we just put together an AssertionResult without
reconstructing the expression fully.

This should fully fix #810
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In some cases, like when given

```cpp
std::vector&lt;char&gt;* str =
reinterpret_cast&lt;std::vector&lt;char&gt;*&gt;(0x1234458);
CHECK(*str == std::vector&lt;char&gt;());
```

reconstructing the expression to report it would cause another fatal
error. Instead we just put together an AssertionResult without
reconstructing the expression fully.

This should fully fix #810
</pre>
</div>
</content>
</entry>
<entry>
<title>Replaced use of dynamic_cast with static_cast.</title>
<updated>2017-02-12T22:00:17+00:00</updated>
<author>
<name>Phil Nash</name>
</author>
<published>2017-02-12T22:00:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=9a3486a7056e2dab1d8b3ae50343eedda97c0462'/>
<id>9a3486a7056e2dab1d8b3ae50343eedda97c0462</id>
<content type='text'>
It wasn't necessary anyway.
This addresses #821
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It wasn't necessary anyway.
This addresses #821
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'dev-performance'</title>
<updated>2017-01-25T21:56:36+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-01-25T21:56:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=4ce11d63a6b0ec93c345599a6255c31c657b25c1'/>
<id>4ce11d63a6b0ec93c345599a6255c31c657b25c1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>First cut of -c/—section option for running specific sections</title>
<updated>2017-01-23T12:36:03+00:00</updated>
<author>
<name>Phil Nash</name>
</author>
<published>2017-01-12T17:10:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=e7bcbb35c0617a679422b29e8b402928a9d5c5ae'/>
<id>e7bcbb35c0617a679422b29e8b402928a9d5c5ae</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Various small string usage performance improvements.</title>
<updated>2017-01-15T09:05:01+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-01-15T08:41:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=3b98a0166f7b7196eba2ad518174d1a77165166d'/>
<id>3b98a0166f7b7196eba2ad518174d1a77165166d</id>
<content type='text'>
* Empty strings are now direct constructed as `std::string()`, not as empty string literals.
* `startsWith` and `endsWith` no longer construct new a string. This should be an improvement
for libstdc++ when using older standards, as it doesn't use SSO but COW and thus even short
strings are expensive to first create.
* Various places now use char literal instead of string literals containing single char.
** `startsWith` and `endsWith` now also have overload that takes single char.

Generally the performance improvements under VS2015 are small, as going from short string
to char is mostly meaningless because of SSO (Catch doesn't push string handling that hard)
and previous commit removed most string handling if tests pass, which is the expect case.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Empty strings are now direct constructed as `std::string()`, not as empty string literals.
* `startsWith` and `endsWith` no longer construct new a string. This should be an improvement
for libstdc++ when using older standards, as it doesn't use SSO but COW and thus even short
strings are expensive to first create.
* Various places now use char literal instead of string literals containing single char.
** `startsWith` and `endsWith` now also have overload that takes single char.

Generally the performance improvements under VS2015 are small, as going from short string
to char is mostly meaningless because of SSO (Catch doesn't push string handling that hard)
and previous commit removed most string handling if tests pass, which is the expect case.
</pre>
</div>
</content>
</entry>
</feed>
