From 655620a250b1dcca27c5342d31db637ea35e837c Mon Sep 17 00:00:00 2001 From: David Gibson Date: Thu, 3 Nov 2016 09:34:23 +1100 Subject: [PATCH] ccanlint: Alter meaning of --summary option --summary (used by make check) causes ccanlint to only ever print a one-line summary of the results. When one of the tests fails, this isn't very useful, because it doesn't say why it failed, or even which test failed. This is particularly frustrating for failures in Travis CI builds where it's not always straightforward to reproduce a similar enough build environment to check the failure manually for a particular module. --summary does have one purpose which is vital for make check, though: it suppresses any attempt to interactively correct / improve the module printing only results. This changes --summary to only have the second effect, not the first. This won't change the output in the case of passing modules, but will give more useful information in the case of failing modules. Signed-off-by: David Gibson --- tools/ccanlint/ccanlint.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/ccanlint/ccanlint.c b/tools/ccanlint/ccanlint.c index 629ffd51..0ed969cb 100644 --- a/tools/ccanlint/ccanlint.c +++ b/tools/ccanlint/ccanlint.c @@ -98,7 +98,7 @@ static bool cannot_run(struct dgraph_node *node, void *all UNNEEDED) } struct run_info { - bool quiet; + bool noninteractive; unsigned int score, total; struct manifest *m; const char *prefix; @@ -165,7 +165,7 @@ static bool run_test(struct dgraph_node *n, struct run_info *run) } assert(score->score <= score->total); - if ((!score->pass && !run->quiet) + if (!score->pass || (score->score < score->total && verbose) || verbose > 1) { printf("%s%s (%s): %s", @@ -176,13 +176,13 @@ static bool run_test(struct dgraph_node *n, struct run_info *run) printf("\n"); } - if ((!run->quiet && !score->pass) || verbose) { + if (!score->pass || verbose) { if (score->error) { printf("%s%s", score->error, strends(score->error, "\n") ? "" : "\n"); } } - if (!run->quiet && score->score < score->total && i->handle) + if (!run->noninteractive && score->score < score->total && i->handle) i->handle(run->m, score); if (!score->pass) { @@ -567,7 +567,7 @@ static bool run_tests(struct dgraph_node *all, struct run_info run; const char *comment = ""; - run.quiet = summary; + run.noninteractive = summary; run.m = m; run.prefix = prefix; run.score = run.total = 0; @@ -638,7 +638,7 @@ int main(int argc, char *argv[]) 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"); + "give results only, no interactive correction"); opt_register_arg("-x|--exclude ", exclude_test, NULL, NULL, "exclude (can be used multiple times)"); opt_register_arg("--timeout ", opt_set_uintval, -- 2.39.2