Browse Source

tap: add fail callback

This is useful for failtest, so we can abort on first failure.
Rusty Russell 15 years ago
parent
commit
fece6c238a
2 changed files with 10 additions and 0 deletions
  1. 3 0
      ccan/tap/tap.c
  2. 7 0
      ccan/tap/tap.h

+ 3 - 0
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;

+ 7 - 0
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 */