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