diff options
Diffstat (limited to 'libkmstest')
-rw-r--r-- | libkmstest/test.h | 34 |
1 files changed, 11 insertions, 23 deletions
diff --git a/libkmstest/test.h b/libkmstest/test.h index 56ceb27..fb51d29 100644 --- a/libkmstest/test.h +++ b/libkmstest/test.h @@ -7,26 +7,14 @@ #define unlikely(x) __builtin_expect(!!(x), 0) -static void ASSERT_FAIL(const char *cond, const char *file, - unsigned int line, const char *func) __attribute__ ((__noreturn__)); - -static void ASSERT_FAIL(const char *cond, const char *file, - unsigned int line, const char *func) -{ - fprintf(stderr, "%s:%d: %s: ASSERT(%s) failed\n", file, line, func, cond); - abort(); -} - -#define ASSERT(x) if (unlikely(!(x))) { ASSERT_FAIL( __STRING(x), __FILE__, __LINE__, __PRETTY_FUNCTION__); } - -static void FAIL_IF_FAIL(const char *txt, const char *file, - unsigned int line, const char *func) __attribute__ ((__noreturn__)); - -static void FAIL_IF_FAIL(const char *txt, const char *file, - unsigned int line, const char *func) -{ - fprintf(stderr, "%s:%d: %s: FAIL: %s\n", file, line, func, txt); - abort(); -} - -#define FAIL_IF(x, y) if (unlikely(x)) { FAIL_IF_FAIL(y, __FILE__, __LINE__, __PRETTY_FUNCTION__); } +#define ASSERT(x) \ + if (unlikely(!(x))) { \ + fprintf(stderr, "%s:%d: %s: ASSERT(%s) failed\n", __FILE__, __LINE__, __PRETTY_FUNCTION__, __STRING(x)); \ + abort(); \ + } + +#define FAIL_IF(x, fmt, ...) \ + if (unlikely(x)) { \ + fprintf(stderr, "%s:%d: %s:\n" fmt "\n", __FILE__, __LINE__, __PRETTY_FUNCTION__, ##__VA_ARGS__); \ + abort(); \ + } |