File: TestPlugInInterface.h

package info (click to toggle)
squid3 3.0.PRE5-5%2Betch2
  • links: PTS
  • area: main
  • in suites: etch
  • size: 21,188 kB
  • ctags: 20,388
  • sloc: cpp: 119,851; ansic: 30,259; sh: 10,465; makefile: 3,289; perl: 1,267; awk: 84; xml: 58
file content (55 lines) | stat: -rw-r--r-- 1,330 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#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