[Cppunit-devel] ExtendedTextTestRunner
Brought to you by:
blep
From: Philippe F. <P....@OB...> - 2003-01-17 10:20:08
|
Hi, For my personal need, I have extended the CppUnit::TextUi::TestRunner. The extension is very simple, the goal for me was just to be able to provide my own outputter and progress listener. See: --- ExtendedTestRunner.h namespace CppUnit { class ExtendedTestRunner : public TextUi::TestRunner { public: ExtendedTestRunner( Outputter *outputter =NULL, TestListener * progressListener =NULL) : TextUi::TestRunner( outputter), m_progressListener( progressListener) { if (m_progressListener == NULL) { m_progressListener = new TextTestProgressListener(); } } virtual bool runTest( Test *test, bool doPrintProgress ); virtual void setTestProgressListener( TestListener * listener) { delete m_progressListener; m_progressListener = listener; } virtual void setTestResultCollector( TestResultCollector * result) { delete m_result; m_result = result; } protected: TestListener * m_progressListener; }; }; // CppUnit ------- ExtendedTestRunner.cpp namespace CppUnit { bool ExtendedTestRunner::runTest( Test *test, bool doPrintProgress ) { if ( doPrintProgress ) m_eventManager->addListener( m_progressListener ); test->run( m_eventManager ); if ( doPrintProgress ) m_eventManager->removeListener( m_progressListener ); return m_result->wasSuccessful(); } }; ------------------------------ I don't remember if adding a virtual method and a new protected member breaks binary compatbility. If not, I suggest to add my method directly the TextUi::TestRunner . Else, I would be happy to see this small class included directly into CppUnit. I have other personal improvements, but I won't talk about them until they are ready. regards, Philippe |