seatd/include/test.h
Kenny Levinsen aef19fe383 test: Add test_run and test_assert macros
test_run and test_assert replaces regular assert with better logging
which include the currently running test name. The tests can now also be
built without DEBUG.
2020-08-31 14:40:58 +02:00

23 lines
916 B
C

#ifndef _TEST_H
#define _TEST_H
char *__curtestname = "<none>";
#define test_run(func) \
do { \
char *orig = __curtestname; \
__curtestname = #func; \
func(); \
__curtestname = orig; \
} while (0)
#define test_assert(cond) \
do { \
if (!(cond)) { \
fprintf(stderr, "%s:%d: %s: test_assert failed: %s\n", __FILE__, __LINE__, \
__curtestname, #cond); \
abort(); \
} \
} while (0)
#endif