<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/include/internal, branch v1.5.8</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>Build 1.5.8</title>
<updated>2016-10-26T11:08:26+00:00</updated>
<author>
<name>Phil Nash</name>
</author>
<published>2016-10-26T11:08:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=e27c4ee04282f60aefcc9b1062a74f92cf6c1a2b'/>
<id>e27c4ee04282f60aefcc9b1062a74f92cf6c1a2b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix transform without a lambda</title>
<updated>2016-10-14T21:28:15+00:00</updated>
<author>
<name>Billy Robert O'Neal III</name>
</author>
<published>2016-10-14T21:08:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=c17ba0870a224d674f5c488f37b708b422956f99'/>
<id>c17ba0870a224d674f5c488f37b708b422956f99</id>
<content type='text'>
Catch apparently supports targeting C++03, so use an inline function
instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Catch apparently supports targeting C++03, so use an inline function
instead.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix transform narrowing warnings</title>
<updated>2016-10-14T21:16:21+00:00</updated>
<author>
<name>Billy Robert O'Neal III</name>
</author>
<published>2016-10-14T21:08:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=79f01100e33cb28af06be67da9755e36566970dc'/>
<id>79f01100e33cb28af06be67da9755e36566970dc</id>
<content type='text'>
Catch passes ::tolower into std::transform with string iterators.
::tolower has the signature int(int), which triggers a stealth narrowing
warning inside std::transform, because transform calls
*_Dest = _Fn(*_First), which implicitly narrows an int to a char.

For this particular application the narrowing is fine, so explicitly
narrow in a lambda.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Catch passes ::tolower into std::transform with string iterators.
::tolower has the signature int(int), which triggers a stealth narrowing
warning inside std::transform, because transform calls
*_Dest = _Fn(*_First), which implicitly narrows an int to a char.

For this particular application the narrowing is fine, so explicitly
narrow in a lambda.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix random_shuffle narrowing warnings</title>
<updated>2016-10-14T21:06:45+00:00</updated>
<author>
<name>Billy Robert O'Neal III</name>
</author>
<published>2016-10-14T21:06:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=ccf7f2842a356e8901f8e6fe988da2f5a93db329'/>
<id>ccf7f2842a356e8901f8e6fe988da2f5a93db329</id>
<content type='text'>
Catch passes an RNG which accepts int to random_shuffle. Inside
random_shuffle, the STL tries to call that RNG with the difference_type
of the user provided iterators. For std::vector, this is ptrdiff_t,
which on amd64 builds is wider than int. This triggers a narrowing
warning because the 64 bit difference is being truncated to 32 bits.

Note that this RNG implementation still does not produce a correctly
uniformly shuffled result -- it's currently asserting that std::rand
can produce 1000000 which is false -- but I don't know enough about
how much repeatable shuffles are necessary here, so I'm leaving that
alone for now.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Catch passes an RNG which accepts int to random_shuffle. Inside
random_shuffle, the STL tries to call that RNG with the difference_type
of the user provided iterators. For std::vector, this is ptrdiff_t,
which on amd64 builds is wider than int. This triggers a narrowing
warning because the 64 bit difference is being truncated to 32 bits.

Note that this RNG implementation still does not produce a correctly
uniformly shuffled result -- it's currently asserting that std::rand
can produce 1000000 which is false -- but I don't know enough about
how much repeatable shuffles are necessary here, so I'm leaving that
alone for now.
</pre>
</div>
</content>
</entry>
<entry>
<title>Build 1.5.7</title>
<updated>2016-09-27T09:46:22+00:00</updated>
<author>
<name>Phil Nash</name>
</author>
<published>2016-09-27T09:46:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=40f6068d5223409a4eecdacee08572e9118b2137'/>
<id>40f6068d5223409a4eecdacee08572e9118b2137</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>--list-test-names quotes test names that start with #</title>
<updated>2016-09-27T09:43:03+00:00</updated>
<author>
<name>Phil Nash</name>
</author>
<published>2016-09-27T09:43:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=21cbfc107e41710266ec9a6f3725aed9e47620cc'/>
<id>21cbfc107e41710266ec9a6f3725aed9e47620cc</id>
<content type='text'>
- completes #717
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- completes #717
</pre>
</div>
</content>
</entry>
<entry>
<title>-f supports quoted test names (test name surrounded with " characters).</title>
<updated>2016-09-27T09:27:28+00:00</updated>
<author>
<name>Phil Nash</name>
</author>
<published>2016-09-27T09:27:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=b1eeec7c6976ac23b3d28986eff93d605a7f12e7'/>
<id>b1eeec7c6976ac23b3d28986eff93d605a7f12e7</id>
<content type='text'>
This is the first part to resolving #717
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is the first part to resolving #717
</pre>
</div>
</content>
</entry>
<entry>
<title>Added braces to emphasise the return logic</title>
<updated>2016-09-27T08:58:12+00:00</updated>
<author>
<name>Phil Nash</name>
</author>
<published>2016-09-27T08:58:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=c23b374f3dea7e51bb0acf676c993d82a34db190'/>
<id>c23b374f3dea7e51bb0acf676c993d82a34db190</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix misindent</title>
<updated>2016-09-26T22:35:26+00:00</updated>
<author>
<name>nabijaczleweli</name>
</author>
<published>2016-07-04T10:44:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=8c459dd207b541b68664db33026361a3ee491a44'/>
<id>8c459dd207b541b68664db33026361a3ee491a44</id>
<content type='text'>
Closes #679
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #679
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixes for XML encoding.</title>
<updated>2016-08-24T14:38:24+00:00</updated>
<author>
<name>Robert A Zeh</name>
</author>
<published>2016-08-24T14:38:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=5095619955f9f408e503dfcf561923ac6e48e3ce'/>
<id>5095619955f9f408e503dfcf561923ac6e48e3ce</id>
<content type='text'>
This commit fixes the following scenario:
  * You have a test that compares strings with embedded control
  characters.
  * The test fails.
  * You are using JUnit tests within TeamCity.

Before this commit, the JUnit report watcher fails on parsing the XML
for two reasons: the control characters are missing a semicolon at the
end, and the XML document doesn't specify that it is XML 1.1.

XML 1.0 --- what we get if we don't specify an XML version --- doesn't support embedding control characters --- see
http://stackoverflow.com/questions/404107/why-are-control-characters-illegal-in-xml
for all of the gory details.

This is based on PR #588 by @mrpi
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit fixes the following scenario:
  * You have a test that compares strings with embedded control
  characters.
  * The test fails.
  * You are using JUnit tests within TeamCity.

Before this commit, the JUnit report watcher fails on parsing the XML
for two reasons: the control characters are missing a semicolon at the
end, and the XML document doesn't specify that it is XML 1.1.

XML 1.0 --- what we get if we don't specify an XML version --- doesn't support embedding control characters --- see
http://stackoverflow.com/questions/404107/why-are-control-characters-illegal-in-xml
for all of the gory details.

This is based on PR #588 by @mrpi
</pre>
</div>
</content>
</entry>
</feed>
