<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/projects/SelfTest/UsageTests, branch v2.11.3</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>Fix compilation error when lambdas are used in assertions</title>
<updated>2020-03-19T12:32:45+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-03-19T12:32:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=3a33315ff8e047b1ff46b1ee2a5be3fdd7fbac08'/>
<id>3a33315ff8e047b1ff46b1ee2a5be3fdd7fbac08</id>
<content type='text'>
This is a partial revert of b7b346c3e5603.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a partial revert of b7b346c3e5603.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make warnings in assertions fire for GCC/Clang again</title>
<updated>2020-03-19T08:45:41+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-03-18T19:59:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=b7b346c3e56030d19ac58d33326b69bbaf226552'/>
<id>b7b346c3e56030d19ac58d33326b69bbaf226552</id>
<content type='text'>
The old code caused warnings to fire under MSVC, and Clang &lt;3.8.
I could not find a GCC version where it worked, but I assume that it
did at some point.

This new code causes all of MSVC, GCC, Clang, in current versions,
to emit signed/unsigned comparison warning in test like this:

```cpp
TEST_CASE() {
    int32_t i = -1;
    uint32_t j = 1;
    REQUIRE(i != j);
}
```

Where previously only MSVC would emit the warning.

Fixes #1880
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The old code caused warnings to fire under MSVC, and Clang &lt;3.8.
I could not find a GCC version where it worked, but I assume that it
did at some point.

This new code causes all of MSVC, GCC, Clang, in current versions,
to emit signed/unsigned comparison warning in test like this:

```cpp
TEST_CASE() {
    int32_t i = -1;
    uint32_t j = 1;
    REQUIRE(i != j);
}
```

Where previously only MSVC would emit the warning.

Fixes #1880
</pre>
</div>
</content>
</entry>
<entry>
<title>stdio.h replaced with cstdio.</title>
<updated>2020-02-08T13:27:40+00:00</updated>
<author>
<name>offa</name>
</author>
<published>2020-02-04T17:41:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=36170d60ca3c76c663b7c12a518c979394d67f7a'/>
<id>36170d60ca3c76c663b7c12a518c979394d67f7a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix significant bug with storing composed matchers</title>
<updated>2020-02-01T20:06:07+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-02-01T19:55:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f20a9dbc6e115eeb2b48288bfb27234c29f7417a'/>
<id>f20a9dbc6e115eeb2b48288bfb27234c29f7417a</id>
<content type='text'>
Given that in the 2 or so years that matchers are thing nobody complained,
it seems that people do not actually write this sort of code, and the
possibility will be removed in v3. However, to avoid correctness bugs,
we will have to support this weird code in v2.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Given that in the 2 or so years that matchers are thing nobody complained,
it seems that people do not actually write this sort of code, and the
possibility will be removed in v3. However, to avoid correctness bugs,
we will have to support this weird code in v2.
</pre>
</div>
</content>
</entry>
<entry>
<title>Some refactorings:</title>
<updated>2020-01-25T08:01:04+00:00</updated>
<author>
<name>offa</name>
</author>
<published>2020-01-21T20:04:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=2d172dc688ffab0867a94928159e93384475a870'/>
<id>2d172dc688ffab0867a94928159e93384475a870</id>
<content type='text'>
 - Overrides added
 - usages of push_back() replaced with emplace_back()
 - Loop variable made const-refernce
 - NULL replaced with nullptr
 - Names used in the declaration and definition unified
 - size() replaced with empty
 - Identical cases merged
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 - Overrides added
 - usages of push_back() replaced with emplace_back()
 - Loop variable made const-refernce
 - NULL replaced with nullptr
 - Names used in the declaration and definition unified
 - size() replaced with empty
 - Identical cases merged
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix wrong namespacing of benchmarking constructor helpers</title>
<updated>2019-11-21T15:22:04+00:00</updated>
<author>
<name>Joe Burzinski</name>
</author>
<published>2019-11-19T04:22:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=cfba9dce97e8b15f84d4ff329cc065abccf1cea1'/>
<id>cfba9dce97e8b15f84d4ff329cc065abccf1cea1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Warning fixes in examples and tests</title>
<updated>2019-10-31T13:29:59+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2019-10-31T13:29:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=776a4686c7fa783fe3c57b7dbcefba57fe142c55'/>
<id>776a4686c7fa783fe3c57b7dbcefba57fe142c55</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove useless test</title>
<updated>2019-10-29T10:44:24+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2019-06-22T13:31:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=74e0e737a60d684d660cd2d8c9c0e9bee5e8f56b'/>
<id>74e0e737a60d684d660cd2d8c9c0e9bee5e8f56b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Rework how warning suppression in macros is done</title>
<updated>2019-10-27T20:07:21+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2019-10-27T20:07:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=849f2848bdf625a7b6248e4e62ba0e39ee609634'/>
<id>849f2848bdf625a7b6248e4e62ba0e39ee609634</id>
<content type='text'>
Previously, each warning suppression was self-contained, with its
own pair of `SUPPRESS_X_WARNING` and `UNSUPPRESS_X_WARNING` macros.
This had the obvious advantage of being self-containing, but it
also meant that if we needed to suppress more than one warning
in a single place, then we would manipulate the compiler's warning
state multiple times, even though logically we would only need one
layer.

The new way of suppressing warnings in macros is to push compiler's
warning state with `CATCH_INTERNAL_START_WARNINGS_SUPPRESSION` macro,
then disable whatever macros we need with the
`CATCH_INTERNAL_SUPPRESS_X_WARNINGS` macro, and then return to the
previous state using `CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, each warning suppression was self-contained, with its
own pair of `SUPPRESS_X_WARNING` and `UNSUPPRESS_X_WARNING` macros.
This had the obvious advantage of being self-containing, but it
also meant that if we needed to suppress more than one warning
in a single place, then we would manipulate the compiler's warning
state multiple times, even though logically we would only need one
layer.

The new way of suppressing warnings in macros is to push compiler's
warning state with `CATCH_INTERNAL_START_WARNINGS_SUPPRESSION` macro,
then disable whatever macros we need with the
`CATCH_INTERNAL_SUPPRESS_X_WARNINGS` macro, and then return to the
previous state using `CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use scientific notation for the WithinULP matcher</title>
<updated>2019-10-20T10:30:21+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2019-10-20T10:30:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=9e8ae7d4701770c3f4f23414214634f59809fa71'/>
<id>9e8ae7d4701770c3f4f23414214634f59809fa71</id>
<content type='text'>
This should now properly handle small numbers which would previously
output something like `[0.00000000000000019, 0.00000000000000019]`,
which does not allow user to read the numbers properly.

Closes #1760
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This should now properly handle small numbers which would previously
output something like `[0.00000000000000019, 0.00000000000000019]`,
which does not allow user to read the numbers properly.

Closes #1760
</pre>
</div>
</content>
</entry>
</feed>
