summaryrefslogtreecommitdiff
path: root/common/test.h
diff options
context:
space:
mode:
authorDaiki Ueno <dueno@redhat.com>2018-03-27 15:19:07 +0200
committerDaiki Ueno <ueno@gnu.org>2018-03-29 11:25:11 +0200
commit9abfcd53e922f5c3841061e363e5ac88d92c2433 (patch)
tree5ef1ac42fde5b9338aa8e61973e8b8e1935f172e /common/test.h
parente8d569045c7d224e94836edd77856823aadf8267 (diff)
common: Add assert_skip() and assert_todo()
Diffstat (limited to 'common/test.h')
-rw-r--r--common/test.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/common/test.h b/common/test.h
index e28bb55..1c952b0 100644
--- a/common/test.h
+++ b/common/test.h
@@ -63,6 +63,14 @@
do { const char *__s = (detail); \
p11_test_fail (__FILE__, __LINE__, __FUNCTION__, "%s%s%s", (msg), __s ? ": ": "", __s ? __s : ""); \
} while (0)
+#define assert_skip(msg, detail) \
+ do { const char *__s = (detail); \
+ p11_test_skip (__FILE__, __LINE__, __FUNCTION__, "%s%s%s", (msg), __s ? ": ": "", __s ? __s : ""); \
+ } while (0)
+#define assert_todo(msg, detail) \
+ do { const char *__s = (detail); \
+ p11_test_todo (__FILE__, __LINE__, __FUNCTION__, "%s%s%s", (msg), __s ? ": ": "", __s ? __s : ""); \
+ } while (0)
#define assert_not_reached(msg) \
do { \
p11_test_fail (__FILE__, __LINE__, __FUNCTION__, "code should not be reached"); \
@@ -113,6 +121,18 @@ void p11_test_fail (const char *filename,
const char *message,
...) GNUC_PRINTF(4, 5) CLANG_ANALYZER_NORETURN;
+void p11_test_skip (const char *filename,
+ int line,
+ const char *function,
+ const char *message,
+ ...) GNUC_PRINTF(4, 5) CLANG_ANALYZER_NORETURN;
+
+void p11_test_todo (const char *filename,
+ int line,
+ const char *function,
+ const char *message,
+ ...) GNUC_PRINTF(4, 5) CLANG_ANALYZER_NORETURN;
+
void p11_test (void (* function) (void),
const char *name,
...) GNUC_PRINTF(2, 3);