mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 04:07:10 +01:00 
			
		
		
		
	Added FAIL_CHECK
Works like FAIL, but does not abort test. As proposed in #765
This commit is contained in:
		| @@ -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 | ||||
|  | ||||
|   | ||||
| @@ -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 | ||||
|  | ||||
|   | ||||
| @@ -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 | ||||
|  | ||||
|   | ||||
| @@ -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> | ||||
|   | ||||
| @@ -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> | ||||
|   | ||||
| @@ -53,6 +53,13 @@ TEST_CASE( "INFO gets logged on failure, even if captured before successful asse | ||||
| TEST_CASE( "FAIL aborts the test", "[failing][messages][.]" ) | ||||
| { | ||||
|     FAIL( "This is a " << "failure" );    // This should output the message and abort | ||||
|     WARN( "We should never see this"); | ||||
| } | ||||
|  | ||||
| TEST_CASE( "FAIL_CHECK does not abort the test", "[failing][messages][.]" ) | ||||
| { | ||||
|     FAIL_CHECK( "This is a " << "failure" );    // This should output the message then continue | ||||
|     WARN( "This message appears in the output"); | ||||
| } | ||||
|  | ||||
| #ifdef CATCH_CONFIG_VARIADIC_MACROS | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Phil Nash
					Phil Nash