The UNITTEST_START and UNITTEST_STOP defines needed to do a new brace
level so that test cases can declare variables fine and still remain
fine C89 code.
#include "test.h"
+#define fail_if(expr, msg) \
+ if(expr) { \
+ fprintf(stderr, "%s:%d Assertion '%s' met: %s" , \
+ __FILE__, __LINE__, #expr, msg); \
+ unitfail++; \
+ }
+
#define fail_unless(expr, msg) \
if(!(expr)) { \
fprintf(stderr, "%s:%d Assertion '%s' failed: %s" , \
int test(char *unused) \
{ \
(void)unused; \
- unit_setup();
+ unit_setup(); \
+ {
#define UNITTEST_STOP \
+ } \
unit_stop(); \
return unitfail; \
}