From 7f95ad045a36f1d40f66c815c9461bd5720c5808 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Mon, 5 Dec 2011 17:03:19 +1030 Subject: [PATCH] tdb2: consolidate testing failtest suppression routines. Less cut & paste means less patching as failtest changes. Signed-off-by: Rusty Russell (Imported from CCAN commit 1819a36a3e69565bd7b853503fceb846558a45bd) --- lib/tdb2/test/failtest_helper.c | 5 +++++ lib/tdb2/test/failtest_helper.h | 3 +++ lib/tdb2/test/run-01-new_database.c | 13 +------------ lib/tdb2/test/run-02-expand.c | 13 +------------ lib/tdb2/test/run-05-readonly-open.c | 13 +------------ lib/tdb2/test/run-10-simple-store.c | 13 +------------ lib/tdb2/test/run-11-simple-fetch.c | 13 +------------ lib/tdb2/test/run-12-check.c | 13 +------------ 8 files changed, 14 insertions(+), 72 deletions(-) diff --git a/lib/tdb2/test/failtest_helper.c b/lib/tdb2/test/failtest_helper.c index 1358a6c6b26..d24ac4c42b1 100644 --- a/lib/tdb2/test/failtest_helper.c +++ b/lib/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/lib/tdb2/test/failtest_helper.h b/lib/tdb2/test/failtest_helper.h index 02acac8c3cf..7f912bb5e91 100644 --- a/lib/tdb2/test/failtest_helper.h +++ b/lib/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/lib/tdb2/test/run-01-new_database.c b/lib/tdb2/test/run-01-new_database.c index 07a97035332..e08e3201e65 100644 --- a/lib/tdb2/test/run-01-new_database.c +++ b/lib/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/lib/tdb2/test/run-02-expand.c b/lib/tdb2/test/run-02-expand.c index 192a3547d84..dacf5f21945 100644 --- a/lib/tdb2/test/run-02-expand.c +++ b/lib/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/lib/tdb2/test/run-05-readonly-open.c b/lib/tdb2/test/run-05-readonly-open.c index c4776f53b23..80eb56759b7 100644 --- a/lib/tdb2/test/run-05-readonly-open.c +++ b/lib/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/lib/tdb2/test/run-10-simple-store.c b/lib/tdb2/test/run-10-simple-store.c index bedb64baf09..b195d80ab1d 100644 --- a/lib/tdb2/test/run-10-simple-store.c +++ b/lib/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/lib/tdb2/test/run-11-simple-fetch.c b/lib/tdb2/test/run-11-simple-fetch.c index bb06000ef7c..8681eef22c5 100644 --- a/lib/tdb2/test/run-11-simple-fetch.c +++ b/lib/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/lib/tdb2/test/run-12-check.c b/lib/tdb2/test/run-12-check.c index 06abe422ab4..b55bfe7d463 100644 --- a/lib/tdb2/test/run-12-check.c +++ b/lib/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.45.1