Added FAIL_CHECK

Works like FAIL, but does not abort test.
As proposed in #765
This commit is contained in:
Phil Nash
2017-03-08 15:40:20 +00:00
parent a2515755c3
commit 5dd0639520
8 changed files with 84 additions and 23 deletions

View File

@@ -287,6 +287,20 @@ MessageTests.cpp:<line number>
MessageTests.cpp:<line number>: FAILED:
-------------------------------------------------------------------------------
FAIL_CHECK does not abort the test
-------------------------------------------------------------------------------
MessageTests.cpp:<line number>
...............................................................................
MessageTests.cpp:<line number>: FAILED:
explicitly with message:
This is a failure
MessageTests.cpp:<line number>:
warning:
This message appears in the output
-------------------------------------------------------------------------------
INFO and WARN do not abort tests
-------------------------------------------------------------------------------
@@ -901,6 +915,6 @@ with expansion:
"first" == "second"
===============================================================================
test cases: 165 | 119 passed | 44 failed | 2 failed as expected
assertions: 957 | 852 passed | 87 failed | 18 failed as expected
test cases: 166 | 119 passed | 44 failed | 3 failed as expected
assertions: 958 | 852 passed | 87 failed | 19 failed as expected

View File

@@ -61,7 +61,7 @@ with expansion:
MiscTests.cpp:<line number>:
PASSED:
REQUIRE( (*__errno_location ()) == 1 )
REQUIRE( (*__error()) == 1 )
with expansion:
1 == 1
@@ -1216,6 +1216,20 @@ MessageTests.cpp:<line number>
MessageTests.cpp:<line number>: FAILED:
-------------------------------------------------------------------------------
FAIL_CHECK does not abort the test
-------------------------------------------------------------------------------
MessageTests.cpp:<line number>
...............................................................................
MessageTests.cpp:<line number>: FAILED:
explicitly with message:
This is a failure
MessageTests.cpp:<line number>:
warning:
This message appears in the output
-------------------------------------------------------------------------------
Factorials are computed
-------------------------------------------------------------------------------
@@ -9367,6 +9381,6 @@ MiscTests.cpp:<line number>:
PASSED:
===============================================================================
test cases: 165 | 118 passed | 45 failed | 2 failed as expected
assertions: 959 | 852 passed | 89 failed | 18 failed as expected
test cases: 166 | 118 passed | 45 failed | 3 failed as expected
assertions: 960 | 852 passed | 89 failed | 19 failed as expected

View File

@@ -61,7 +61,7 @@ with expansion:
MiscTests.cpp:<line number>:
PASSED:
REQUIRE( (*__errno_location ()) == 1 )
REQUIRE( (*__error()) == 1 )
with expansion:
1 == 1
@@ -82,7 +82,10 @@ ConditionTests.cpp:<line number>: FAILED:
with expansion:
false
===============================================================================
test cases: 5 | 3 passed | 2 failed
assertions: 11 | 7 passed | 4 failed
ConditionTests.cpp:<line number>: FAILED:
CHECK_FALSE( true )
===============================================================================
test cases: 5 | 3 passed | 1 failed | 1 failed as expected
assertions: 12 | 7 passed | 4 failed | 1 failed as expected

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<testsuitesspanner>
<testsuite name="<exe-name>" errors="13" failures="77" tests="960" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}">
<testsuite name="<exe-name>" errors="13" failures="77" tests="961" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}">
<testcase classname="global" name="# A test name that starts with a #" time="{duration}"/>
<testcase classname="global" name="#542" time="{duration}"/>
<testcase classname="global" name="#809" time="{duration}"/>
@@ -199,6 +199,12 @@ MessageTests.cpp:<line number>
</testcase>
<testcase classname="global" name="FAIL does not require an argument" time="{duration}">
<failure type="FAIL">
MessageTests.cpp:<line number>
</failure>
</testcase>
<testcase classname="global" name="FAIL_CHECK does not abort the test" time="{duration}">
<failure type="FAIL_CHECK">
This is a failure
MessageTests.cpp:<line number>
</failure>
</testcase>

View File

@@ -50,7 +50,7 @@
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="#835 -- errno should not be touched by Catch" filename="projects/<exe-name>/MiscTests.cpp" >
<TestCase name="#835 -- errno should not be touched by Catch" tags="[!shouldfail]" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="false" type="CHECK" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
f() == 0
@@ -61,13 +61,13 @@
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
(*__errno_location ()) == 1
(*__error()) == 1
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<OverallResult success="false"/>
<OverallResult success="true"/>
</TestCase>
<TestCase name="'Not' checks that should fail" tags="[.][failing][hide]" filename="projects/<exe-name>/ConditionTests.cpp" >
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
@@ -1378,6 +1378,15 @@
<Failure filename="projects/<exe-name>/MessageTests.cpp" />
<OverallResult success="false"/>
</TestCase>
<TestCase name="FAIL_CHECK does not abort the test" tags="[.][failing][hide][messages]" filename="projects/<exe-name>/MessageTests.cpp" >
<Failure filename="projects/<exe-name>/MessageTests.cpp" >
This is a failure
</Failure>
<Warning>
This message appears in the output
</Warning>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Factorials are computed" tags="[factorial]" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
@@ -10007,7 +10016,7 @@ spanner <OverallResult success="true"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<OverallResults successes="852" failures="90" expectedFailures="18"/>
<OverallResults successes="852" failures="90" expectedFailures="19"/>
</Group>
<OverallResults successes="852" failures="89" expectedFailures="18"/>
<OverallResults successes="852" failures="89" expectedFailures="19"/>
</Catch>