From 1819a36a3e69565bd7b853503fceb846558a45bd Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Wed, 30 Nov 2011 09:01:11 +1030 Subject: [PATCH] tdb2: consolidate testing failtest suppression routines. Less cut & paste means less patching as failtest changes. --- ccan/tdb2/test/failtest_helper.c | 5 +++++ ccan/tdb2/test/failtest_helper.h | 3 +++ ccan/tdb2/test/run-01-new_database.c | 13 +------------ ccan/tdb2/test/run-02-expand.c | 13 +------------ ccan/tdb2/test/run-05-readonly-open.c | 13 +------------ ccan/tdb2/test/run-10-simple-store.c | 13 +------------ ccan/tdb2/test/run-11-simple-fetch.c | 13 +------------ ccan/tdb2/test/run-12-check.c | 13 +------------ 8 files changed, 14 insertions(+), 72 deletions(-) diff --git a/ccan/tdb2/test/failtest_helper.c b/ccan/tdb2/test/failtest_helper.c index 1358a6c6..d24ac4c4 100644 --- a/ccan/tdb2/test/failtest_helper.c +++ b/ccan/tdb2/test/failtest_helper.c @@ -3,6 +3,8 @@ #include #include +bool failtest_suppress = false; + /* FIXME: From ccan/str */ 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]; + if (failtest_suppress) + return FAIL_DONT_FAIL; + if (failmatch(last, INITIAL_TDB_MALLOC) || failmatch(last, URANDOM_OPEN) || failmatch(last, URANDOM_READ)) { diff --git a/ccan/tdb2/test/failtest_helper.h b/ccan/tdb2/test/failtest_helper.h index 02acac8c..7f912bb5 100644 --- a/ccan/tdb2/test/failtest_helper.h +++ b/ccan/tdb2/test/failtest_helper.h @@ -14,4 +14,7 @@ bool failmatch(const struct failtest_call *call, enum failtest_result block_repeat_failures(struct failtest_call *history, unsigned num); +/* Set this to suppress failure. */ +extern bool failtest_suppress; + #endif /* TDB2_TEST_LOGGING_H */ diff --git a/ccan/tdb2/test/run-01-new_database.c b/ccan/tdb2/test/run-01-new_database.c index 7b5a57df..a5f0dd37 100644 --- a/ccan/tdb2/test/run-01-new_database.c +++ b/ccan/tdb2/test/run-01-new_database.c @@ -5,17 +5,6 @@ #include "logging.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[]) { unsigned int i; @@ -30,7 +19,7 @@ int main(int argc, char *argv[]) TDB_NOMMAP|TDB_CONVERT|TDB_VERSION1 }; failtest_init(argc, argv); - failtest_hook = suppress_failure; + failtest_hook = block_repeat_failures; failtest_exit_check = exit_check_log; plan_tests(sizeof(flags) / sizeof(flags[0]) * 3); for (i = 0; i < sizeof(flags) / sizeof(flags[0]); i++) { diff --git a/ccan/tdb2/test/run-02-expand.c b/ccan/tdb2/test/run-02-expand.c index f3c3d4d4..e3f5905a 100644 --- a/ccan/tdb2/test/run-02-expand.c +++ b/ccan/tdb2/test/run-02-expand.c @@ -5,17 +5,6 @@ #include "logging.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[]) { unsigned int i; @@ -28,7 +17,7 @@ int main(int argc, char *argv[]) plan_tests(sizeof(flags) / sizeof(flags[0]) * 11 + 1); failtest_init(argc, argv); - failtest_hook = suppress_failure; + failtest_hook = block_repeat_failures; failtest_exit_check = exit_check_log; for (i = 0; i < sizeof(flags) / sizeof(flags[0]); i++) { diff --git a/ccan/tdb2/test/run-05-readonly-open.c b/ccan/tdb2/test/run-05-readonly-open.c index c4776f53..80eb5675 100644 --- a/ccan/tdb2/test/run-05-readonly-open.c +++ b/ccan/tdb2/test/run-05-readonly-open.c @@ -5,17 +5,6 @@ #include "logging.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[]) { unsigned int i; @@ -31,7 +20,7 @@ int main(int argc, char *argv[]) unsigned int msgs = 0; failtest_init(argc, argv); - failtest_hook = suppress_failure; + failtest_hook = block_repeat_failures; failtest_exit_check = exit_check_log; seed_attr.base.attr = TDB_ATTRIBUTE_SEED; diff --git a/ccan/tdb2/test/run-10-simple-store.c b/ccan/tdb2/test/run-10-simple-store.c index ac08548c..10bbb498 100644 --- a/ccan/tdb2/test/run-10-simple-store.c +++ b/ccan/tdb2/test/run-10-simple-store.c @@ -5,17 +5,6 @@ #include "logging.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[]) { unsigned int i; @@ -32,7 +21,7 @@ int main(int argc, char *argv[]) struct tdb_data data = tdb_mkdata("data", 4); failtest_init(argc, argv); - failtest_hook = suppress_failure; + failtest_hook = block_repeat_failures; failtest_exit_check = exit_check_log; failtest_suppress = true; diff --git a/ccan/tdb2/test/run-11-simple-fetch.c b/ccan/tdb2/test/run-11-simple-fetch.c index 517d64dc..79087941 100644 --- a/ccan/tdb2/test/run-11-simple-fetch.c +++ b/ccan/tdb2/test/run-11-simple-fetch.c @@ -5,17 +5,6 @@ #include "logging.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[]) { unsigned int i; @@ -32,7 +21,7 @@ int main(int argc, char *argv[]) struct tdb_data data = tdb_mkdata("data", 4); failtest_init(argc, argv); - failtest_hook = suppress_failure; + failtest_hook = block_repeat_failures; failtest_exit_check = exit_check_log; failtest_suppress = true; diff --git a/ccan/tdb2/test/run-12-check.c b/ccan/tdb2/test/run-12-check.c index 06abe422..b55bfe7d 100644 --- a/ccan/tdb2/test/run-12-check.c +++ b/ccan/tdb2/test/run-12-check.c @@ -6,17 +6,6 @@ #include "logging.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[]) { unsigned int i; @@ -32,7 +21,7 @@ int main(int argc, char *argv[]) struct tdb_data data = tdb_mkdata("data", 4); failtest_init(argc, argv); - failtest_hook = suppress_failure; + failtest_hook = block_repeat_failures; failtest_exit_check = exit_check_log; failtest_suppress = true; -- 2.39.2