Pass totals around instead of individual success/ fail counts

This commit is contained in:
Phil Nash
2012-02-24 08:59:35 +00:00
parent 9bbaeba3ae
commit edd8f02bec
7 changed files with 58 additions and 56 deletions

View File

@@ -14,6 +14,7 @@
#define TWOBLUECUBES_CATCH_IREPORTERREGISTRY_INCLUDED
#include "catch_common.h"
#include "catch_totals.hpp"
#include <string>
#include <ostream>
@@ -54,8 +55,7 @@ namespace Catch
() = 0;
virtual void EndTesting
( std::size_t succeeded,
std::size_t failed
( const Totals& totals
) = 0;
virtual void StartGroup
@@ -64,8 +64,7 @@ namespace Catch
virtual void EndGroup
( const std::string& groupName,
std::size_t succeeded,
std::size_t failed
const Totals& totals
) = 0;
virtual void StartSection
@@ -75,8 +74,7 @@ namespace Catch
virtual void EndSection
( const std::string& sectionName,
std::size_t succeeded,
std::size_t failed
const Counts& assertions
) = 0;
virtual void StartTestCase
@@ -85,8 +83,7 @@ namespace Catch
virtual void EndTestCase
( const TestCaseInfo& testInfo,
std::size_t succeeded,
std::size_t failed,
const Totals& totals,
const std::string& stdOut,
const std::string& stdErr
) = 0;

View File

@@ -317,7 +317,7 @@ namespace Catch
~Runner
()
{
m_reporter->EndTesting( m_totals.assertions.passed, m_totals.assertions.failed );
m_reporter->EndTesting( m_totals );
Hub::setRunner( m_prevRunner );
Hub::setResultCapture( m_prevResultCapture );
}
@@ -387,7 +387,7 @@ namespace Catch
delete m_runningTest;
m_runningTest = NULL;
m_reporter->EndTestCase( testInfo, m_totals.assertions.passed - prevTotals.assertions.passed, m_totals.assertions.failed - prevTotals.assertions.failed, redirectedCout, redirectedCerr );
m_reporter->EndTestCase( testInfo, m_totals - prevTotals, redirectedCout, redirectedCerr );
}
///////////////////////////////////////////////////////////////////////////
@@ -496,7 +496,7 @@ namespace Catch
)
{
m_runningTest->endSection( name );
m_reporter->EndSection( name, m_totals.assertions.passed - prevAssertions.passed, m_totals.assertions.failed - prevAssertions.failed );
m_reporter->EndSection( name, m_totals.assertions - prevAssertions );
}
///////////////////////////////////////////////////////////////////////////

View File

@@ -30,6 +30,10 @@ namespace Catch
return diff;
}
std::size_t total() const
{
return passed + failed;
}
std::size_t passed;
std::size_t failed;
};