<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/include/internal/catch_fatal_condition.hpp, branch v1.9.6</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 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>Cygwin compatibility fixes</title>
<updated>2017-02-15T16:57:22+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-02-15T16:57:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=c6178601c5c87b50e3114b8a8043d1ee6dfb4041'/>
<id>c6178601c5c87b50e3114b8a8043d1ee6dfb4041</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Deregister SEH handler before reporting SE.</title>
<updated>2017-02-06T19:40:46+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-02-06T19:40:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=23600609c0b31195fff8c1db4f6821fb6f8dee74'/>
<id>23600609c0b31195fff8c1db4f6821fb6f8dee74</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixes for MinGW compatibility</title>
<updated>2017-02-06T00:43:53+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-02-06T00:43:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=e991c006b76913d22842e11f98b90d96951b5723'/>
<id>e991c006b76913d22842e11f98b90d96951b5723</id>
<content type='text'>
Some versions of MinGW do not support enough of Win32 API to let us work
with SEH, so SEH is now MSVC only (+ configurable toggle).

Also made use of gmtime_s MSVC only (as oposed to Windows only).

Fixes #805
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some versions of MinGW do not support enough of Win32 API to let us work
with SEH, so SEH is now MSVC only (+ configurable toggle).

Also made use of gmtime_s MSVC only (as oposed to Windows only).

Fixes #805
</pre>
</div>
</content>
</entry>
<entry>
<title>Include windows.h proxy header, instead of windows.h itself</title>
<updated>2017-02-03T13:09:17+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-02-03T13:09:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=712323ab7c0893bd505a56099a7353baa044c59b'/>
<id>712323ab7c0893bd505a56099a7353baa044c59b</id>
<content type='text'>
Because the signal changes were in a different branch from the windows.h
related changes, the SEH handling code included the header directly.

Fixes #803
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Because the signal changes were in a different branch from the windows.h
related changes, the SEH handling code included the header directly.

Fixes #803
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed SEH deregistration on Windows</title>
<updated>2017-01-30T18:54:16+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-01-30T18:54:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=38af8d7035af1c6c5566c9488315490ede986875'/>
<id>38af8d7035af1c6c5566c9488315490ede986875</id>
<content type='text'>
Should fix #796
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Should fix #796
</pre>
</div>
</content>
</entry>
<entry>
<title>Compilation warnings fix (#791)</title>
<updated>2017-01-27T08:32:58+00:00</updated>
<author>
<name>Alexander Ryabykin</name>
</author>
<published>2017-01-27T08:32:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=02a69b449f59605cf9fa7f865a3b6daa8d104a79'/>
<id>02a69b449f59605cf9fa7f865a3b6daa8d104a79</id>
<content type='text'>
* Compilation warnings fix

* Removed unused argument from reportFatal function
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Compilation warnings fix

* Removed unused argument from reportFatal function
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed inconsistent and trailing whitespace</title>
<updated>2017-01-26T22:13:12+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-01-26T22:13:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=c390c4cb9f9ae384451a5b8cda08aebf34407207'/>
<id>c390c4cb9f9ae384451a5b8cda08aebf34407207</id>
<content type='text'>
This means that all tabs used in indentation are now 4 spaces and that
there should be no more trailing whitespace.

Ill also look into creating a pre-commit hook that will prevent this
from happening in the future.

Fixes #105
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This means that all tabs used in indentation are now 4 spaces and that
there should be no more trailing whitespace.

Ill also look into creating a pre-commit hook that will prevent this
from happening in the future.

Fixes #105
</pre>
</div>
</content>
</entry>
<entry>
<title>If we receive a signal, we re-register ALL previous signal handlers.</title>
<updated>2017-01-14T14:21:44+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-01-14T14:21:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=ffc4a9dc143bc66d2e1fd883e1395a3397a68e9d'/>
<id>ffc4a9dc143bc66d2e1fd883e1395a3397a68e9d</id>
<content type='text'>
This fixes the case when we pass signal to previously registered
handler, and it needs to transform the signal into different one.

Still problematic: What if the signal handler we replaced does not
terminate the application? We can end up in a weird state and loop
forever.

Possible solution: Deregister our signal handlers, CALL the previous
signal handler explicitly and if control returns, abort. This would
however complicate our code quite a bit, as we would have to parse the
sigaction we delegate to, decide whether to use signal handler or signal
action, etc...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes the case when we pass signal to previously registered
handler, and it needs to transform the signal into different one.

Still problematic: What if the signal handler we replaced does not
terminate the application? We can end up in a weird state and loop
forever.

Possible solution: Deregister our signal handlers, CALL the previous
signal handler explicitly and if control returns, abort. This would
however complicate our code quite a bit, as we would have to parse the
sigaction we delegate to, decide whether to use signal handler or signal
action, etc...
</pre>
</div>
</content>
</entry>
</feed>
