mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 04:07:10 +01:00 
			
		
		
		
	Tweaked how failedButOk assertions are recorded
- fixes issue where sections in !shouldfail or !mayfail test cases that have failing assertions where marked as failed instead of failedButOk
This commit is contained in:
		| @@ -112,7 +112,10 @@ namespace Catch { | ||||
|         if (result.getResultType() == ResultWas::Ok) { | ||||
|             m_totals.assertions.passed++; | ||||
|         } else if (!result.isOk()) { | ||||
|             m_totals.assertions.failed++; | ||||
|             if( m_activeTestCase->getTestCaseInfo().okToFail() ) | ||||
|                 m_totals.assertions.failedButOk++; | ||||
|             else | ||||
|                 m_totals.assertions.failed++; | ||||
|         } | ||||
|  | ||||
|         // We have no use for the return value (whether messages should be cleared), because messages were made scoped | ||||
| @@ -297,13 +300,6 @@ namespace Catch { | ||||
|  | ||||
|         Counts assertions = m_totals.assertions - prevAssertions; | ||||
|         bool missingAssertions = testForMissingAssertions(assertions); | ||||
|  | ||||
|         if (testCaseInfo.okToFail()) { | ||||
|             std::swap(assertions.failedButOk, assertions.failed); | ||||
|             m_totals.assertions.failed -= assertions.failedButOk; | ||||
|             m_totals.assertions.failedButOk += assertions.failedButOk; | ||||
|         } | ||||
|  | ||||
|         SectionStats testCaseSectionStats(testCaseSection, assertions, duration, missingAssertions); | ||||
|         m_reporter->sectionEnded(testCaseSectionStats); | ||||
|     } | ||||
|   | ||||
| @@ -12,7 +12,7 @@ | ||||
|         <Exception filename="projects/<exe-name>/ExceptionTests.cpp" > | ||||
|           expected exception | ||||
|         </Exception> | ||||
|         <OverallResults successes="0" failures="1" expectedFailures="0"/> | ||||
|         <OverallResults successes="0" failures="0" expectedFailures="1"/> | ||||
|       </Section> | ||||
|       <Section name="inside REQUIRE_NOTHROW" filename="projects/<exe-name>/ExceptionTests.cpp" > | ||||
|         <Info> | ||||
| @@ -29,7 +29,7 @@ | ||||
|             expected exception | ||||
|           </Exception> | ||||
|         </Expression> | ||||
|         <OverallResults successes="0" failures="1" expectedFailures="0"/> | ||||
|         <OverallResults successes="0" failures="0" expectedFailures="1"/> | ||||
|       </Section> | ||||
|       <Section name="inside REQUIRE_THROWS" filename="projects/<exe-name>/ExceptionTests.cpp" > | ||||
|         <Info> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Phil Nash
					Phil Nash