00001 /* 00002 ***************************************************************************************** 00003 * 00004 * Copyright (C) 1996-1999, International Business Machines 00005 * Corporation and others. All Rights Reserved. 00006 * 00007 ***************************************************************************************** 00008 */ 00009 00010 00011 #ifndef CTEST_H 00012 #define CTEST_H 00013 00014 00015 /*Deals with imports and exports of the dynamic library*/ 00016 #ifdef _WIN32 00017 #define T_CTEST_EXPORT __declspec(dllexport) 00018 #define T_CTEST_IMPORT __declspec(dllimport) 00019 #else 00020 #define T_CTEST_EXPORT 00021 #define T_CTEST_IMPORT 00022 #endif 00023 00024 #ifdef __cplusplus 00025 #define C_CTEST_API extern "C" 00026 #else 00027 #define C_CTEST_API 00028 #endif 00029 00030 #ifdef T_CTEST_IMPLEMENTATION 00031 #define T_CTEST_API C_CTEST_API T_CTEST_EXPORT 00032 #define T_CTEST_EXPORT_API T_CTEST_EXPORT 00033 #else 00034 #define T_CTEST_API C_CTEST_API T_CTEST_IMPORT 00035 #define T_CTEST_EXPORT_API T_CTEST_IMPORT 00036 #endif 00037 00038 00039 00040 /* True and false for sanity. (removes ICU dependancy) */ 00041 00042 #ifndef FALSE 00043 #define FALSE 0 00044 #endif 00045 #ifndef TRUE 00046 #define TRUE 1 00047 #endif 00048 00049 00050 00051 00052 /* prototypes *********************************/ 00053 00054 typedef void (*TestFunctionPtr)(); 00055 typedef struct TestNode TestNode; 00056 00062 T_CTEST_EXPORT_API extern int ERROR_COUNT; 00063 00070 T_CTEST_EXPORT_API extern int VERBOSITY; 00071 00078 T_CTEST_EXPORT_API extern int ERR_MSG; 00079 00086 T_CTEST_API void showTests ( const TestNode *root); 00087 00094 T_CTEST_API void runTests ( const TestNode* root); 00095 00108 T_CTEST_API void addTest ( TestNode** root, 00109 TestFunctionPtr test, 00110 const char *path); 00111 00112 T_CTEST_API void cleanUpTestTree(TestNode *tn); 00113 00122 T_CTEST_API const TestNode* getTest (const TestNode* root, 00123 const char *path); 00124 00125 00131 T_CTEST_API void log_err(const char* pattern, ...); 00132 00138 T_CTEST_API void log_info(const char* pattern, ...); 00139 00146 T_CTEST_API void log_verbose(const char* pattern, ...); 00147 00162 T_CTEST_API int processArgs(const TestNode* root, 00163 int argc, 00164 const char** argv); 00165 00166 00167 00168 00169 #endif