Go to the documentation of this file.00001 #ifndef TESTLIB_REGISTER_H_
00002 #define TESTLIB_REGISTER_H_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include <vcl_string.h>
00026
00027 #if 0 // ifdef VCL_VC - gives compiler errors - PVr
00028 typedef int ( (__cdecl *const) TestMainFunction)( int, char*[] );
00029 #else
00030 typedef int (*TestMainFunction)( int, char*[] );
00031 #endif
00032
00033
00034
00035
00036 #ifdef VCL_VC
00037 #define DECLARE( testname ) int _cdecl testname ## _main ( int argc, char* argv[] )
00038 #else
00039 #define DECLARE( testname ) int testname ## _main ( int argc, char* argv[] )
00040 #endif
00041
00042 void testlib_register_test(const vcl_string &, TestMainFunction);
00043
00044
00045
00046 #define REGISTER( testname ) \
00047 testlib_register_test(#testname, & testname ## _main );
00048
00049
00050
00051
00052
00053
00054
00055 #define DEFINE_MAIN \
00056 int testlib_main(int,char*[]); \
00057 void testlib_cleanup(); \
00058 int main( int argc, char* argv[] ) { \
00059 register_tests(); \
00060 int retval = testlib_main( argc, argv ); \
00061 testlib_cleanup(); \
00062 return retval; \
00063 }
00064
00065 #endif // TESTLIB_REGISTER_H_