35 #ifndef AUNIT_META_ASSERT_MACROS_H
36 #define AUNIT_META_ASSERT_MACROS_H
44 #define checkTestDone(...)\
45 get_checkTestDone(__VA_ARGS__, checkTestDone2, checkTestDone1)\
47 #define get_checkTestDone(_1, _2, NAME, ...) NAME
48 #define checkTestDone1(name) (test_##name##_instance.isDone())
49 #define checkTestDone2(testSuite, name) (testSuite##_##name##_instance.isDone())
52 #define checkTestNotDone(...)\
53 get_checkTestNotDone(__VA_ARGS__, checkTestNotDone2, checkTestNotDone1)\
55 #define get_checkTestNotDone(_1, _2, NAME, ...) NAME
56 #define checkTestNotDone1(name) (test_##name##_instance.isNotDone())
57 #define checkTestNotDone2(testSuite, name) (testSuite##_##name##_instance.isNotDone())
60 #define checkTestPass(...)\
61 get_checkTestPass(__VA_ARGS__, checkTestPass2, checkTestPass1)\
63 #define get_checkTestPass(_1, _2, NAME, ...) NAME
64 #define checkTestPass1(name) (test_##name##_instance.isPassed())
65 #define checkTestPass2(testSuite, name) (testSuite##_##name##_instance.isPassed())
68 #define checkTestNotPass(...)\
69 get_checkTestNotPass(__VA_ARGS__, checkTestNotPass2, checkTestNotPass1)\
71 #define get_checkTestNotPass(_1, _2, NAME, ...) NAME
72 #define checkTestNotPass1(name) (test_##name##_instance.isNotPassed())
73 #define checkTestNotPass2(testSuite, name) (testSuite##_##name##_instance.isNotPassed())
76 #define checkTestFail(...)\
77 get_checkTestFail(__VA_ARGS__, checkTestFail2, checkTestFail1)\
79 #define get_checkTestFail(_1, _2, NAME, ...) NAME
80 #define checkTestFail1(name) (test_##name##_instance.isFailed())
81 #define checkTestFail2(testSuite, name) (testSuite##_##name##_instance.isFailed())
84 #define checkTestNotFail(...)\
85 get_checkTestNotFail(__VA_ARGS__, checkTestNotFail2, checkTestNotFail1)\
87 #define get_checkTestNotFail(_1, _2, NAME, ...) NAME
88 #define checkTestNotFail1(name) (test_##name##_instance.isNotFailed())
89 #define checkTestNotFail2(testSuite, name) (testSuite##_##name##_instance.isNotFailed())
92 #define checkTestSkip(...)\
93 get_checkTestSkip(__VA_ARGS__, checkTestSkip2, checkTestSkip1)\
95 #define get_checkTestSkip(_1, _2, NAME, ...) NAME
96 #define checkTestSkip1(name) (test_##name##_instance.isSkipped())
97 #define checkTestSkip2(testSuite, name) (testSuite##_##name##_instance.isSkipped())
100 #define checkTestNotSkip(...)\
101 get_checkTestNotSkip(__VA_ARGS__, checkTestNotSkip2, checkTestNotSkip1)\
103 #define get_checkTestNotSkip(_1, _2, NAME, ...) NAME
104 #define checkTestNotSkip1(name) (test_##name##_instance.isNotSkipped())
105 #define checkTestNotSkip2(testSuite, name) (testSuite##_##name##_instance.isNotSkipped())
108 #define checkTestExpire(...)\
109 get_checkTestExpire(__VA_ARGS__, checkTestExpire2, checkTestExpire1)\
111 #define get_checkTestExpire(_1, _2, NAME, ...) NAME
112 #define checkTestExpire1(name) (test_##name##_instance.isExpired())
113 #define checkTestExpire2(testSuite, name) (testSuite##_##name##_instance.isExpired())
116 #define checkTestNotExpire(...)\
117 get_checkTestNotExpire(__VA_ARGS__, checkTestNotExpire2, checkTestNotExpire1)\
119 #define get_checkTestNotExpire(_1, _2, NAME, ...) NAME
120 #define checkTestNotExpire1(name) (test_##name##_instance.isNotExpired())
121 #define checkTestNotExpire2(testSuite, name) (testSuite##_##name##_instance.isNotExpired())
127 #define assertTestDone(...)\
128 get_assertTestDone(__VA_ARGS__, assertTestDone2, assertTestDone1)\
130 #define get_assertTestDone(_1, _2, NAME, ...) NAME
131 #define assertTestDone1(name) \
132 assertTestStatusInternal1(name, isDone, kMessageDone)
133 #define assertTestDone2(testSuite, name) \
134 assertTestStatusInternal2(testSuite, name, isDone, kMessageDone)
137 #define assertTestNotDone(...)\
138 get_assertTestNotDone(__VA_ARGS__, assertTestNotDone2, assertTestNotDone1)\
140 #define get_assertTestNotDone(_1, _2, NAME, ...) NAME
141 #define assertTestNotDone1(name) \
142 assertTestStatusInternal1(name, isNotDone, kMessageNotDone)
143 #define assertTestNotDone2(testSuite, name) \
144 assertTestStatusInternal2(testSuite, name, isNotDone, kMessageNotDone)
147 #define assertTestPass(...)\
148 get_assertTestPass(__VA_ARGS__, assertTestPass2, assertTestPass1)\
150 #define get_assertTestPass(_1, _2, NAME, ...) NAME
151 #define assertTestPass1(name) \
152 assertTestStatusInternal1(name, isPassed, kMessagePassed)
153 #define assertTestPass2(testSuite, name) \
154 assertTestStatusInternal2(testSuite, name, isPassed, kMessagePassed)
157 #define assertTestNotPass(...)\
158 get_assertTestNotPass(__VA_ARGS__, assertTestNotPass2, assertTestNotPass1)\
160 #define get_assertTestNotPass(_1, _2, NAME, ...) NAME
161 #define assertTestNotPass1(name) \
162 assertTestStatusInternal1(name, isNotPassed, kMessageNotPassed)
163 #define assertTestNotPass2(testSuite, name) \
164 assertTestStatusInternal2(testSuite, name, isNotPassed, kMessageNotPassed)
167 #define assertTestFail(...)\
168 get_assertTestFail(__VA_ARGS__, assertTestFail2, assertTestFail1)\
170 #define get_assertTestFail(_1, _2, NAME, ...) NAME
171 #define assertTestFail1(name) \
172 assertTestStatusInternal1(name, isFailed, kMessageFailed)
173 #define assertTestFail2(testSuite, name) \
174 assertTestStatusInternal2(testSuite, name, isFailed, kMessageFailed)
177 #define assertTestNotFail(...)\
178 get_assertTestNotFail(__VA_ARGS__, assertTestNotFail2, assertTestNotFail1)\
180 #define get_assertTestNotFail(_1, _2, NAME, ...) NAME
181 #define assertTestNotFail1(name) \
182 assertTestStatusInternal1(name, isNotFailed, kMessageNotFailed)
183 #define assertTestNotFail2(testSuite, name) \
184 assertTestStatusInternal2(testSuite, name, isNotFailed, kMessageNotFailed)
187 #define assertTestSkip(...)\
188 get_assertTestSkip(__VA_ARGS__, assertTestSkip2, assertTestSkip1)\
190 #define get_assertTestSkip(_1, _2, NAME, ...) NAME
191 #define assertTestSkip1(name) \
192 assertTestStatusInternal1(name, isSkipped, kMessageSkipped)
193 #define assertTestSkip2(testSuite, name) \
194 assertTestStatusInternal2(testSuite, name, isSkipped, kMessageSkipped)
197 #define assertTestNotSkip(...)\
198 get_assertTestNotSkip(__VA_ARGS__, assertTestNotSkip2, assertTestNotSkip1)\
200 #define get_assertTestNotSkip(_1, _2, NAME, ...) NAME
201 #define assertTestNotSkip1(name) \
202 assertTestStatusInternal1(name, isNotSkipped, kMessageNotSkipped)
203 #define assertTestNotSkip2(testSuite, name) \
204 assertTestStatusInternal2(testSuite, name, isNotSkipped, kMessageNotSkipped)
207 #define assertTestExpire(...)\
208 get_assertTestExpire(__VA_ARGS__, assertTestExpire2, assertTestExpire1)\
210 #define get_assertTestExpire(_1, _2, NAME, ...) NAME
211 #define assertTestExpire1(name) \
212 assertTestStatusInternal1(name, isExpired, kMessageExpired)
213 #define assertTestExpire2(testSuite, name) \
214 assertTestStatusInternal2(testSuite, name, isExpired, kMessageExpired)
217 #define assertTestNotExpire(...)\
218 get_assertTestNotExpire(__VA_ARGS__, assertTestNotExpire2, assertTestNotExpire1)\
220 #define get_assertTestNotExpire(_1, _2, NAME, ...) NAME
221 #define assertTestNotExpire1(name) \
222 assertTestStatusInternal1(name, isNotExpired, kMessageNotExpired)
223 #define assertTestNotExpire2(testSuite, name) \
224 assertTestStatusInternal2(testSuite, name, isNotExpired, kMessageNotExpired)
227 #define assertTestStatusInternal1(name,method,message) do {\
228 if (!assertionTestStatus(\
229 __FILE__,__LINE__,#name,AUNIT_FPSTR(message),\
230 test_##name##_instance.method()))\
234 #define assertTestStatusInternal2(testSuite,name,method,message) do {\
235 if (!assertionTestStatus(\
236 __FILE__,__LINE__,#testSuite "_" #name,AUNIT_FPSTR(message),\
237 testSuite##_##name##_instance.method()))\
245 #define checkTestDoneF(testClass,name) \
246 (testClass##_##name##_instance.isDone())
249 #define checkTestNotDoneF(testClass,name) \
250 (testClass##_##name##_instance.isNotDone())
253 #define checkTestPassF(testClass,name) \
254 (testClass##_##name##_instance.isPassed())
257 #define checkTestNotPassF(testClass,name) \
258 (testClass##_##name##_instance.isNotPassed())
261 #define checkTestFailF(testClass,name) \
262 (testClass##_##name##_instance.isFailed())
265 #define checkTestNotFailF(testClass,name) \
266 (testClass##_##name##_instance.isNotFailed())
269 #define checkTestSkipF(testClass,name) \
270 (testClass##_##name##_instance.isSkipped())
273 #define checkTestNotSkipF(testClass,name) \
274 (testClass##_##name##_instance.isNotSkipped())
277 #define checkTestExpireF(testClass,name) \
278 (testClass##_##name##_instance.isExpired())
281 #define checkTestNotExpireF(testClass,name) \
282 (testClass##_##name##_instance.isNotExpired())
288 #define assertTestDoneF(testClass,name) \
289 assertTestStatusInternalF(testClass, name, isDone, kMessageDone)
292 #define assertTestNotDoneF(testClass,name) \
293 assertTestStatusInternalF(testClass, name, isNotDone, kMessageNotDone)
296 #define assertTestPassF(testClass,name) \
297 assertTestStatusInternalF(testClass, name, isPassed, kMessagePassed)
300 #define assertTestNotPassF(testClass,name) \
301 assertTestStatusInternalF(testClass, name, isNotPassed, kMessageNotPassed)
304 #define assertTestFailF(testClass,name) \
305 assertTestStatusInternalF(testClass, name, isFailed, kMessageFailed)
308 #define assertTestNotFailF(testClass,name) \
309 assertTestStatusInternalF(testClass, name, isNotFailed, kMessageNotFailed)
312 #define assertTestSkipF(testClass,name) \
313 assertTestStatusInternalF(testClass, name, isSkipped, kMessageSkipped)
316 #define assertTestNotSkipF(testClass,name) \
317 assertTestStatusInternalF(testClass, name, isNotSkipped, \
321 #define assertTestExpireF(testClass,name) \
322 assertTestStatusInternalF(testClass, name, isExpired, kMessageExpired)
325 #define assertTestNotExpireF(testClass,name) \
326 assertTestStatusInternalF(testClass, name, isNotExpired, \
330 #define assertTestStatusInternalF(testClass,name,method,message) do {\
331 if (!assertionTestStatus(__FILE__, __LINE__, #name, AUNIT_FPSTR(message),\
332 testClass##_##name##_instance.method()))\
343 #define failTestNow() do {\
344 setStatusNow(__FILE__, __LINE__, kStatusFailed, AUNIT_FPSTR(kMessageFailed));\
352 #define passTestNow() do {\
353 setStatusNow(__FILE__, __LINE__, kStatusPassed, AUNIT_FPSTR(kMessagePassed));\
361 #define skipTestNow() do {\
362 setStatusNow(__FILE__, __LINE__, kStatusSkipped,\
363 AUNIT_FPSTR(kMessageSkipped));\
371 #define expireTestNow() do {\
372 setStatusNow(__FILE__, __LINE__, kStatusExpired,\
373 AUNIT_FPSTR(kMessageExpired));\
Various macros to smooth over the differences among the various platforms with regards to their suppo...