Browse Source

tdb2: consolidate testing failtest suppression routines.

Less cut & paste means less patching as failtest changes.
Rusty Russell 14 years ago
parent
commit
1819a36a3e

+ 5 - 0
ccan/tdb2/test/failtest_helper.c

@@ -3,6 +3,8 @@
 #include <string.h>
 #include <string.h>
 #include <ccan/tap/tap.h>
 #include <ccan/tap/tap.h>
 
 
+bool failtest_suppress = false;
+
 /* FIXME: From ccan/str */
 /* FIXME: From ccan/str */
 static inline bool strends(const char *str, const char *postfix)
 static inline bool strends(const char *str, const char *postfix)
 {
 {
@@ -84,6 +86,9 @@ block_repeat_failures(struct failtest_call *history, unsigned num)
 {
 {
 	const struct failtest_call *i, *last = &history[num-1];
 	const struct failtest_call *i, *last = &history[num-1];
 
 
+	if (failtest_suppress)
+		return FAIL_DONT_FAIL;
+
 	if (failmatch(last, INITIAL_TDB_MALLOC)
 	if (failmatch(last, INITIAL_TDB_MALLOC)
 	    || failmatch(last, URANDOM_OPEN)
 	    || failmatch(last, URANDOM_OPEN)
 	    || failmatch(last, URANDOM_READ)) {
 	    || failmatch(last, URANDOM_READ)) {

+ 3 - 0
ccan/tdb2/test/failtest_helper.h

@@ -14,4 +14,7 @@ bool failmatch(const struct failtest_call *call,
 enum failtest_result
 enum failtest_result
 block_repeat_failures(struct failtest_call *history, unsigned num);
 block_repeat_failures(struct failtest_call *history, unsigned num);
 
 
+/* Set this to suppress failure. */
+extern bool failtest_suppress;
+
 #endif /* TDB2_TEST_LOGGING_H */
 #endif /* TDB2_TEST_LOGGING_H */

+ 1 - 12
ccan/tdb2/test/run-01-new_database.c

@@ -5,17 +5,6 @@
 #include "logging.h"
 #include "logging.h"
 #include "failtest_helper.h"
 #include "failtest_helper.h"
 
 
-static bool failtest_suppress = false;
-
-/* Don't need to test everything here, just want expand testing. */
-static enum failtest_result
-suppress_failure(struct failtest_call *history, unsigned num)
-{
-	if (failtest_suppress)
-		return FAIL_DONT_FAIL;
-	return block_repeat_failures(history, num);
-}
-
 int main(int argc, char *argv[])
 int main(int argc, char *argv[])
 {
 {
 	unsigned int i;
 	unsigned int i;
@@ -30,7 +19,7 @@ int main(int argc, char *argv[])
 			TDB_NOMMAP|TDB_CONVERT|TDB_VERSION1 };
 			TDB_NOMMAP|TDB_CONVERT|TDB_VERSION1 };
 
 
 	failtest_init(argc, argv);
 	failtest_init(argc, argv);
-	failtest_hook = suppress_failure;
+	failtest_hook = block_repeat_failures;
 	failtest_exit_check = exit_check_log;
 	failtest_exit_check = exit_check_log;
 	plan_tests(sizeof(flags) / sizeof(flags[0]) * 3);
 	plan_tests(sizeof(flags) / sizeof(flags[0]) * 3);
 	for (i = 0; i < sizeof(flags) / sizeof(flags[0]); i++) {
 	for (i = 0; i < sizeof(flags) / sizeof(flags[0]); i++) {

+ 1 - 12
ccan/tdb2/test/run-02-expand.c

@@ -5,17 +5,6 @@
 #include "logging.h"
 #include "logging.h"
 #include "failtest_helper.h"
 #include "failtest_helper.h"
 
 
-static bool failtest_suppress = false;
-
-/* Don't need to test everything here, just want expand testing. */
-static enum failtest_result
-suppress_failure(struct failtest_call *history, unsigned num)
-{
-	if (failtest_suppress)
-		return FAIL_DONT_FAIL;
-	return block_repeat_failures(history, num);
-}
-
 int main(int argc, char *argv[])
 int main(int argc, char *argv[])
 {
 {
 	unsigned int i;
 	unsigned int i;
@@ -28,7 +17,7 @@ int main(int argc, char *argv[])
 	plan_tests(sizeof(flags) / sizeof(flags[0]) * 11 + 1);
 	plan_tests(sizeof(flags) / sizeof(flags[0]) * 11 + 1);
 
 
 	failtest_init(argc, argv);
 	failtest_init(argc, argv);
-	failtest_hook = suppress_failure;
+	failtest_hook = block_repeat_failures;
 	failtest_exit_check = exit_check_log;
 	failtest_exit_check = exit_check_log;
 
 
 	for (i = 0; i < sizeof(flags) / sizeof(flags[0]); i++) {
 	for (i = 0; i < sizeof(flags) / sizeof(flags[0]); i++) {

+ 1 - 12
ccan/tdb2/test/run-05-readonly-open.c

@@ -5,17 +5,6 @@
 #include "logging.h"
 #include "logging.h"
 #include "failtest_helper.h"
 #include "failtest_helper.h"
 
 
-static bool failtest_suppress = false;
-
-/* Don't need to test everything here, just want expand testing. */
-static enum failtest_result
-suppress_failure(struct failtest_call *history, unsigned num)
-{
-	if (failtest_suppress)
-		return FAIL_DONT_FAIL;
-	return block_repeat_failures(history, num);
-}
-
 int main(int argc, char *argv[])
 int main(int argc, char *argv[])
 {
 {
 	unsigned int i;
 	unsigned int i;
@@ -31,7 +20,7 @@ int main(int argc, char *argv[])
 	unsigned int msgs = 0;
 	unsigned int msgs = 0;
 
 
 	failtest_init(argc, argv);
 	failtest_init(argc, argv);
-	failtest_hook = suppress_failure;
+	failtest_hook = block_repeat_failures;
 	failtest_exit_check = exit_check_log;
 	failtest_exit_check = exit_check_log;
 
 
 	seed_attr.base.attr = TDB_ATTRIBUTE_SEED;
 	seed_attr.base.attr = TDB_ATTRIBUTE_SEED;

+ 1 - 12
ccan/tdb2/test/run-10-simple-store.c

@@ -5,17 +5,6 @@
 #include "logging.h"
 #include "logging.h"
 #include "failtest_helper.h"
 #include "failtest_helper.h"
 
 
-static bool failtest_suppress = false;
-
-/* Don't need to test everything here, just want expand testing. */
-static enum failtest_result
-suppress_failure(struct failtest_call *history, unsigned num)
-{
-	if (failtest_suppress)
-		return FAIL_DONT_FAIL;
-	return block_repeat_failures(history, num);
-}
-
 int main(int argc, char *argv[])
 int main(int argc, char *argv[])
 {
 {
 	unsigned int i;
 	unsigned int i;
@@ -32,7 +21,7 @@ int main(int argc, char *argv[])
 	struct tdb_data data = tdb_mkdata("data", 4);
 	struct tdb_data data = tdb_mkdata("data", 4);
 
 
 	failtest_init(argc, argv);
 	failtest_init(argc, argv);
-	failtest_hook = suppress_failure;
+	failtest_hook = block_repeat_failures;
 	failtest_exit_check = exit_check_log;
 	failtest_exit_check = exit_check_log;
 
 
 	failtest_suppress = true;
 	failtest_suppress = true;

+ 1 - 12
ccan/tdb2/test/run-11-simple-fetch.c

@@ -5,17 +5,6 @@
 #include "logging.h"
 #include "logging.h"
 #include "failtest_helper.h"
 #include "failtest_helper.h"
 
 
-static bool failtest_suppress = false;
-
-/* Don't need to test everything here, just want fetch testing. */
-static enum failtest_result
-suppress_failure(struct failtest_call *history, unsigned num)
-{
-	if (failtest_suppress)
-		return FAIL_DONT_FAIL;
-	return block_repeat_failures(history, num);
-}
-
 int main(int argc, char *argv[])
 int main(int argc, char *argv[])
 {
 {
 	unsigned int i;
 	unsigned int i;
@@ -32,7 +21,7 @@ int main(int argc, char *argv[])
 	struct tdb_data data = tdb_mkdata("data", 4);
 	struct tdb_data data = tdb_mkdata("data", 4);
 
 
 	failtest_init(argc, argv);
 	failtest_init(argc, argv);
-	failtest_hook = suppress_failure;
+	failtest_hook = block_repeat_failures;
 	failtest_exit_check = exit_check_log;
 	failtest_exit_check = exit_check_log;
 
 
 	failtest_suppress = true;
 	failtest_suppress = true;

+ 1 - 12
ccan/tdb2/test/run-12-check.c

@@ -6,17 +6,6 @@
 #include "logging.h"
 #include "logging.h"
 #include "failtest_helper.h"
 #include "failtest_helper.h"
 
 
-static bool failtest_suppress = false;
-
-/* Don't need to test everything here, just want expand testing. */
-static enum failtest_result
-suppress_failure(struct failtest_call *history, unsigned num)
-{
-	if (failtest_suppress)
-		return FAIL_DONT_FAIL;
-	return block_repeat_failures(history, num);
-}
-
 int main(int argc, char *argv[])
 int main(int argc, char *argv[])
 {
 {
 	unsigned int i;
 	unsigned int i;
@@ -32,7 +21,7 @@ int main(int argc, char *argv[])
 	struct tdb_data data = tdb_mkdata("data", 4);
 	struct tdb_data data = tdb_mkdata("data", 4);
 
 
 	failtest_init(argc, argv);
 	failtest_init(argc, argv);
-	failtest_hook = suppress_failure;
+	failtest_hook = block_repeat_failures;
 	failtest_exit_check = exit_check_log;
 	failtest_exit_check = exit_check_log;
 
 
 	failtest_suppress = true;
 	failtest_suppress = true;