56 lines
1.3 KiB
C++
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
|