cppunit/include/msvc6/testrunner/TestPlugInInterface.h
2011-10-29 15:07:08 +10:00

56 lines
1.3 KiB
C++

#ifndef CPPUNIT_TESTPLUGINRUNNER_TESTPLUGININTERFACE_H
#define CPPUNIT_TESTPLUGINRUNNER_TESTPLUGININTERFACE_H
#include <cppunit/Test.h>
#include <cppunit/TestSuite.h>
#if !defined(WINAPI)
#define WIN32_LEAN_AND_MEAN
#define NOGDI
#define NOUSER
#define NOKERNEL
#define NOSOUND
#define NOMINMAX
#include <windows.h>
#endif
/*! \brief Abstract TestPlugIn for DLL.
* \deprecated Use CppUnitTestPlugIn instead.
*
* A Test plug-in DLL must subclass this class and "publish" an instance
* using the following exported function:
* \code
* extern "C" {
* __declspec(dllimport) TestPlugInInterface *GetTestPlugInInterface();
* }
* \endcode
*
* When loading the DLL, the TestPlugIn runner look-up this function and
* retreives the
*
* See the TestPlugIn example for VC++ for details.
*/
class TestPlugInInterface
{
public:
virtual ~TestPlugInInterface() {}
/*! Returns an instance of the "All Tests" suite.
*
* \return Instance of the top-level suite that contains all test. Ownership
* is granted to the method caller.
*/
virtual CppUnit::Test *makeTest() =0;
};
typedef TestPlugInInterface* (WINAPI *GetTestPlugInInterfaceFunction)(void);
extern "C" {
__declspec(dllexport) TestPlugInInterface *GetTestPlugInInterface();
}
#endif // CPPUNIT_TESTPLUGINRUNNER_TESTPLUGININTERFACE_H