X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=tools%2Fccanlint%2Fccanlint.c;h=1c7ee389dbc75728d35091e23a7d0c5a4463a469;hp=42da05afad85719a09ebe66f9bb0d9849608d96b;hb=37e247dbcb57f4b2effd44b37b96dc679ee525d0;hpb=1f45ec04761cd99011445c6d41cd64a3951f77e0 diff --git a/tools/ccanlint/ccanlint.c b/tools/ccanlint/ccanlint.c index 42da05af..1c7ee389 100644 --- a/tools/ccanlint/ccanlint.c +++ b/tools/ccanlint/ccanlint.c @@ -149,8 +149,10 @@ static bool run_test(struct ccanlint *i, } if ((!quiet && !score->pass) || verbose) { - if (score->error) - printf("%s", score->error); + if (score->error) { + printf("%s%s", score->error, + strends(score->error, "\n") ? "" : "\n"); + } if (!quiet && !score->pass && i->handle) i->handle(m, score); } @@ -238,7 +240,7 @@ static void init_tests(void) /* Resolve dependencies. */ foreach_ptr(list, &compulsory_tests, &normal_tests) { list_for_each(list, c, list) { - char **deps = strsplit(NULL, c->needs, " ", NULL); + char **deps = strsplit(NULL, c->needs, " "); unsigned int i; for (i = 0; deps[i]; i++) { @@ -300,10 +302,20 @@ static int show_tmpdir(char *dir) static char *keep_test(const char *testname, void *unused) { - struct ccanlint *i = find_test(testname); - if (!i) - errx(1, "No test %s to --keep", testname); - i->keep_results = true; + struct ccanlint *i; + + if (streq(testname, "all")) { + struct list_head *list; + foreach_ptr(list, &compulsory_tests, &normal_tests) { + list_for_each(list, i, list) + i->keep_results = true; + } + } else { + i = find_test(testname); + if (!i) + errx(1, "No test %s to --keep", testname); + i->keep_results = true; + } /* Don't automatically destroy temporary dir. */ talloc_set_destructor(temp_dir(NULL), show_tmpdir); @@ -400,8 +412,8 @@ static void add_info_options(struct ccan_file *info, bool mark_fails) continue; for (i = 0; i < d->num_lines; i++) { - char **words = collapse(strsplit(d, d->lines[i], " \t", - NULL), NULL); + char **words = collapse(strsplit(d, d->lines[i], " \t"), + NULL); if (!words[0]) continue; @@ -486,7 +498,8 @@ int main(int argc, char *argv[]) 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)"); + "keep results of " + " (can be used multiple times, or 'all')"); opt_register_noarg("--summary|-s", opt_set_bool, &summary, "simply give one line summary"); opt_register_noarg("--verbose|-v", opt_inc_intval, &verbose,