Cleanups output normalization in ApprovalTests

Removed:
 * NaN normalization
 * INFINITY normalization
 * errno normalization
 * Completely unused duration regex

Tests using these macros should be tagged `[approvals]`
so they are not run as part of approval tests.

Also simplified regex for the test's executable filename,
and hidden some tests relying on nullptr normalization.
This commit is contained in:
Martin Hořeňovský 2022-01-26 23:47:40 +01:00
parent d861e73f86
commit 4ff8b27bb6
No known key found for this signature in database
GPG Key ID: DE48307B8B0D381A
22 changed files with 55 additions and 264 deletions

View File

@ -1,5 +1,4 @@
:test-result: PASS # A test name that starts with a #
:test-result: PASS #1005: Comparing pointer to int and long (NULL can be either on various systems)
:test-result: PASS #1027: Bitfields can be captured
:test-result: PASS #1147
:test-result: PASS #1175 - Hidden Test
@ -29,7 +28,7 @@ Nor would this
:test-result: XFAIL #748 - captures with unexpected exceptions
:test-result: PASS #809
:test-result: PASS #833
:test-result: XFAIL #835 -- errno should not be touched by Catch
:test-result: XFAIL #835 -- errno should not be touched by Catch2
:test-result: PASS #872
:test-result: PASS #961 -- Dynamically created sections should all be reported
:test-result: FAIL 'Not' checks that should fail
@ -375,7 +374,6 @@ loose text artifact
:test-result: PASS tuple<>
:test-result: PASS tuple<float,int>
:test-result: PASS tuple<int>
:test-result: PASS tuple<0,int,const char *>
:test-result: PASS tuple<string,string>
:test-result: PASS tuple<tuple<int>,tuple<>,float>
:test-result: PASS uniform samples

View File

@ -1,5 +1,4 @@
:test-result: PASS # A test name that starts with a #
:test-result: PASS #1005: Comparing pointer to int and long (NULL can be either on various systems)
:test-result: PASS #1027: Bitfields can be captured
:test-result: PASS #1147
:test-result: PASS #1175 - Hidden Test
@ -27,7 +26,7 @@
:test-result: XFAIL #748 - captures with unexpected exceptions
:test-result: PASS #809
:test-result: PASS #833
:test-result: XFAIL #835 -- errno should not be touched by Catch
:test-result: XFAIL #835 -- errno should not be touched by Catch2
:test-result: PASS #872
:test-result: PASS #961 -- Dynamically created sections should all be reported
:test-result: FAIL 'Not' checks that should fail
@ -367,7 +366,6 @@
:test-result: PASS tuple<>
:test-result: PASS tuple<float,int>
:test-result: PASS tuple<int>
:test-result: PASS tuple<0,int,const char *>
:test-result: PASS tuple<string,string>
:test-result: PASS tuple<tuple<int>,tuple<>,float>
:test-result: PASS uniform samples

View File

@ -1,6 +1,4 @@
Misc.tests.cpp:<line number>: passed: with 1 message: 'yay'
Decomposition.tests.cpp:<line number>: passed: fptr == 0 for: 0 == 0
Decomposition.tests.cpp:<line number>: passed: fptr == 0l for: 0 == 0
Compilation.tests.cpp:<line number>: passed: y.v == 0 for: 0 == 0
Compilation.tests.cpp:<line number>: passed: 0 == y.v for: 0 == 0
Compilation.tests.cpp:<line number>: passed: t1 == t2 for: {?} == {?}
@ -96,7 +94,7 @@ Compilation.tests.cpp:<line number>: passed: throws_int(false)
Compilation.tests.cpp:<line number>: passed: "aaa", Catch::Matchers::EndsWith("aaa") for: "aaa" ends with: "aaa"
Compilation.tests.cpp:<line number>: passed: templated_tests<int>(3) for: true
Misc.tests.cpp:<line number>: failed: f() == 0 for: 1 == 0
Misc.tests.cpp:<line number>: passed: errno == 1 for: 1 == 1
Misc.tests.cpp:<line number>: passed: errno_after == 1 for: 1 == 1
Compilation.tests.cpp:<line number>: passed: x == 4 for: {?} == 4 with 1 message: 'dummy := 0'
Misc.tests.cpp:<line number>: passed: with 1 message: 'Everything is OK'
Misc.tests.cpp:<line number>: passed: with 1 message: 'Everything is OK'
@ -2426,9 +2424,6 @@ ToStringTuple.tests.cpp:<line number>: passed: "{ }" == ::Catch::Detail::stringi
ToStringTuple.tests.cpp:<line number>: passed: "1.2f" == ::Catch::Detail::stringify(float(1.2)) for: "1.2f" == "1.2f"
ToStringTuple.tests.cpp:<line number>: passed: "{ 1.2f, 0 }" == ::Catch::Detail::stringify(type{1.2f,0}) for: "{ 1.2f, 0 }" == "{ 1.2f, 0 }"
ToStringTuple.tests.cpp:<line number>: passed: "{ 0 }" == ::Catch::Detail::stringify(type{0}) for: "{ 0 }" == "{ 0 }"
ToStringTuple.tests.cpp:<line number>: passed: "{ 0, 42, \"Catch me\" }" == ::Catch::Detail::stringify(value) for: "{ 0, 42, "Catch me" }"
==
"{ 0, 42, "Catch me" }"
ToStringTuple.tests.cpp:<line number>: passed: "{ \"hello\", \"world\" }" == ::Catch::Detail::stringify(type{"hello","world"}) for: "{ "hello", "world" }"
==
"{ "hello", "world" }"

View File

@ -1,6 +1,4 @@
Misc.tests.cpp:<line number>: passed: with 1 message: 'yay'
Decomposition.tests.cpp:<line number>: passed: fptr == 0 for: 0 == 0
Decomposition.tests.cpp:<line number>: passed: fptr == 0l for: 0 == 0
Compilation.tests.cpp:<line number>: passed: y.v == 0 for: 0 == 0
Compilation.tests.cpp:<line number>: passed: 0 == y.v for: 0 == 0
Compilation.tests.cpp:<line number>: passed: t1 == t2 for: {?} == {?}
@ -94,7 +92,7 @@ Compilation.tests.cpp:<line number>: passed: throws_int(false)
Compilation.tests.cpp:<line number>: passed: "aaa", Catch::Matchers::EndsWith("aaa") for: "aaa" ends with: "aaa"
Compilation.tests.cpp:<line number>: passed: templated_tests<int>(3) for: true
Misc.tests.cpp:<line number>: failed: f() == 0 for: 1 == 0
Misc.tests.cpp:<line number>: passed: errno == 1 for: 1 == 1
Misc.tests.cpp:<line number>: passed: errno_after == 1 for: 1 == 1
Compilation.tests.cpp:<line number>: passed: x == 4 for: {?} == 4 with 1 message: 'dummy := 0'
Misc.tests.cpp:<line number>: passed: with 1 message: 'Everything is OK'
Misc.tests.cpp:<line number>: passed: with 1 message: 'Everything is OK'
@ -2418,9 +2416,6 @@ ToStringTuple.tests.cpp:<line number>: passed: "{ }" == ::Catch::Detail::stringi
ToStringTuple.tests.cpp:<line number>: passed: "1.2f" == ::Catch::Detail::stringify(float(1.2)) for: "1.2f" == "1.2f"
ToStringTuple.tests.cpp:<line number>: passed: "{ 1.2f, 0 }" == ::Catch::Detail::stringify(type{1.2f,0}) for: "{ 1.2f, 0 }" == "{ 1.2f, 0 }"
ToStringTuple.tests.cpp:<line number>: passed: "{ 0 }" == ::Catch::Detail::stringify(type{0}) for: "{ 0 }" == "{ 0 }"
ToStringTuple.tests.cpp:<line number>: passed: "{ 0, 42, \"Catch me\" }" == ::Catch::Detail::stringify(value) for: "{ 0, 42, "Catch me" }"
==
"{ 0, 42, "Catch me" }"
ToStringTuple.tests.cpp:<line number>: passed: "{ \"hello\", \"world\" }" == ::Catch::Detail::stringify(type{"hello","world"}) for: "{ "hello", "world" }"
==
"{ "hello", "world" }"

View File

@ -54,7 +54,7 @@ due to unexpected exception with messages:
expected exception
-------------------------------------------------------------------------------
#835 -- errno should not be touched by Catch
#835 -- errno should not be touched by Catch2
-------------------------------------------------------------------------------
Misc.tests.cpp:<line number>
...............................................................................
@ -1395,6 +1395,6 @@ due to unexpected exception with message:
Why would you throw a std::string?
===============================================================================
test cases: 383 | 307 passed | 69 failed | 7 failed as expected
assertions: 2212 | 2057 passed | 128 failed | 27 failed as expected
test cases: 381 | 305 passed | 69 failed | 7 failed as expected
assertions: 2209 | 2054 passed | 128 failed | 27 failed as expected

View File

@ -16,23 +16,6 @@ Misc.tests.cpp:<line number>: PASSED:
with message:
yay
-------------------------------------------------------------------------------
#1005: Comparing pointer to int and long (NULL can be either on various
systems)
-------------------------------------------------------------------------------
Decomposition.tests.cpp:<line number>
...............................................................................
Decomposition.tests.cpp:<line number>: PASSED:
REQUIRE( fptr == 0 )
with expansion:
0 == 0
Decomposition.tests.cpp:<line number>: PASSED:
REQUIRE( fptr == 0l )
with expansion:
0 == 0
-------------------------------------------------------------------------------
#1027: Bitfields can be captured
-------------------------------------------------------------------------------
@ -863,7 +846,7 @@ with expansion:
true
-------------------------------------------------------------------------------
#835 -- errno should not be touched by Catch
#835 -- errno should not be touched by Catch2
-------------------------------------------------------------------------------
Misc.tests.cpp:<line number>
...............................................................................
@ -874,7 +857,7 @@ with expansion:
1 == 0
Misc.tests.cpp:<line number>: PASSED:
REQUIRE( errno == 1 )
REQUIRE( errno_after == 1 )
with expansion:
1 == 1
@ -17232,19 +17215,6 @@ ToStringTuple.tests.cpp:<line number>: PASSED:
with expansion:
"{ 0 }" == "{ 0 }"
-------------------------------------------------------------------------------
tuple<0,int,const char *>
-------------------------------------------------------------------------------
ToStringTuple.tests.cpp:<line number>
...............................................................................
ToStringTuple.tests.cpp:<line number>: PASSED:
CHECK( "{ 0, 42, \"Catch me\" }" == ::Catch::Detail::stringify(value) )
with expansion:
"{ 0, 42, "Catch me" }"
==
"{ 0, 42, "Catch me" }"
-------------------------------------------------------------------------------
tuple<string,string>
-------------------------------------------------------------------------------
@ -17784,6 +17754,6 @@ Misc.tests.cpp:<line number>
Misc.tests.cpp:<line number>: PASSED:
===============================================================================
test cases: 383 | 293 passed | 83 failed | 7 failed as expected
assertions: 2227 | 2057 passed | 143 failed | 27 failed as expected
test cases: 381 | 291 passed | 83 failed | 7 failed as expected
assertions: 2224 | 2054 passed | 143 failed | 27 failed as expected

View File

@ -16,23 +16,6 @@ Misc.tests.cpp:<line number>: PASSED:
with message:
yay
-------------------------------------------------------------------------------
#1005: Comparing pointer to int and long (NULL can be either on various
systems)
-------------------------------------------------------------------------------
Decomposition.tests.cpp:<line number>
...............................................................................
Decomposition.tests.cpp:<line number>: PASSED:
REQUIRE( fptr == 0 )
with expansion:
0 == 0
Decomposition.tests.cpp:<line number>: PASSED:
REQUIRE( fptr == 0l )
with expansion:
0 == 0
-------------------------------------------------------------------------------
#1027: Bitfields can be captured
-------------------------------------------------------------------------------
@ -861,7 +844,7 @@ with expansion:
true
-------------------------------------------------------------------------------
#835 -- errno should not be touched by Catch
#835 -- errno should not be touched by Catch2
-------------------------------------------------------------------------------
Misc.tests.cpp:<line number>
...............................................................................
@ -872,7 +855,7 @@ with expansion:
1 == 0
Misc.tests.cpp:<line number>: PASSED:
REQUIRE( errno == 1 )
REQUIRE( errno_after == 1 )
with expansion:
1 == 1
@ -17224,19 +17207,6 @@ ToStringTuple.tests.cpp:<line number>: PASSED:
with expansion:
"{ 0 }" == "{ 0 }"
-------------------------------------------------------------------------------
tuple<0,int,const char *>
-------------------------------------------------------------------------------
ToStringTuple.tests.cpp:<line number>
...............................................................................
ToStringTuple.tests.cpp:<line number>: PASSED:
CHECK( "{ 0, 42, \"Catch me\" }" == ::Catch::Detail::stringify(value) )
with expansion:
"{ 0, 42, "Catch me" }"
==
"{ 0, 42, "Catch me" }"
-------------------------------------------------------------------------------
tuple<string,string>
-------------------------------------------------------------------------------
@ -17776,6 +17746,6 @@ Misc.tests.cpp:<line number>
Misc.tests.cpp:<line number>: PASSED:
===============================================================================
test cases: 383 | 293 passed | 83 failed | 7 failed as expected
assertions: 2227 | 2057 passed | 143 failed | 27 failed as expected
test cases: 381 | 291 passed | 83 failed | 7 failed as expected
assertions: 2224 | 2054 passed | 143 failed | 27 failed as expected

View File

@ -16,23 +16,6 @@ Misc.tests.cpp:<line number>: PASSED:
with message:
yay
-------------------------------------------------------------------------------
#1005: Comparing pointer to int and long (NULL can be either on various
systems)
-------------------------------------------------------------------------------
Decomposition.tests.cpp:<line number>
...............................................................................
Decomposition.tests.cpp:<line number>: PASSED:
REQUIRE( fptr == 0 )
with expansion:
0 == 0
Decomposition.tests.cpp:<line number>: PASSED:
REQUIRE( fptr == 0l )
with expansion:
0 == 0
-------------------------------------------------------------------------------
#1027: Bitfields can be captured
-------------------------------------------------------------------------------
@ -863,7 +846,7 @@ with expansion:
true
-------------------------------------------------------------------------------
#835 -- errno should not be touched by Catch
#835 -- errno should not be touched by Catch2
-------------------------------------------------------------------------------
Misc.tests.cpp:<line number>
...............................................................................
@ -874,7 +857,7 @@ with expansion:
1 == 0
Misc.tests.cpp:<line number>: PASSED:
REQUIRE( errno == 1 )
REQUIRE( errno_after == 1 )
with expansion:
1 == 1
@ -959,6 +942,6 @@ Condition.tests.cpp:<line number>: FAILED:
CHECK( true != true )
===============================================================================
test cases: 33 | 28 passed | 3 failed | 2 failed as expected
assertions: 103 | 96 passed | 4 failed | 3 failed as expected
test cases: 32 | 27 passed | 3 failed | 2 failed as expected
assertions: 101 | 94 passed | 4 failed | 3 failed as expected

View File

@ -1,13 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<testsuitesloose text artifact
>
<testsuite name="<exe-name>" errors="17" failures="126" tests="2227" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}">
<testsuite name="<exe-name>" errors="17" failures="126" tests="2224" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}">
<properties>
<property name="random-seed" value="1"/>
<property name="filters" value="~[!nonportable]~[!benchmark]~[approvals] *"/>
</properties>
<testcase classname="<exe-name>.global" name="# A test name that starts with a #" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="#1005: Comparing pointer to int and long (NULL can be either on various systems)" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="#1027: Bitfields can be captured" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="#1147" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="#1175 - Hidden Test" time="{duration}" status="run"/>
@ -71,7 +70,7 @@ Exception.tests.cpp:<line number>
<testcase classname="<exe-name>.global" name="#748 - captures with unexpected exceptions/inside REQUIRE_THROWS" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="#809" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="#833" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="#835 -- errno should not be touched by Catch" time="{duration}" status="run">
<testcase classname="<exe-name>.global" name="#835 -- errno should not be touched by Catch2" time="{duration}" status="run">
<skipped message="TEST_CASE tagged with !mayfail"/>
<failure message="f() == 0" type="CHECK">
FAILED:
@ -1866,7 +1865,6 @@ Exception.tests.cpp:<line number>
<testcase classname="<exe-name>.global" name="tuple&lt;>" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="tuple&lt;float,int>" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="tuple&lt;int>" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="tuple&lt;0,int,const char *>" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="tuple&lt;string,string>" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="tuple&lt;tuple&lt;int>,tuple&lt;>,float>" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="uniform samples" time="{duration}" status="run"/>

View File

@ -1,12 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<testsuites>
<testsuite name="<exe-name>" errors="17" failures="126" tests="2227" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}">
<testsuite name="<exe-name>" errors="17" failures="126" tests="2224" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}">
<properties>
<property name="random-seed" value="1"/>
<property name="filters" value="~[!nonportable]~[!benchmark]~[approvals] *"/>
</properties>
<testcase classname="<exe-name>.global" name="# A test name that starts with a #" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="#1005: Comparing pointer to int and long (NULL can be either on various systems)" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="#1027: Bitfields can be captured" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="#1147" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="#1175 - Hidden Test" time="{duration}" status="run"/>
@ -70,7 +69,7 @@ Exception.tests.cpp:<line number>
<testcase classname="<exe-name>.global" name="#748 - captures with unexpected exceptions/inside REQUIRE_THROWS" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="#809" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="#833" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="#835 -- errno should not be touched by Catch" time="{duration}" status="run">
<testcase classname="<exe-name>.global" name="#835 -- errno should not be touched by Catch2" time="{duration}" status="run">
<skipped message="TEST_CASE tagged with !mayfail"/>
<failure message="f() == 0" type="CHECK">
FAILED:
@ -1865,7 +1864,6 @@ Exception.tests.cpp:<line number>
<testcase classname="<exe-name>.global" name="tuple&lt;>" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="tuple&lt;float,int>" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="tuple&lt;int>" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="tuple&lt;0,int,const char *>" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="tuple&lt;string,string>" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="tuple&lt;tuple&lt;int>,tuple&lt;>,float>" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="uniform samples" time="{duration}" status="run"/>

View File

@ -865,7 +865,6 @@ Condition.tests.cpp:<line number>
<testCase name="comparisons between int variables" duration="{duration}"/>
</file>
<file path="tests/<exe-name>/UsageTests/Decomposition.tests.cpp">
<testCase name="#1005: Comparing pointer to int and long (NULL can be either on various systems)" duration="{duration}"/>
<testCase name="Reconstruction should be based on stringification: #914" duration="{duration}">
<failure message="CHECK(truthy(false))">
FAILED:
@ -1553,7 +1552,7 @@ Message.tests.cpp:<line number>
<testCase name="#1954 - 7 arg template test case sig compiles - 1, 1, 1, 1, 1, 0, 0" duration="{duration}"/>
<testCase name="#1954 - 7 arg template test case sig compiles - 5, 1, 1, 1, 1, 0, 0" duration="{duration}"/>
<testCase name="#1954 - 7 arg template test case sig compiles - 5, 3, 1, 1, 1, 0, 0" duration="{duration}"/>
<testCase name="#835 -- errno should not be touched by Catch" duration="{duration}">
<testCase name="#835 -- errno should not be touched by Catch2" duration="{duration}">
<skipped message="CHECK(f() == 0)">
FAILED:
CHECK( f() == 0 )
@ -1847,7 +1846,6 @@ Misc.tests.cpp:<line number>
<testCase name="tuple&lt;>" duration="{duration}"/>
<testCase name="tuple&lt;float,int>" duration="{duration}"/>
<testCase name="tuple&lt;int>" duration="{duration}"/>
<testCase name="tuple&lt;0,int,const char *>" duration="{duration}"/>
<testCase name="tuple&lt;string,string>" duration="{duration}"/>
<testCase name="tuple&lt;tuple&lt;int>,tuple&lt;>,float>" duration="{duration}"/>
</file>

View File

@ -864,7 +864,6 @@ Condition.tests.cpp:<line number>
<testCase name="comparisons between int variables" duration="{duration}"/>
</file>
<file path="tests/<exe-name>/UsageTests/Decomposition.tests.cpp">
<testCase name="#1005: Comparing pointer to int and long (NULL can be either on various systems)" duration="{duration}"/>
<testCase name="Reconstruction should be based on stringification: #914" duration="{duration}">
<failure message="CHECK(truthy(false))">
FAILED:
@ -1552,7 +1551,7 @@ Message.tests.cpp:<line number>
<testCase name="#1954 - 7 arg template test case sig compiles - 1, 1, 1, 1, 1, 0, 0" duration="{duration}"/>
<testCase name="#1954 - 7 arg template test case sig compiles - 5, 1, 1, 1, 1, 0, 0" duration="{duration}"/>
<testCase name="#1954 - 7 arg template test case sig compiles - 5, 3, 1, 1, 1, 0, 0" duration="{duration}"/>
<testCase name="#835 -- errno should not be touched by Catch" duration="{duration}">
<testCase name="#835 -- errno should not be touched by Catch2" duration="{duration}">
<skipped message="CHECK(f() == 0)">
FAILED:
CHECK( f() == 0 )
@ -1846,7 +1845,6 @@ Misc.tests.cpp:<line number>
<testCase name="tuple&lt;>" duration="{duration}"/>
<testCase name="tuple&lt;float,int>" duration="{duration}"/>
<testCase name="tuple&lt;int>" duration="{duration}"/>
<testCase name="tuple&lt;0,int,const char *>" duration="{duration}"/>
<testCase name="tuple&lt;string,string>" duration="{duration}"/>
<testCase name="tuple&lt;tuple&lt;int>,tuple&lt;>,float>" duration="{duration}"/>
</file>

View File

@ -1,9 +1,5 @@
# # A test name that starts with a #
ok {test-number} - with 1 message: 'yay'
# #1005: Comparing pointer to int and long (NULL can be either on various systems)
ok {test-number} - fptr == 0 for: 0 == 0
# #1005: Comparing pointer to int and long (NULL can be either on various systems)
ok {test-number} - fptr == 0l for: 0 == 0
# #1027: Bitfields can be captured
ok {test-number} - y.v == 0 for: 0 == 0
# #1027: Bitfields can be captured
@ -188,10 +184,10 @@ ok {test-number} - throws_int(false)
ok {test-number} - "aaa", Catch::Matchers::EndsWith("aaa") for: "aaa" ends with: "aaa"
# #833
ok {test-number} - templated_tests<int>(3) for: true
# #835 -- errno should not be touched by Catch
# #835 -- errno should not be touched by Catch2
not ok {test-number} - f() == 0 for: 1 == 0
# #835 -- errno should not be touched by Catch
ok {test-number} - errno == 1 for: 1 == 1
# #835 -- errno should not be touched by Catch2
ok {test-number} - errno_after == 1 for: 1 == 1
# #872
ok {test-number} - x == 4 for: {?} == 4 with 1 message: 'dummy := 0'
# #961 -- Dynamically created sections should all be reported
@ -4320,8 +4316,6 @@ ok {test-number} - "1.2f" == ::Catch::Detail::stringify(float(1.2)) for: "1.2f"
ok {test-number} - "{ 1.2f, 0 }" == ::Catch::Detail::stringify(type{1.2f,0}) for: "{ 1.2f, 0 }" == "{ 1.2f, 0 }"
# tuple<int>
ok {test-number} - "{ 0 }" == ::Catch::Detail::stringify(type{0}) for: "{ 0 }" == "{ 0 }"
# tuple<0,int,const char *>
ok {test-number} - "{ 0, 42, \"Catch me\" }" == ::Catch::Detail::stringify(value) for: "{ 0, 42, "Catch me" }" == "{ 0, 42, "Catch me" }"
# tuple<string,string>
ok {test-number} - "{ \"hello\", \"world\" }" == ::Catch::Detail::stringify(type{"hello","world"}) for: "{ "hello", "world" }" == "{ "hello", "world" }"
# tuple<tuple<int>,tuple<>,float>
@ -4456,5 +4450,5 @@ ok {test-number} - q3 == 23. for: 23.0 == 23.0
ok {test-number} -
# xmlentitycheck
ok {test-number} -
1..2227
1..2224

View File

@ -1,9 +1,5 @@
# # A test name that starts with a #
ok {test-number} - with 1 message: 'yay'
# #1005: Comparing pointer to int and long (NULL can be either on various systems)
ok {test-number} - fptr == 0 for: 0 == 0
# #1005: Comparing pointer to int and long (NULL can be either on various systems)
ok {test-number} - fptr == 0l for: 0 == 0
# #1027: Bitfields can be captured
ok {test-number} - y.v == 0 for: 0 == 0
# #1027: Bitfields can be captured
@ -186,10 +182,10 @@ ok {test-number} - throws_int(false)
ok {test-number} - "aaa", Catch::Matchers::EndsWith("aaa") for: "aaa" ends with: "aaa"
# #833
ok {test-number} - templated_tests<int>(3) for: true
# #835 -- errno should not be touched by Catch
# #835 -- errno should not be touched by Catch2
not ok {test-number} - f() == 0 for: 1 == 0
# #835 -- errno should not be touched by Catch
ok {test-number} - errno == 1 for: 1 == 1
# #835 -- errno should not be touched by Catch2
ok {test-number} - errno_after == 1 for: 1 == 1
# #872
ok {test-number} - x == 4 for: {?} == 4 with 1 message: 'dummy := 0'
# #961 -- Dynamically created sections should all be reported
@ -4312,8 +4308,6 @@ ok {test-number} - "1.2f" == ::Catch::Detail::stringify(float(1.2)) for: "1.2f"
ok {test-number} - "{ 1.2f, 0 }" == ::Catch::Detail::stringify(type{1.2f,0}) for: "{ 1.2f, 0 }" == "{ 1.2f, 0 }"
# tuple<int>
ok {test-number} - "{ 0 }" == ::Catch::Detail::stringify(type{0}) for: "{ 0 }" == "{ 0 }"
# tuple<0,int,const char *>
ok {test-number} - "{ 0, 42, \"Catch me\" }" == ::Catch::Detail::stringify(value) for: "{ 0, 42, "Catch me" }" == "{ 0, 42, "Catch me" }"
# tuple<string,string>
ok {test-number} - "{ \"hello\", \"world\" }" == ::Catch::Detail::stringify(type{"hello","world"}) for: "{ "hello", "world" }" == "{ "hello", "world" }"
# tuple<tuple<int>,tuple<>,float>
@ -4448,5 +4442,5 @@ ok {test-number} - q3 == 23. for: 23.0 == 23.0
ok {test-number} -
# xmlentitycheck
ok {test-number} -
1..2227
1..2224

View File

@ -1,8 +1,6 @@
##teamcity[testSuiteStarted name='<exe-name>']
##teamcity[testStarted name='# A test name that starts with a #']
##teamcity[testFinished name='# A test name that starts with a #' duration="{duration}"]
##teamcity[testStarted name='#1005: Comparing pointer to int and long (NULL can be either on various systems)']
##teamcity[testFinished name='#1005: Comparing pointer to int and long (NULL can be either on various systems)' duration="{duration}"]
##teamcity[testStarted name='#1027: Bitfields can be captured']
##teamcity[testFinished name='#1027: Bitfields can be captured' duration="{duration}"]
##teamcity[testStarted name='#1147']
@ -62,9 +60,9 @@ Exception.tests.cpp:<line number>|nunexpected exception with messages:|n "answe
##teamcity[testFinished name='#809' duration="{duration}"]
##teamcity[testStarted name='#833']
##teamcity[testFinished name='#833' duration="{duration}"]
##teamcity[testStarted name='#835 -- errno should not be touched by Catch']
##teamcity[testStarted name='#835 -- errno should not be touched by Catch2']
Misc.tests.cpp:<line number>|nexpression failed|n CHECK( f() == 0 )|nwith expansion:|n 1 == 0|n- failure ignore as test marked as |'ok to fail|'|n']
##teamcity[testFinished name='#835 -- errno should not be touched by Catch' duration="{duration}"]
##teamcity[testFinished name='#835 -- errno should not be touched by Catch2' duration="{duration}"]
##teamcity[testStarted name='#872']
##teamcity[testFinished name='#872' duration="{duration}"]
##teamcity[testStarted name='#961 -- Dynamically created sections should all be reported']
@ -898,8 +896,6 @@ Exception.tests.cpp:<line number>|nunexpected exception with message:|n "Why wo
##teamcity[testFinished name='tuple<float,int>' duration="{duration}"]
##teamcity[testStarted name='tuple<int>']
##teamcity[testFinished name='tuple<int>' duration="{duration}"]
##teamcity[testStarted name='tuple<0,int,const char *>']
##teamcity[testFinished name='tuple<0,int,const char *>' duration="{duration}"]
##teamcity[testStarted name='tuple<string,string>']
##teamcity[testFinished name='tuple<string,string>' duration="{duration}"]
##teamcity[testStarted name='tuple<tuple<int>,tuple<>,float>']

View File

@ -1,8 +1,6 @@
##teamcity[testSuiteStarted name='<exe-name>']
##teamcity[testStarted name='# A test name that starts with a #']
##teamcity[testFinished name='# A test name that starts with a #' duration="{duration}"]
##teamcity[testStarted name='#1005: Comparing pointer to int and long (NULL can be either on various systems)']
##teamcity[testFinished name='#1005: Comparing pointer to int and long (NULL can be either on various systems)' duration="{duration}"]
##teamcity[testStarted name='#1027: Bitfields can be captured']
##teamcity[testFinished name='#1027: Bitfields can be captured' duration="{duration}"]
##teamcity[testStarted name='#1147']
@ -62,9 +60,9 @@ Exception.tests.cpp:<line number>|nunexpected exception with messages:|n "answe
##teamcity[testFinished name='#809' duration="{duration}"]
##teamcity[testStarted name='#833']
##teamcity[testFinished name='#833' duration="{duration}"]
##teamcity[testStarted name='#835 -- errno should not be touched by Catch']
##teamcity[testStarted name='#835 -- errno should not be touched by Catch2']
Misc.tests.cpp:<line number>|nexpression failed|n CHECK( f() == 0 )|nwith expansion:|n 1 == 0|n- failure ignore as test marked as |'ok to fail|'|n']
##teamcity[testFinished name='#835 -- errno should not be touched by Catch' duration="{duration}"]
##teamcity[testFinished name='#835 -- errno should not be touched by Catch2' duration="{duration}"]
##teamcity[testStarted name='#872']
##teamcity[testFinished name='#872' duration="{duration}"]
##teamcity[testStarted name='#961 -- Dynamically created sections should all be reported']
@ -897,8 +895,6 @@ Exception.tests.cpp:<line number>|nunexpected exception with message:|n "Why wo
##teamcity[testFinished name='tuple<float,int>' duration="{duration}"]
##teamcity[testStarted name='tuple<int>']
##teamcity[testFinished name='tuple<int>' duration="{duration}"]
##teamcity[testStarted name='tuple<0,int,const char *>']
##teamcity[testFinished name='tuple<0,int,const char *>' duration="{duration}"]
##teamcity[testStarted name='tuple<string,string>']
##teamcity[testFinished name='tuple<string,string>' duration="{duration}"]
##teamcity[testStarted name='tuple<tuple<int>,tuple<>,float>']

View File

@ -3,25 +3,6 @@
<TestCase name="# A test name that starts with a #" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
<OverallResult success="true"/>
</TestCase>
<TestCase name="#1005: Comparing pointer to int and long (NULL can be either on various systems)" tags="[Decomposition]" filename="tests/<exe-name>/UsageTests/Decomposition.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Decomposition.tests.cpp" >
<Original>
fptr == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Decomposition.tests.cpp" >
<Original>
fptr == 0l
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="#1027: Bitfields can be captured" filename="tests/<exe-name>/UsageTests/Compilation.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Compilation.tests.cpp" >
<Original>
@ -799,7 +780,7 @@ Nor would this
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="#835 -- errno should not be touched by Catch" tags="[!shouldfail][.][failing]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
<TestCase name="#835 -- errno should not be touched by Catch2" tags="[!shouldfail][.][failing]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
<Expression success="false" type="CHECK" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
<Original>
f() == 0
@ -810,7 +791,7 @@ Nor would this
</Expression>
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
<Original>
errno == 1
errno_after == 1
</Original>
<Expanded>
1 == 1
@ -20267,19 +20248,6 @@ loose text artifact
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="tuple&lt;0,int,const char *>" tags="[toString][tuple]" filename="tests/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
<Expression success="true" type="CHECK" filename="tests/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
<Original>
"{ 0, 42, \"Catch me\" }" == ::Catch::Detail::stringify(value)
</Original>
<Expanded>
"{ 0, 42, "Catch me" }"
==
"{ 0, 42, "Catch me" }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="tuple&lt;string,string>" tags="[toString][tuple]" filename="tests/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
<Expression success="true" type="CHECK" filename="tests/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
<Original>
@ -20895,6 +20863,6 @@ loose text artifact
</Section>
<OverallResult success="true"/>
</TestCase>
<OverallResults successes="2057" failures="143" expectedFailures="27"/>
<OverallResultsCases successes="293" failures="83" expectedFailures="7"/>
<OverallResults successes="2054" failures="143" expectedFailures="27"/>
<OverallResultsCases successes="291" failures="83" expectedFailures="7"/>
</Catch2TestRun>

View File

@ -3,25 +3,6 @@
<TestCase name="# A test name that starts with a #" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
<OverallResult success="true"/>
</TestCase>
<TestCase name="#1005: Comparing pointer to int and long (NULL can be either on various systems)" tags="[Decomposition]" filename="tests/<exe-name>/UsageTests/Decomposition.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Decomposition.tests.cpp" >
<Original>
fptr == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Decomposition.tests.cpp" >
<Original>
fptr == 0l
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="#1027: Bitfields can be captured" filename="tests/<exe-name>/UsageTests/Compilation.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Compilation.tests.cpp" >
<Original>
@ -799,7 +780,7 @@ Nor would this
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="#835 -- errno should not be touched by Catch" tags="[!shouldfail][.][failing]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
<TestCase name="#835 -- errno should not be touched by Catch2" tags="[!shouldfail][.][failing]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
<Expression success="false" type="CHECK" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
<Original>
f() == 0
@ -810,7 +791,7 @@ Nor would this
</Expression>
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
<Original>
errno == 1
errno_after == 1
</Original>
<Expanded>
1 == 1
@ -20266,19 +20247,6 @@ There is no extra whitespace here
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="tuple&lt;0,int,const char *>" tags="[toString][tuple]" filename="tests/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
<Expression success="true" type="CHECK" filename="tests/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
<Original>
"{ 0, 42, \"Catch me\" }" == ::Catch::Detail::stringify(value)
</Original>
<Expanded>
"{ 0, 42, "Catch me" }"
==
"{ 0, 42, "Catch me" }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="tuple&lt;string,string>" tags="[toString][tuple]" filename="tests/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
<Expression success="true" type="CHECK" filename="tests/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
<Original>
@ -20894,6 +20862,6 @@ There is no extra whitespace here
</Section>
<OverallResult success="true"/>
</TestCase>
<OverallResults successes="2057" failures="143" expectedFailures="27"/>
<OverallResultsCases successes="293" failures="83" expectedFailures="7"/>
<OverallResults successes="2054" failures="143" expectedFailures="27"/>
<OverallResultsCases successes="291" failures="83" expectedFailures="7"/>
</Catch2TestRun>

View File

@ -29,7 +29,7 @@ TEST_CASE( "Reconstruction should be based on stringification: #914" , "[Decompo
CHECK(truthy(false));
}
TEST_CASE("#1005: Comparing pointer to int and long (NULL can be either on various systems)", "[Decomposition]") {
TEST_CASE("#1005: Comparing pointer to int and long (NULL can be either on various systems)", "[Decomposition][approvals]") {
FILE* fptr = nullptr;
REQUIRE(fptr == 0);
REQUIRE(fptr == 0l);

View File

@ -472,10 +472,15 @@ TEST_CASE( "# A test name that starts with a #" ) {
SUCCEED( "yay" );
}
TEST_CASE( "#835 -- errno should not be touched by Catch", "[.][failing][!shouldfail]" ) {
TEST_CASE( "#835 -- errno should not be touched by Catch2", "[.][failing][!shouldfail]" ) {
errno = 1;
// Check that reporting failed test doesn't change errno.
CHECK(f() == 0);
REQUIRE(errno == 1); // Check that f() doesn't touch errno.
// We want to avoid expanding `errno` macro in assertion, because
// we capture the expression after macro expansion, and would have
// to normalize the ways different platforms spell `errno`.
const auto errno_after = errno;
REQUIRE(errno_after == 1);
}
TEST_CASE( "#961 -- Dynamically created sections should all be reported", "[.]" ) {

View File

@ -38,8 +38,7 @@ TEST_CASE( "tuple<tuple<int>,tuple<>,float>", "[toString][tuple]" )
CHECK( "{ { 42 }, { }, 1.2f }" == ::Catch::Detail::stringify(value) );
}
TEST_CASE( "tuple<nullptr,int,const char *>", "[toString][tuple]" )
{
TEST_CASE( "tuple<nullptr,int,const char *>", "[approvals][toString][tuple]" ) {
typedef std::tuple<std::nullptr_t,int,const char *> type;
type value { nullptr, 42, "Catch me" };
CHECK( "{ nullptr, 42, \"Catch me\" }" == ::Catch::Detail::stringify(value) );

View File

@ -28,7 +28,6 @@ filelocParser = re.compile(r'''
''', re.VERBOSE)
lineNumberParser = re.compile(r' line="[0-9]*"')
hexParser = re.compile(r'\b(0[xX][0-9a-fA-F]+)\b')
durationsParser = re.compile(r' time="[0-9]*\.[0-9]*"')
# Note: junit must serialize time with 3 (or or less) decimal places
# before generalizing this parser, make sure that this is checked
# in other places too.
@ -39,40 +38,14 @@ versionParser = re.compile(r'Catch2 v[0-9]+\.[0-9]+\.[0-9]+(-\w*\.[0-9]+)?')
nullParser = re.compile(r'\b(__null|nullptr)\b')
exeNameParser = re.compile(r'''
\b
(CatchSelfTest|SelfTest) # Expected executable name
SelfTest # Expected executable name
(?:.exe)? # Executable name contains .exe on Windows.
\b
''', re.VERBOSE)
# This is a hack until something more reasonable is figured out
specialCaseParser = re.compile(r'file\((\d+)\)')
# errno macro expands into various names depending on platform, so we need to fix them up as well
errnoParser = re.compile(r'''
\(\*__errno_location\s*\(\)\)
|
\(\*__error\(\)\)
|
\(\*_errno\(\)\)
''', re.VERBOSE)
sinceEpochParser = re.compile(r'\d+ .+ since epoch')
infParser = re.compile(r'''
\(\(float\)\(1e\+300\ \*\ 1e\+300\)\) # MSVC INFINITY macro
|
\(__builtin_inff\(\)\) # Linux (ubuntu) INFINITY macro
|
\(__builtin_inff\ \(\)\) # Fedora INFINITY macro
|
__builtin_huge_valf\(\) # OSX macro
''', re.VERBOSE)
nanParser = re.compile(r'''
\(\(float\)\(\(\(float\)\(1e\+300\ \*\ 1e\+300\)\)\ \*\ 0\.0F\)\) # MSVC NAN macro
|
\(\(float\)\(INFINITY\ \*\ 0\.0F\)\) # Yet another MSVC NAN macro
|
\(__builtin_nanf\ \(""\)\) # Linux (ubuntu) NAN macro
|
__builtin_nanf\("0x<hex\ digits>"\) # The weird content of the brackets is there because a different parser has already ran before this one
''', re.VERBOSE)
# The weird OR is there to always have at least empty string for group 1
tapTestNumParser = re.compile(r'^((?:not ok)|(?:ok)|(?:warning)|(?:info)) (\d+) -')
@ -157,10 +130,7 @@ def filterLine(line, isCompact):
line = durationParser.sub(' duration="{duration}"', line)
line = timestampsParser.sub('{iso8601-timestamp}', line)
line = specialCaseParser.sub('file:\g<1>', line)
line = errnoParser.sub('errno', line)
line = sinceEpochParser.sub('{since-epoch-report}', line)
line = infParser.sub('INFINITY', line)
line = nanParser.sub('NAN', line)
return line