mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-08 23:29:53 +01:00
Added a delta method to Totals that tracks new passed/ failures
This fixes issue with test group results
This commit is contained in:
parent
9fa9d4279c
commit
ab4b36862d
@ -111,7 +111,7 @@ namespace Catch {
|
|||||||
m_reporter->StartGroup( "test case run" );
|
m_reporter->StartGroup( "test case run" );
|
||||||
m_currentResult.setLineInfo( m_runningTest->getTestCaseInfo().getLineInfo() );
|
m_currentResult.setLineInfo( m_runningTest->getTestCaseInfo().getLineInfo() );
|
||||||
runCurrentTest( redirectedCout, redirectedCerr );
|
runCurrentTest( redirectedCout, redirectedCerr );
|
||||||
m_reporter->EndGroup( "test case run", m_totals - prevTotals );
|
m_reporter->EndGroup( "test case run", m_totals.delta( prevTotals ) );
|
||||||
}
|
}
|
||||||
while( m_runningTest->hasUntestedSections() );
|
while( m_runningTest->hasUntestedSections() );
|
||||||
}
|
}
|
||||||
@ -120,12 +120,9 @@ namespace Catch {
|
|||||||
delete m_runningTest;
|
delete m_runningTest;
|
||||||
m_runningTest = NULL;
|
m_runningTest = NULL;
|
||||||
|
|
||||||
if( m_totals.assertions.failed > prevTotals.assertions.failed )
|
Totals deltaTotals = m_totals.delta( prevTotals );
|
||||||
++m_totals.testCases.failed;
|
m_totals.testCases += deltaTotals.testCases;
|
||||||
else
|
m_reporter->EndTestCase( testInfo, deltaTotals, redirectedCout, redirectedCerr );
|
||||||
++m_totals.testCases.passed;
|
|
||||||
|
|
||||||
m_reporter->EndTestCase( testInfo, m_totals - prevTotals, redirectedCout, redirectedCerr );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual Totals getTotals() const {
|
virtual Totals getTotals() const {
|
||||||
|
@ -19,6 +19,11 @@ namespace Catch {
|
|||||||
diff.failed = failed - other.failed;
|
diff.failed = failed - other.failed;
|
||||||
return diff;
|
return diff;
|
||||||
}
|
}
|
||||||
|
Counts& operator += ( const Counts& other ) {
|
||||||
|
passed += other.passed;
|
||||||
|
failed += other.failed;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
std::size_t total() const {
|
std::size_t total() const {
|
||||||
return passed + failed;
|
return passed + failed;
|
||||||
@ -37,6 +42,15 @@ namespace Catch {
|
|||||||
return diff;
|
return diff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Totals delta( const Totals& prevTotals ) const {
|
||||||
|
Totals diff = *this - prevTotals;
|
||||||
|
if( diff.assertions.failed > 0 )
|
||||||
|
++diff.testCases.failed;
|
||||||
|
else
|
||||||
|
++diff.testCases.passed;
|
||||||
|
return diff;
|
||||||
|
}
|
||||||
|
|
||||||
Counts assertions;
|
Counts assertions;
|
||||||
Counts testCases;
|
Counts testCases;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user