From fece6c238afd41bd3ffba1287afa598863d7165e Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Mon, 10 Jan 2011 16:00:48 +1030 Subject: [PATCH] tap: add fail callback This is useful for failtest, so we can abort on first failure. --- ccan/tap/tap.c | 3 +++ ccan/tap/tap.h | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/ccan/tap/tap.c b/ccan/tap/tap.c index 857528a2..106da912 100644 --- a/ccan/tap/tap.c +++ b/ccan/tap/tap.c @@ -179,6 +179,9 @@ _gen_result(int ok, const char *func, const char *file, unsigned int line, UNLOCK; + if (!ok && tap_fail_callback) + tap_fail_callback(); + /* We only care (when testing) that ok is positive, but here we specifically only want to return 1 or 0 */ return ok ? 1 : 0; diff --git a/ccan/tap/tap.h b/ccan/tap/tap.h index 395d245d..6a4c5e05 100644 --- a/ccan/tap/tap.h +++ b/ccan/tap/tap.h @@ -243,4 +243,11 @@ void plan_no_plan(void); */ void plan_skip_all(const char *reason); +/** + * tap_fail_callback - function to call when we fail + * + * This can be used to ease debugging, or exit on the first failure. + */ +void (*tap_fail_callback)(void); + #endif /* C99 or gcc */ -- 2.39.2