X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=tools%2Fccanlint%2Fccanlint.c;h=d19ede6200e01ac2856c162f42c1c8f7c8936727;hb=b1801a00c945b67d8c218edd9e13dc483a60ac70;hp=3b7dceb23ababae98ec458d29934a49009d79523;hpb=a8e0cfb1b02bd89850540f60232fc52fb0a11500;p=ccan diff --git a/tools/ccanlint/ccanlint.c b/tools/ccanlint/ccanlint.c index 3b7dceb2..d19ede62 100644 --- a/tools/ccanlint/ccanlint.c +++ b/tools/ccanlint/ccanlint.c @@ -107,7 +107,7 @@ static bool run_test(struct ccanlint *i, struct manifest *m) { void *result; - unsigned int this_score, timeleft; + unsigned int this_score, max_score, timeleft; const struct dependent *d; const char *skip; bool bad, good; @@ -143,22 +143,25 @@ static bool run_test(struct ccanlint *i, goto skip; } + max_score = i->total_score; + if (!max_score) + max_score = 1; + if (!result) - this_score = i->total_score ? i->total_score : 1; + this_score = max_score; else if (i->score) this_score = i->score(m, result); else this_score = 0; - bad = (this_score == 0 && i->total_score != 0); - good = (this_score >= i->total_score); + bad = (this_score == 0); + good = (this_score >= max_score); - if (verbose || (bad && !quiet)) { + if (verbose || (!good && !quiet)) { printf(" %s: %s", i->name, bad ? "FAIL" : good ? "PASS" : "PARTIAL"); - if (i->total_score) - printf(" (+%u/%u)", - this_score, i->total_score); + if (max_score > 1) + printf(" (+%u/%u)", this_score, max_score); printf("\n"); }