CppUnit 1.9.10 already provides similar functionalities through the generic
TestRunner class.
CppUnit only regards source code compatibility, which is already difficult
enough to achieve.
Thanks anyway,
Baptiste.
----- Original Message -----
From: "Philippe FREMY" <P....@OB...>
To: <cpp...@li...>
Sent: Friday, January 17, 2003 11:17 AM
Subject: [Cppunit-devel] ExtendedTextTestRunner
>
> 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
|