mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 04:07:10 +01:00 
			
		
		
		
	Refactored internal interfaces to use Totals instead of success/ fail
This commit is contained in:
		| @@ -43,16 +43,16 @@ TEST_CASE( "selftest/main", "Runs all Catch self tests and checks their results" | ||||
|                     "Number of 'succeeding' tests is fixed" ) | ||||
|         { | ||||
|             runner.runMatching( "./succeeding/*" ); | ||||
|             CHECK( runner.getSuccessCount() == 267 ); | ||||
|             CHECK( runner.getFailureCount() == 0 ); | ||||
|             CHECK( runner.getTotals().assertions.passed == 267 ); | ||||
|             CHECK( runner.getTotals().assertions.failed == 0 ); | ||||
|         } | ||||
|  | ||||
|         SECTION(    "selftest/test counts/failing tests",  | ||||
|                     "Number of 'failing' tests is fixed" ) | ||||
|         { | ||||
|             runner.runMatching( "./failing/*" );         | ||||
|             CHECK( runner.getSuccessCount() == 0 ); | ||||
|             CHECK( runner.getFailureCount() == 68 ); | ||||
|             CHECK( runner.getTotals().assertions.passed == 0 ); | ||||
|             CHECK( runner.getTotals().assertions.failed == 68 ); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -62,7 +62,7 @@ TEST_CASE( "meta/Misc/Sections", "looped tests" ) | ||||
|     Catch::EmbeddedRunner runner; | ||||
|      | ||||
|     runner.runMatching( "./mixed/Misc/Sections/nested2" ); | ||||
|     CHECK( runner.getSuccessCount() == 2 ); | ||||
|     CHECK( runner.getFailureCount() == 1 ); | ||||
|     CHECK( runner.getTotals().assertions.passed == 2 ); | ||||
|     CHECK( runner.getTotals().assertions.failed == 1 ); | ||||
|      | ||||
| } | ||||
|   | ||||
| @@ -18,8 +18,8 @@ namespace Catch | ||||
|     /////////////////////////////////////////////////////////////////////////// | ||||
|     std::size_t EmbeddedRunner::runMatching | ||||
|     ( | ||||
|      const std::string& rawTestSpec | ||||
|      ) | ||||
|         const std::string& rawTestSpec | ||||
|     ) | ||||
|     { | ||||
|         std::ostringstream oss; | ||||
|         Config config; | ||||
| @@ -32,8 +32,7 @@ namespace Catch | ||||
|         { | ||||
|             Runner runner( config ); | ||||
|             result = runner.runMatching( rawTestSpec ); | ||||
|             m_successes = runner.getSuccessCount(); | ||||
|             m_failures = runner.getFailureCount(); | ||||
|             m_totals = runner.getTotals(); | ||||
|         } | ||||
|         m_output = oss.str(); | ||||
|         return result; | ||||
|   | ||||
| @@ -36,24 +36,15 @@ namespace Catch | ||||
|         } | ||||
|          | ||||
|         /////////////////////////////////////////////////////////////////////////// | ||||
|         std::size_t getSuccessCount | ||||
|         const Totals& getTotals | ||||
|         () | ||||
|         const | ||||
|         { | ||||
|             return m_successes; | ||||
|             return m_totals; | ||||
|         } | ||||
|          | ||||
|         /////////////////////////////////////////////////////////////////////////// | ||||
|         std:: size_t getFailureCount | ||||
|         () | ||||
|         const | ||||
|         { | ||||
|             return m_failures; | ||||
|         } | ||||
|  | ||||
|     private: | ||||
|         std::size_t m_successes; | ||||
|         std::size_t m_failures; | ||||
|         Totals m_totals; | ||||
|         std::string m_output; | ||||
|     }; | ||||
|  | ||||
| @@ -97,26 +88,27 @@ namespace Catch | ||||
|         { | ||||
|             EmbeddedRunner runner; | ||||
|             runner.runMatching( testCase.getName() ); | ||||
|             Totals totals = runner.getTotals(); | ||||
|             switch( m_expectedResult ) | ||||
|             { | ||||
|                 case Expected::ToSucceed: | ||||
|                     if( runner.getFailureCount() > 0 ) | ||||
|                     if( totals.assertions.failed > 0 ) | ||||
|                     { | ||||
|                         INFO( runner.getOutput() ); | ||||
|                         FAIL( "Expected test case '"  | ||||
|                              << testCase.getName()  | ||||
|                              << "' to succeed but there was/ were "  | ||||
|                              << runner.getFailureCount() << " failure(s)" ); | ||||
|                              << totals.assertions.failed << " failure(s)" ); | ||||
|                     } | ||||
|                     break; | ||||
|                 case Expected::ToFail: | ||||
|                     if( runner.getSuccessCount() > 0 ) | ||||
|                     if( totals.assertions.passed > 0 ) | ||||
|                     { | ||||
|                         INFO( runner.getOutput() ); | ||||
|                         FAIL( "Expected test case '"  | ||||
|                              << testCase.getName()  | ||||
|                              << "' to fail but there was/ were "  | ||||
|                              << runner.getSuccessCount() << " success(es)" ); | ||||
|                              << totals.assertions.passed << " success(es)" ); | ||||
|                     } | ||||
|                     break; | ||||
|             }         | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Phil Nash
					Phil Nash