summaryrefslogtreecommitdiff
path: root/src/cppunit/TextTestRunner.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/cppunit/TextTestRunner.cpp')
-rw-r--r--src/cppunit/TextTestRunner.cpp61
1 files changed, 11 insertions, 50 deletions
diff --git a/src/cppunit/TextTestRunner.cpp b/src/cppunit/TextTestRunner.cpp
index 74c1d8f..33c1908 100644
--- a/src/cppunit/TextTestRunner.cpp
+++ b/src/cppunit/TextTestRunner.cpp
@@ -18,7 +18,6 @@ namespace TextUi {
*/
TestRunner::TestRunner( Outputter *outputter )
: m_outputter( outputter )
- , m_suite( new TestSuite( "All Tests" ) )
, m_result( new TestResultCollector() )
, m_eventManager( new TestResult() )
{
@@ -33,19 +32,6 @@ TestRunner::~TestRunner()
delete m_eventManager;
delete m_outputter;
delete m_result;
- delete m_suite;
-}
-
-
-/*! Adds the specified test.
- *
- * \param test Test to add.
- */
-void
-TestRunner::addTest( Test *test )
-{
- if ( test != NULL )
- m_suite->addTest( test );
}
@@ -69,29 +55,20 @@ TestRunner::run( std::string testName,
bool doPrintResult,
bool doPrintProgress )
{
- runTestByName( testName, doPrintProgress );
- printResult( doPrintResult );
- wait( doWait );
- return m_result->wasSuccessful();
-}
+ TextTestProgressListener progress;
+ if ( doPrintProgress )
+ m_eventManager->addListener( &progress );
+ SuperClass *pThis = this;
+ pThis->run( *m_eventManager, testName );
-bool
-TestRunner::runTestByName( std::string testName,
- bool doPrintProgress )
-{
- if ( testName.empty() )
- return runTest( m_suite, doPrintProgress );
+ if ( doPrintProgress )
+ m_eventManager->removeListener( &progress );
- try
- {
- return runTest( m_suite->findTest( testName ), doPrintProgress );
- }
- catch ( std::invalid_argument & )
- {
- std::cout << "Test " << testName << " not found." << std::endl;
- }
- return false;
+ printResult( doPrintResult );
+ wait( doWait );
+
+ return m_result->wasSuccessful();
}
@@ -115,22 +92,6 @@ TestRunner::printResult( bool doPrintResult )
}
-bool
-TestRunner::runTest( Test *test,
- bool doPrintProgress )
-{
- TextTestProgressListener progress;
- if ( doPrintProgress )
- m_eventManager->addListener( &progress );
-
- m_eventManager->runTest( test );
-
- if ( doPrintProgress )
- m_eventManager->removeListener( &progress );
- return m_result->wasSuccessful();
-}
-
-
/*! Returns the result of the test run.
* Use this after calling run() to access the result of the test run.
*/