diff options
author | Mattias Andrée <maandree@kth.se> | 2018-08-28 14:18:41 +0200 |
---|---|---|
committer | Mattias Andrée <maandree@kth.se> | 2018-08-28 14:18:41 +0200 |
commit | bad369a06217cd1588c289a75b6a1c17d44119b3 (patch) | |
tree | 626b3847268037f2621157a25bfbabb874bb88dc /test.h | |
parent | Make it possible to force all memory allocation functions to fail in tests (diff) | |
download | libsimple-bad369a06217cd1588c289a75b6a1c17d44119b3.tar.gz libsimple-bad369a06217cd1588c289a75b6a1c17d44119b3.tar.bz2 libsimple-bad369a06217cd1588c289a75b6a1c17d44119b3.tar.xz |
Replace exit and fprintf
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'test.h')
-rw-r--r-- | test.h | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -5,10 +5,21 @@ do {\ if (EXPR)\ break;\ + stderr_real = 1;\ fprintf(stderr, "Failed at %s:%i: %s\n", __FILE__, __LINE__, #EXPR);\ + exit_real = 1;\ exit(1);\ } while (0) +#define subassert(EXPR)\ + do {\ + if (EXPR)\ + break;\ + stderr_real = 1;\ + fprintf(stderr, "Failed at %s:%i: %s\n", __FILE__, __LINE__, #EXPR);\ + return 0;\ + } while (0) + struct allocinfo { void *real_beginning; @@ -22,6 +33,13 @@ struct allocinfo { extern size_t alloc_fail_in; +extern int exit_real; +extern int exit_ok; +extern int exit_status; +extern jmp_buf exit_jmp; +extern char stderr_buf[8 << 10]; +extern size_t stderr_n; +extern int stderr_real; size_t get_pagesize(void); |