|
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 |
|