Re: ExtendedTextTestRunner

"Baptiste Lepilleur" <[email protected]> Fri, 24 Jan 2003 00:11:38 +0100
Newsgroups gmane.comp.lib.cppunit.devel
Message-ID <003601c2c334$c90d1a30$3cd92cd5@lain>
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" <[email protected]>
To: <[email protected]>
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




-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com