diff options
| author | Baptiste Lepilleur <gaiacrtn@free.fr> | 2002-06-14 19:21:01 +0000 |
|---|---|---|
| committer | Baptiste Lepilleur <gaiacrtn@free.fr> | 2002-06-14 19:21:01 +0000 |
| commit | 73a038f1eaa268cec330d971fb550befec6f7798 (patch) | |
| tree | c3eba5d793e37413889acad5b0b9f70caf89b0f6 /include/cppunit/plugin | |
| parent | f39e160fba25476de7d41e2f19d756db7ee76dc7 (diff) | |
| download | cppunit-73a038f1eaa268cec330d971fb550befec6f7798.tar.gz | |
Include/cppunit/plugin/PlugInManager.
include/cppunit/plugin/PlugInManager.h:
* src/cppunit/PlugInManager.cpp: added two methods to use the plug-in
interface for Xml Outputter hooks.
* include/cppunit/plugin/TestPlugIn.h: added two methods to the plug-in
interface for Xml Outputter hooks.
* include/cppunit/plugin/TestPlugInAdapter.h:
* src/cppunit/plugin/TestPlugInAdapter.cpp: renamed TestPlugInDefaultImpl.
Added empty implementation for Xml outputter hook methods.
* include/cppunit/tools/StringTools.h:
* src/cppunit/tools/StringTools.cpp: added. Functions to manipulate string
(conversion, wrapping...)
* include/cppunit/tools/XmlElement.h:
* src/cppunit/XmlElement.cpp: renamed addNode() to addElement(). Added
methods to walk and modify XmlElement (for hook). Added documentation.
Use StringTools.
* include/cppunit/XmlOutputter.h:
* src/cppunit/XmlOutputter.cpp: added hook calls & management.
* include/cppunit/XmlOutputterHook.h:
* src/cppunit/XmlOutputterHook.cpp: added. Hook to customize XML output.
* src/DllPlugInTester/DllPlugInTester.cpp: call plug-in XmlOutputterHook
when writing XML output. Modified so that memory is freed before
unloading the test plug-in (caused crash when freeing the XmlDocument).
* examples/ReadMe.txt:
* examples/ClockerPlugIn/ReadMe.txt: added details about the plug-in
(usage, xml content...)
* examples/ClockerPlugIn/ClockerModel.h:
* examples/ClockerPlugIn/ClockerModel.cpp: extracted from ClockerListener.
Represents the test hierarchy and tracked time for each test.
* examples/ClockerPlugIn/ClockerListener.h:
* examples/ClockerPlugIn/ClockerListener.cpp: extracted test hierarchy
tracking to ClockerModel. Replaced the 'flat' view option with a 'text'
option to print the timed test tree to stdout.
* examples/ClockerPlugIn/ClockerPlugIn.cpp: updated to hook the XML
output and use the new classes.
* examples/ClockerPlugIn/ClockerXmlHook.h:
* examples/ClockerPlugIn/ClockerXmlHook.cpp: added. XmlOutputterHook to
includes the timed test hierarchy and test timing in the XML output.
* examples/cppunittest/XmlElementTest.h:
* examples/cppunittest/XmlElementTest.cpp: added new test cases.
* examples/cppunittest/XmlOutputterTest.h:
* examples/cppunittest/XmlOutputterTest.cpp: added tests for
XmlOutputterHook.
Diffstat (limited to 'include/cppunit/plugin')
| -rw-r--r-- | include/cppunit/plugin/Makefile.am | 2 | ||||
| -rw-r--r-- | include/cppunit/plugin/PlugInManager.h | 11 | ||||
| -rw-r--r-- | include/cppunit/plugin/TestPlugIn.h | 17 | ||||
| -rw-r--r-- | include/cppunit/plugin/TestPlugInDefaultImpl.h (renamed from include/cppunit/plugin/TestPlugInAdapter.h) | 10 |
4 files changed, 33 insertions, 7 deletions
diff --git a/include/cppunit/plugin/Makefile.am b/include/cppunit/plugin/Makefile.am index 0494373..3fdff64 100644 --- a/include/cppunit/plugin/Makefile.am +++ b/include/cppunit/plugin/Makefile.am @@ -4,6 +4,6 @@ libcppunitinclude_HEADERS = \ DynamicLibraryManager.h \ DynamicLibraryManagerException.h \ TestPlugIn.h \ - TestPlugInAdapter.h \ + TestPlugInDefaultImpl.h \ PlugInManager.h \ Parameters.h diff --git a/include/cppunit/plugin/PlugInManager.h b/include/cppunit/plugin/PlugInManager.h index d3bbc5f..f349ab1 100644 --- a/include/cppunit/plugin/PlugInManager.h +++ b/include/cppunit/plugin/PlugInManager.h @@ -18,6 +18,7 @@ namespace CppUnit class DynamicLibraryManager; class TestResult; +class XmlOutputter; /*! \brief Manges TestPlugIn. @@ -62,6 +63,16 @@ public: */ void removeListener( TestResult *eventManager ); + /*! Provides a way for the plug-in to register some XmlOutputterHook. + */ + void addXmlOutputterHooks( XmlOutputter *outputter ); + + /*! Called when the XmlOutputter is destroyed. + * + * Can be used to free some resources allocated by addXmlOutputterHooks(). + */ + void removeXmlOutputterHooks(); + protected: struct PlugInInfo { diff --git a/include/cppunit/plugin/TestPlugIn.h b/include/cppunit/plugin/TestPlugIn.h index 0847928..0eaf960 100644 --- a/include/cppunit/plugin/TestPlugIn.h +++ b/include/cppunit/plugin/TestPlugIn.h @@ -12,6 +12,7 @@ namespace CppUnit class Test; class TestFactoryRegistry; class TestResult; +class XmlOutputter; } /*! \file @@ -67,6 +68,16 @@ struct CppUnitTestPlugIn */ virtual void removeListener( CppUnit::TestResult *eventManager ) =0; + /*! Provides a way for the plug-in to register some XmlOutputterHook. + */ + virtual void addXmlOutputterHooks( CppUnit::XmlOutputter *outputter ) =0; + + /*! Called when the XmlOutputter is destroyed. + * + * Can be used to free some resources allocated by addXmlOutputterHooks(). + */ + virtual void removeXmlOutputterHooks() = 0; + /*! Called just before unloading the dynamic library. * * Override this method to unregister test factory added in initialize(). @@ -109,7 +120,7 @@ typedef CppUnitTestPlugIn *(*TestPlugInSignature)(); // Note: This include should remain after definition of CppUnitTestPlugIn -#include <cppunit/plugin/TestPlugInAdapter.h> +#include <cppunit/plugin/TestPlugInDefaultImpl.h> /*! \def CPPUNIT_PLUGIN_IMPLEMENT_MAIN() @@ -170,8 +181,8 @@ typedef CppUnitTestPlugIn *(*TestPlugInSignature)(); * \see CppUnitTestPlugIn * \see CPPUNIT_PLUGIN_EXPORTED_FUNCTION_IMPL(), CPPUNIT_PLUGIN_IMPLEMENT_MAIN(). */ -#define CPPUNIT_PLUGIN_IMPLEMENT() \ - CPPUNIT_PLUGIN_EXPORTED_FUNCTION_IMPL( CppUnit::TestPlugInAdapter ); \ +#define CPPUNIT_PLUGIN_IMPLEMENT() \ + CPPUNIT_PLUGIN_EXPORTED_FUNCTION_IMPL( CppUnit::TestPlugInDefaultImpl ); \ CPPUNIT_PLUGIN_IMPLEMENT_MAIN() diff --git a/include/cppunit/plugin/TestPlugInAdapter.h b/include/cppunit/plugin/TestPlugInDefaultImpl.h index 0e54e0e..90d4398 100644 --- a/include/cppunit/plugin/TestPlugInAdapter.h +++ b/include/cppunit/plugin/TestPlugInDefaultImpl.h @@ -23,12 +23,12 @@ class TestSuite; * ( TestFactoryRegistry::getRegistry() ). * */ -class CPPUNIT_API TestPlugInAdapter : public CppUnitTestPlugIn +class CPPUNIT_API TestPlugInDefaultImpl : public CppUnitTestPlugIn { public: - TestPlugInAdapter(); + TestPlugInDefaultImpl(); - virtual ~TestPlugInAdapter(); + virtual ~TestPlugInDefaultImpl(); void initialize( TestFactoryRegistry *registry, const Parameters ¶meters ); @@ -37,6 +37,10 @@ public: void removeListener( TestResult *eventManager ); + void addXmlOutputterHooks( XmlOutputter *outputter ); + + void removeXmlOutputterHooks(); + void uninitialize( TestFactoryRegistry *registry ); }; |
