|
Packit Service |
e31359 |
// //////////////////////////////////////////////////////////////////////////
|
|
Packit Service |
e31359 |
// Implementation file ClockerListener.cpp for class ClockerListener
|
|
Packit Service |
e31359 |
// (c)Copyright 2000, Baptiste Lepilleur.
|
|
Packit Service |
e31359 |
// Created: 2002/04/19
|
|
Packit Service |
e31359 |
// //////////////////////////////////////////////////////////////////////////
|
|
Packit Service |
e31359 |
#include <cppunit/Test.h>
|
|
Packit Service |
e31359 |
#include <cppunit/portability/Stream.h>
|
|
Packit Service |
e31359 |
#include "ClockerListener.h"
|
|
Packit Service |
e31359 |
#include "ClockerModel.h"
|
|
Packit Service |
e31359 |
#include <stdio.h>
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
ClockerListener::ClockerListener( ClockerModel *model,
|
|
Packit Service |
e31359 |
bool text )
|
|
Packit Service |
e31359 |
: m_model( model )
|
|
Packit Service |
e31359 |
, m_text( text )
|
|
Packit Service |
e31359 |
{
|
|
Packit Service |
e31359 |
}
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
ClockerListener::~ClockerListener()
|
|
Packit Service |
e31359 |
{
|
|
Packit Service |
e31359 |
}
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
void
|
|
Packit Service |
e31359 |
ClockerListener::startTestRun( CPPUNIT_NS::Test *test,
|
|
Packit Service |
e31359 |
CPPUNIT_NS::TestResult *eventManager )
|
|
Packit Service |
e31359 |
{
|
|
Packit Service |
e31359 |
m_model->setExpectedTestCount( test->countTestCases() *2 );
|
|
Packit Service |
e31359 |
}
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
void
|
|
Packit Service |
e31359 |
ClockerListener::endTestRun( CPPUNIT_NS::Test *test,
|
|
Packit Service |
e31359 |
CPPUNIT_NS::TestResult *eventManager )
|
|
Packit Service |
e31359 |
{
|
|
Packit Service |
e31359 |
if ( m_text )
|
|
Packit Service |
e31359 |
printStatistics();
|
|
Packit Service |
e31359 |
}
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
void
|
|
Packit Service |
e31359 |
ClockerListener::startTest( CPPUNIT_NS::Test *test )
|
|
Packit Service |
e31359 |
{
|
|
Packit Service |
e31359 |
m_model->enterTest( test, false );
|
|
Packit Service |
e31359 |
}
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
void
|
|
Packit Service |
e31359 |
ClockerListener::endTest( CPPUNIT_NS::Test *test )
|
|
Packit Service |
e31359 |
{
|
|
Packit Service |
e31359 |
m_model->exitTest( test, false );
|
|
Packit Service |
e31359 |
}
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
void
|
|
Packit Service |
e31359 |
ClockerListener::startSuite( CPPUNIT_NS::Test *suite )
|
|
Packit Service |
e31359 |
{
|
|
Packit Service |
e31359 |
m_model->enterTest( suite, true );
|
|
Packit Service |
e31359 |
}
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
void
|
|
Packit Service |
e31359 |
ClockerListener::endSuite( CPPUNIT_NS::Test *suite )
|
|
Packit Service |
e31359 |
{
|
|
Packit Service |
e31359 |
m_model->exitTest( suite, true );
|
|
Packit Service |
e31359 |
}
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
void
|
|
Packit Service |
e31359 |
ClockerListener::printStatistics() const
|
|
Packit Service |
e31359 |
{
|
|
Packit Service |
e31359 |
printTest( 0, "" );
|
|
Packit Service |
e31359 |
CPPUNIT_NS::stdCOut() << "\n";
|
|
Packit Service |
e31359 |
CPPUNIT_NS::stdCOut() << "Total elapsed time: ";
|
|
Packit Service |
e31359 |
printTime( m_model->totalElapsedTime() );
|
|
Packit Service |
e31359 |
CPPUNIT_NS::stdCOut() << ", average test case time: ";
|
|
Packit Service |
e31359 |
printTime( m_model->averageTestCaseTime() );
|
|
Packit Service |
e31359 |
}
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
void
|
|
Packit Service |
e31359 |
ClockerListener::printTest( int testIndex,
|
|
Packit Service |
e31359 |
const std::string &indentString ) const
|
|
Packit Service |
e31359 |
{
|
|
Packit Service |
e31359 |
std::string indent = indentString;
|
|
Packit Service |
e31359 |
const int indentLength = 3;
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
printTestIndent( indentString, indentLength );
|
|
Packit Service |
e31359 |
printTime( m_model->testTimeFor( testIndex ) );
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
CPPUNIT_NS::stdCOut() << m_model->testPathFor( testIndex ).getChildTest()->getName();
|
|
Packit Service |
e31359 |
CPPUNIT_NS::stdCOut() << "\n";
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
if ( m_model->childCountFor( testIndex ) == 0 )
|
|
Packit Service |
e31359 |
indent+= std::string( indentLength, ' ' );
|
|
Packit Service |
e31359 |
else
|
|
Packit Service |
e31359 |
indent+= "|" + std::string( indentLength -1, ' ' );
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
for ( int index =0; index < m_model->childCountFor( testIndex ); ++index )
|
|
Packit Service |
e31359 |
printTest( m_model->childAtFor( testIndex, index ), indent );
|
|
Packit Service |
e31359 |
}
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
void
|
|
Packit Service |
e31359 |
ClockerListener::printTestIndent( const std::string &indent,
|
|
Packit Service |
e31359 |
const int indentLength ) const
|
|
Packit Service |
e31359 |
{
|
|
Packit Service |
e31359 |
if ( indent.empty() )
|
|
Packit Service |
e31359 |
return;
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
CPPUNIT_NS::stdCOut() << " ";
|
|
Packit Service |
e31359 |
CPPUNIT_NS::stdCOut() << indent.substr( 0, indent.length() - indentLength ) ;
|
|
Packit Service |
e31359 |
CPPUNIT_NS::stdCOut() << "+" << std::string( indentLength -1, '-' );
|
|
Packit Service |
e31359 |
}
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
void
|
|
Packit Service |
e31359 |
ClockerListener::printTime( double time ) const
|
|
Packit Service |
e31359 |
{
|
|
Packit Service |
e31359 |
CPPUNIT_NS::stdCOut() << '(' << ClockerModel::timeStringFor( time ) << "s) ";
|
|
Packit Service |
e31359 |
}
|