Blame src/cppunit/TestResultCollector.cpp

Packit 8c9aa0
#include <cppunit/TestFailure.h>
Packit 8c9aa0
#include <cppunit/TestResultCollector.h>
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
CPPUNIT_NS_BEGIN
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
TestResultCollector::TestResultCollector( SynchronizationObject *syncObject )
Packit 8c9aa0
    : TestSuccessListener( syncObject )
Packit 8c9aa0
    , m_tests()
Packit 8c9aa0
    , m_failures()
Packit 8c9aa0
    , m_testErrors(0)
Packit 8c9aa0
{
Packit 8c9aa0
  reset();
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
TestResultCollector::~TestResultCollector()
Packit 8c9aa0
{
Packit 8c9aa0
  freeFailures();
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollector::freeFailures()
Packit 8c9aa0
{
Packit 8c9aa0
  TestFailures::iterator itFailure = m_failures.begin();
Packit 8c9aa0
  while ( itFailure != m_failures.end() )
Packit 8c9aa0
    delete *itFailure++;
Packit 8c9aa0
  m_failures.clear();
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollector::reset()
Packit 8c9aa0
{
Packit 8c9aa0
  TestSuccessListener::reset();
Packit 8c9aa0
Packit 8c9aa0
  ExclusiveZone zone( m_syncObject ); 
Packit 8c9aa0
  freeFailures();
Packit 8c9aa0
  m_testErrors = 0;
Packit 8c9aa0
  m_tests.clear();
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollector::startTest( Test *test )
Packit 8c9aa0
{
Packit 8c9aa0
  ExclusiveZone zone (m_syncObject); 
Packit 8c9aa0
  m_tests.push_back( test );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollector::addFailure( const TestFailure &failure )
Packit 8c9aa0
{
Packit 8c9aa0
  TestSuccessListener::addFailure( failure );
Packit 8c9aa0
Packit 8c9aa0
  ExclusiveZone zone( m_syncObject ); 
Packit 8c9aa0
  if ( failure.isError() )
Packit 8c9aa0
    ++m_testErrors;
Packit 8c9aa0
  m_failures.push_back( failure.clone() );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
/// Gets the number of run tests.
Packit 8c9aa0
int 
Packit 8c9aa0
TestResultCollector::runTests() const
Packit 8c9aa0
{ 
Packit 8c9aa0
  ExclusiveZone zone( m_syncObject ); 
Packit 8c9aa0
  return m_tests.size(); 
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
/// Gets the number of detected errors (uncaught exception).
Packit 8c9aa0
int 
Packit 8c9aa0
TestResultCollector::testErrors() const
Packit 8c9aa0
{ 
Packit 8c9aa0
  ExclusiveZone zone( m_syncObject );
Packit 8c9aa0
  return m_testErrors;
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
/// Gets the number of detected failures (failed assertion).
Packit 8c9aa0
int 
Packit 8c9aa0
TestResultCollector::testFailures() const
Packit 8c9aa0
{ 
Packit 8c9aa0
  ExclusiveZone zone( m_syncObject ); 
Packit 8c9aa0
  return m_failures.size() - m_testErrors;
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
/// Gets the total number of detected failures.
Packit 8c9aa0
int 
Packit 8c9aa0
TestResultCollector::testFailuresTotal() const
Packit 8c9aa0
{
Packit 8c9aa0
  ExclusiveZone zone( m_syncObject ); 
Packit 8c9aa0
  return m_failures.size();
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
/// Returns a the list failures (random access collection).
Packit 8c9aa0
const TestResultCollector::TestFailures & 
Packit 8c9aa0
TestResultCollector::failures() const
Packit 8c9aa0
{ 
Packit 8c9aa0
  ExclusiveZone zone( m_syncObject );
Packit 8c9aa0
  return m_failures; 
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
const TestResultCollector::Tests &
Packit 8c9aa0
TestResultCollector::tests() const
Packit 8c9aa0
{
Packit 8c9aa0
  ExclusiveZone zone( m_syncObject );
Packit 8c9aa0
  return m_tests;
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
CPPUNIT_NS_END
Packit 8c9aa0