Go to the documentation of this file.00001 #ifndef maciTestUtils_h
00002 #define maciTestUtils_h
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __cplusplus
00021 #error This is a C++ include file and cannot be used from plain C
00022 #endif
00023
00024 #include <logging.h>
00025
00026 #include <tao/corba.h>
00027 #include <ace/Read_Buffer.h>
00028
00029 #include <string>
00030 #include <baci.h>
00031
00032 #define TEST_INIT(name) \
00033 char *testSuiteName = name; \
00034 int nTestCases = 0; \
00035 int nFailures = 0; \
00036 ACS_SHORT_LOG((LM_INFO, "Test suite '%s'", testSuiteName))
00037
00038 #define TEST_DONE \
00039 ACS_SHORT_LOG((LM_INFO, "Test suite '%s' complete. %d out of %d test cases " \
00040 "have failed (%.2f%%)", testSuiteName, nFailures, nTestCases, \
00041 100.0*nFailures/nTestCases));
00042
00043 #define ASSERT_EQUALS_STR(actual, expected) \
00044 { \
00045 ++nTestCases; \
00046 if (expected==0) \
00047 { \
00048 if (actual!=0) \
00049 { \
00050 ACS_SHORT_LOG((LM_ERROR, "Test case in file '%s' at line %d failed: " \
00051 "Expected 0 but got '%s'!", __FILE__, __LINE__, \
00052 actual)); \
00053 ++nFailures; \
00054 } \
00055 } \
00056 else if (strcmp(actual, expected) != 0) \
00057 { \
00058 ACS_SHORT_LOG((LM_ERROR, "Test case in file '%s' at line %d failed: " \
00059 "Expected '%s' but got '%s'!", __FILE__, __LINE__, \
00060 expected, actual)); \
00061 ++nFailures; \
00062 } \
00063 }
00064
00065 #define ASSERT_EQUALS_INT(actual, expected) \
00066 { \
00067 ++nTestCases; \
00068 if (actual != expected) \
00069 { \
00070 ACS_SHORT_LOG((LM_ERROR, "Test case in file '%s' at line %d failed: " \
00071 "Expected '%d' but got '%d'!", __FILE__, __LINE__, \
00072 expected, actual)); \
00073 ++nFailures; \
00074 } \
00075 }
00076
00077 #endif
00078