3 #define TEST(suite, test) \
4 void _TEST_##suite##_##test(); \
5 [[accumulate]] int TEST_RunAll_accumulated(int f) { \
6 if (!TEST_Run(#suite "_" #test)) ++f; \
9 void _TEST_##suite##_##test()
11 #define TEST_Check(cond) MACRO_BEGIN { if (!(cond)) TEST_Fail(#cond); } MACRO_END
14 void TEST_Fail(string cond);
17 bool TEST_Run(string test);