From: Rusty Russell Date: Mon, 10 Jan 2011 05:30:48 +0000 (+1030) Subject: tap: add fail callback X-Git-Url: https://git.ozlabs.org/?p=ccan;a=commitdiff_plain;h=fece6c238afd41bd3ffba1287afa598863d7165e tap: add fail callback This is useful for failtest, so we can abort on first failure. --- 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 */