Browse Source

failtest: failtest_has_failed()

Allows tests to explicitly avoid continuing when a failure has been
injected.
Rusty Russell 15 years ago
parent
commit
4601063b15
2 changed files with 15 additions and 0 deletions
  1. 5 0
      ccan/failtest/failtest.c
  2. 10 0
      ccan/failtest/failtest.h

+ 5 - 0
ccan/failtest/failtest.c

@@ -1053,6 +1053,11 @@ void failtest_init(int argc, char *argv[])
 	gettimeofday(&start, NULL);
 }
 
+bool failtest_has_failed(void)
+{
+	return control_fd != -1;
+}
+
 void failtest_exit(int status)
 {
 	if (failtest_exit_check) {

+ 10 - 0
ccan/failtest/failtest.h

@@ -196,6 +196,16 @@ extern enum failtest_result
 extern bool (*failtest_exit_check)(struct failtest_call *history,
 				   unsigned num);
 
+/**
+ * failtest_has_failed - determine if a failure has occurred.
+ *
+ * Sometimes you want to exit immediately if you've experienced a failure.
+ * This is useful when you have four separate tests in your test suite,
+ * and you don't want to do the next one if you've had a failure in a
+ * previous one.
+ */
+extern bool failtest_has_failed(void);
+
 /**
  * failtest_timeout_ms - how long to wait before killing child.
  *