diff options
| author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2010-02-25 19:39:43 -0500 |
|---|---|---|
| committer | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2010-02-25 19:39:43 -0500 |
| commit | 374341e3169b1741ce8c9404d096c620c4c15c92 (patch) | |
| tree | a17d340f1fd3cd0e7c9b9048f9ec0fde8d7d4109 /include | |
| parent | 276be0c88b3ada0a04634704c454404b858bfbfd (diff) | |
Provide additional information on test failures.
Diffstat (limited to 'include')
| -rw-r--r-- | include/tests.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/include/tests.h b/include/tests.h index 3adba18..79e1575 100644 --- a/include/tests.h +++ b/include/tests.h | |||
| @@ -19,16 +19,19 @@ | |||
| 19 | fail("%s", #predicate); \ | 19 | fail("%s", #predicate); \ |
| 20 | } while (0) | 20 | } while (0) |
| 21 | 21 | ||
| 22 | #define SYSCALL(call) \ | 22 | #define SYSCALL(call) \ |
| 23 | do { \ | 23 | do { \ |
| 24 | if ((call) < 0) \ | 24 | int __test_ret = (call); \ |
| 25 | fail("%s, %m", #call); \ | 25 | if (__test_ret < 0) \ |
| 26 | fail("%s -> %d, %m", #call, __test_ret); \ | ||
| 26 | } while (0) | 27 | } while (0) |
| 27 | 28 | ||
| 28 | #define SYSCALL_FAILS(expected, call) \ | 29 | #define SYSCALL_FAILS(expected, call) \ |
| 29 | do { \ | 30 | do { \ |
| 30 | if ((call) == 0 || errno != (expected)) \ | 31 | int __test_ret = (call); \ |
| 31 | fail("%s, %m (expected: %s)", #call, #expected); \ | 32 | if (__test_ret == 0 || errno != (expected)) \ |
| 33 | fail("%s -> %d, %m (expected: %s)", \ | ||
| 34 | #call, __test_ret, #expected); \ | ||
| 32 | } while (0) | 35 | } while (0) |
| 33 | 36 | ||
| 34 | 37 | ||
