1*420d848fSAndroid Build Coastguard Worker #ifndef __TEST_H__ 2*420d848fSAndroid Build Coastguard Worker #define __TEST_H__ 3*420d848fSAndroid Build Coastguard Worker 4*420d848fSAndroid Build Coastguard Worker static int test_passed = 0; 5*420d848fSAndroid Build Coastguard Worker static int test_failed = 0; 6*420d848fSAndroid Build Coastguard Worker 7*420d848fSAndroid Build Coastguard Worker /* Terminate current test with error */ 8*420d848fSAndroid Build Coastguard Worker #define fail() return __LINE__ 9*420d848fSAndroid Build Coastguard Worker 10*420d848fSAndroid Build Coastguard Worker /* Successful end of the test case */ 11*420d848fSAndroid Build Coastguard Worker #define done() return 0 12*420d848fSAndroid Build Coastguard Worker 13*420d848fSAndroid Build Coastguard Worker /* Check single condition */ 14*420d848fSAndroid Build Coastguard Worker #define check(cond) \ 15*420d848fSAndroid Build Coastguard Worker do { \ 16*420d848fSAndroid Build Coastguard Worker if (!(cond)) \ 17*420d848fSAndroid Build Coastguard Worker fail(); \ 18*420d848fSAndroid Build Coastguard Worker } while (0) 19*420d848fSAndroid Build Coastguard Worker 20*420d848fSAndroid Build Coastguard Worker /* Test runner */ test(int (* func)(void),const char * name)21*420d848fSAndroid Build Coastguard Workerstatic void test(int (*func)(void), const char *name) { 22*420d848fSAndroid Build Coastguard Worker int r = func(); 23*420d848fSAndroid Build Coastguard Worker if (r == 0) { 24*420d848fSAndroid Build Coastguard Worker test_passed++; 25*420d848fSAndroid Build Coastguard Worker } else { 26*420d848fSAndroid Build Coastguard Worker test_failed++; 27*420d848fSAndroid Build Coastguard Worker printf("FAILED: %s (at line %d)\n", name, r); 28*420d848fSAndroid Build Coastguard Worker } 29*420d848fSAndroid Build Coastguard Worker } 30*420d848fSAndroid Build Coastguard Worker 31*420d848fSAndroid Build Coastguard Worker #endif /* __TEST_H__ */ 32