X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=tools%2Fccanlint%2Fccanlint.c;h=8c6ee1e4080410075a408efc1621041ab7637fb3;hp=5abcb9e8920ddfd36bc7401031db928bbbfa5fa0;hb=0621cac3bf1b5cf4c90de56e0e43b0acde0c94f1;hpb=04f453bbedd1eca3e5ab93290304d8193ffdd87f diff --git a/tools/ccanlint/ccanlint.c b/tools/ccanlint/ccanlint.c index 5abcb9e8..8c6ee1e4 100644 --- a/tools/ccanlint/ccanlint.c +++ b/tools/ccanlint/ccanlint.c @@ -42,6 +42,7 @@ struct ccanlint_map { int verbose = 0; static struct ccanlint_map tests; bool safe_mode = false; +bool keep_results = false; static bool targeting = false; static unsigned int timeout; @@ -150,7 +151,7 @@ static bool run_test(struct dgraph_node *n, struct run_info *run) } timeleft = timeout ? timeout : default_timeout_ms; - i->check(run->m, i->keep_results, &timeleft, score); + i->check(run->m, &timeleft, score); if (timeout && timeleft == 0) { i->skip = "timeout"; if (verbose) @@ -278,19 +279,18 @@ static bool check_names(const char *member, struct ccanlint *c, return true; } -#undef REGISTER_TEST -#define REGISTER_TEST(name, ...) extern struct ccanlint name -#include "generated-testlist" - static void init_tests(void) { struct ccanlint_map names; + struct ccanlint **table; + size_t i, num; strmap_init(&tests); -#undef REGISTER_TEST -#define REGISTER_TEST(name) register_test(&name) -#include "generated-testlist" + table = autodata_get(ccanlint_tests, &num); + for (i = 0; i < num; i++) + register_test(table[i]); + autodata_free(table); strmap_iterate(&tests, init_deps, NULL); @@ -343,22 +343,9 @@ static int show_tmpdir(const char *dir) return 0; } -static bool keep_one_test(const char *member, struct ccanlint *c, void *unused) -{ - c->keep_results = true; - return true; -} - -static char *keep_test(const char *testname, void *unused) +static char *keep_tests(void *unused) { - if (streq(testname, "all")) { - strmap_iterate(&tests, keep_one_test, NULL); - } else { - struct ccanlint *i = find_test(testname); - if (!i) - errx(1, "No test %s to --keep", testname); - keep_one_test(testname, i, NULL); - } + keep_results = true; /* Don't automatically destroy temporary dir. */ talloc_set_destructor(temp_dir(NULL), show_tmpdir); @@ -726,9 +713,8 @@ int main(int argc, char *argv[]) "list tests ccanlint performs (and exit)"); opt_register_noarg("--test-dep-graph", test_dependency_graph, NULL, "print dependency graph of tests in Graphviz .dot format"); - opt_register_arg("-k|--keep ", keep_test, NULL, NULL, - "keep results of " - " (can be used multiple times, or 'all')"); + opt_register_noarg("-k|--keep", keep_tests, NULL, + "do not delete ccanlint working files"); opt_register_noarg("--summary|-s", opt_set_bool, &summary, "simply give one line summary"); opt_register_arg("-x|--exclude ", exclude_test, NULL, NULL,