mirror of
https://github.com/catchorg/Catch2.git
synced 2025-08-01 12:55:40 +02: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