mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-26 07:16:10 +01:00
Only report test case once for all sections within it
This commit is contained in:
parent
6a6b346731
commit
455c2998a0
@ -187,16 +187,26 @@ namespace Catch
|
||||
const TestCaseInfo& testInfo
|
||||
)
|
||||
{
|
||||
std::size_t prevSuccessCount = m_successes;
|
||||
std::size_t prevFailureCount = m_failures;
|
||||
|
||||
std::string redirectedCout;
|
||||
std::string redirectedCerr;
|
||||
|
||||
m_reporter->StartTestCase( testInfo );
|
||||
|
||||
m_runningTest = RunningTest( &testInfo );
|
||||
|
||||
do
|
||||
{
|
||||
m_runningTest.resetSectionSeen();
|
||||
runCurrentTest();
|
||||
runCurrentTest( redirectedCout, redirectedCerr );
|
||||
}
|
||||
while( m_runningTest.wasSectionSeen() );
|
||||
|
||||
m_runningTest = RunningTest();
|
||||
|
||||
m_reporter->EndTestCase( testInfo, m_successes - prevSuccessCount, m_failures - prevFailureCount, redirectedCout, redirectedCerr );
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
@ -352,16 +362,11 @@ namespace Catch
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
void runCurrentTest
|
||||
()
|
||||
(
|
||||
std::string& redirectedCout,
|
||||
std::string& redirectedCerr
|
||||
)
|
||||
{
|
||||
std::size_t prevSuccessCount = m_successes;
|
||||
std::size_t prevFailureCount = m_failures;
|
||||
|
||||
m_reporter->StartTestCase( m_runningTest.getTestCaseInfo() );
|
||||
|
||||
std::string redirectedCout;
|
||||
std::string redirectedCerr;
|
||||
|
||||
try
|
||||
{
|
||||
StreamRedirect coutRedir( std::cout, redirectedCout );
|
||||
@ -383,7 +388,6 @@ namespace Catch
|
||||
acceptResult( ResultWas::ThrewException );
|
||||
}
|
||||
m_info.clear();
|
||||
m_reporter->EndTestCase( m_runningTest.getTestCaseInfo(), m_successes - prevSuccessCount, m_failures - prevFailureCount, redirectedCout, redirectedCerr );
|
||||
}
|
||||
|
||||
private:
|
||||
|
Loading…
Reference in New Issue
Block a user