mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 20:27:11 +01:00 
			
		
		
		
	Fixed line/no regression for SECTIONs
Unexpected exceptions within a section now get the SECTION's line no. again (instead of TEST_CASE line/no)
This commit is contained in:
		| @@ -174,13 +174,11 @@ namespace Catch { | ||||
|             oss << name << "@" << lineInfo; | ||||
|  | ||||
|  | ||||
|             m_assertionInfoStack.push_back( m_lastAssertionInfo ); | ||||
|             m_lastAssertionInfo = AssertionInfo( "SECTION", lineInfo ); | ||||
|  | ||||
|  | ||||
|             if( !m_runningTest->addSection( oss.str() ) ) | ||||
|                 return false; | ||||
|  | ||||
|             m_lastAssertionInfo.lineInfo = lineInfo; | ||||
|  | ||||
|             m_reporter->StartSection( name, description ); | ||||
|             assertions = m_totals.assertions; | ||||
|              | ||||
| @@ -198,8 +196,6 @@ namespace Catch { | ||||
|             } | ||||
|             m_runningTest->endSection( name ); | ||||
|             m_reporter->EndSection( name, assertions ); | ||||
|             m_lastAssertionInfo = m_assertionInfoStack.back(); | ||||
|             m_assertionInfoStack.pop_back(); | ||||
|         } | ||||
|  | ||||
|         virtual void pushScopedInfo( ScopedInfo* scopedInfo ) { | ||||
| @@ -296,7 +292,6 @@ namespace Catch { | ||||
|         IResultCapture* m_prevResultCapture; | ||||
|         const IConfig* m_prevConfig; | ||||
|         AssertionInfo m_lastAssertionInfo; | ||||
|         std::vector<AssertionInfo> m_assertionInfoStack; | ||||
|     }; | ||||
|      | ||||
| } // end namespace Catch | ||||
|   | ||||
| @@ -151,7 +151,7 @@ TEST_CASE( "./succeeding/exceptions/error messages", "The error messages produce | ||||
|         INFO( runner.getLog() ); | ||||
| //        CHECK( runner.getLog().find( "Unexpected exception" ) != std::string::npos ); // Mock reporter doesn't say this | ||||
|         CHECK_THAT( runner.getLog(), Contains( "Exception from section" ) ); | ||||
| //        CHECK( runner.getLog().find( CATCH_GET_LINE_INFO( "the section2" ) ) != std::string::npos ); // Mock reporter doesn't say this | ||||
|         CHECK_THAT( runner.getLog(), Contains( CATCH_GET_LINE_INFO( "the section2" ) ) ); | ||||
|     } | ||||
|      | ||||
| } | ||||
|   | ||||
| @@ -37,7 +37,7 @@ TEST_CASE( "selftest/main", "Runs all Catch self tests and checks their results" | ||||
|         SECTION(    "selftest/test counts/succeeding tests",  | ||||
|                     "Number of 'succeeding' tests is fixed" ) { | ||||
|             Totals totals = runner.runMatching( "./succeeding/*" ); | ||||
|             CHECK( totals.assertions.passed == 288 ); | ||||
|             CHECK( totals.assertions.passed == 289 ); | ||||
|             CHECK( totals.assertions.failed == 0 ); | ||||
|         } | ||||
|  | ||||
|   | ||||
| @@ -34,6 +34,8 @@ namespace Catch{ | ||||
|     void MockReporter::Result( const AssertionResult& assertionResult ) { | ||||
|         if( assertionResult.getResultType() == ResultWas::Ok ) | ||||
|             return; | ||||
|  | ||||
|         m_log << assertionResult.getSourceInfo() << " "; | ||||
|          | ||||
|         switch( assertionResult.getResultType() ) {           | ||||
|             case ResultWas::Info: | ||||
|   | ||||
| @@ -551,11 +551,7 @@ | ||||
| 			buildSettings = { | ||||
| 				CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES; | ||||
| 				CLANG_WARN__DUPLICATE_METHOD_MATCH = NO; | ||||
| 				GCC_PREPROCESSOR_DEFINITIONS = CATCH_CONFIG_USE_ANSI_COLOUR_CODES; | ||||
| 				"GCC_PREPROCESSOR_DEFINITIONS[arch=*]" = ( | ||||
| 					CATCH_CONFIG_USE_ANSI_COLOUR_CODES, | ||||
| 					"DEBUG=1", | ||||
| 				); | ||||
| 				GCC_PREPROCESSOR_DEFINITIONS = ""; | ||||
| 				PRODUCT_NAME = "$(TARGET_NAME)"; | ||||
| 				WARNING_CFLAGS = ( | ||||
| 					"-Weverything", | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Phil Nash
					Phil Nash