X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=tools%2Fccanlint%2Ftests%2Fexamples_run.c;h=5c06c263e5228ebc0fffaf9e19abdc9ce6f7503e;hp=103e1798f03b0c5eea721917322ccdd8cd18f14a;hb=076877c266706ba432987195422a1e8653bd0c3b;hpb=c102d5ecffeda1b43afae0e994e42829b92baf61 diff --git a/tools/ccanlint/tests/examples_run.c b/tools/ccanlint/tests/examples_run.c index 103e1798..5c06c263 100644 --- a/tools/ccanlint/tests/examples_run.c +++ b/tools/ccanlint/tests/examples_run.c @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include @@ -36,10 +37,10 @@ static bool scan_forv(const void *ctx, va_copy(ap, *args); - if (isspace(fmt[0])) { + if (cisspace(fmt[0])) { /* One format space can swallow many input spaces */ ret = false; - while (isspace(input[0])) { + while (cisspace(input[0])) { if (scan_forv(ctx, ++input, fmt+1, &ap)) { ret = true; break; @@ -116,7 +117,7 @@ static char *find_expect(struct ccan_file *file, foreach_ptr(fmt, "outputs '%s'", "outputs \"%s\"") { if (scan_for(file, p, fmt, &expect)) { - *input = ""; + *input = cast_const(char *, ""); *exact = true; return expect; } @@ -173,7 +174,7 @@ static char *find_expect(struct ccan_file *file, "outputs \"%s\"", "outputs %s") { if (scan_for(file, p, fmt, &expect)) { - *input = ""; + *input = cast_const(char *, ""); *exact = true; return expect; } @@ -184,7 +185,7 @@ static char *find_expect(struct ccan_file *file, "output contains \"%s\"", "output contains %s") { if (scan_for(file, p, fmt, &expect)) { - *input = ""; + *input = cast_const(char *, ""); *exact = false; return expect; } @@ -247,24 +248,20 @@ static void run_examples(struct manifest *m, bool keep, linenum++, expect = find_expect(i, lines, &input, &exact, &linenum)) { - char *err; - score->total++; if (i->compiled == NULL) continue; + score->total++; output = unexpected(i, input, expect, exact); if (!output) { score->score++; continue; } - err = talloc_asprintf(score, - "output '%s' didn't" - " %s '%s'\n", - output, - exact - ? "match" : "contain", - expect); - score_file_error(score, i, linenum+1, err); + score_file_error(score, i, linenum+1, + "output '%s' didn't %s '%s'\n", + output, + exact ? "match" : "contain", + expect); score->pass = false; } } @@ -272,10 +269,11 @@ static void run_examples(struct manifest *m, bool keep, } struct ccanlint examples_run = { - .key = "examples-run", + .key = "examples_run", .name = "Module examples with expected output give that output", .check = run_examples, .can_run = can_run, + .needs = "examples_compile" }; -REGISTER_TEST(examples_run, &examples_compile, NULL); +REGISTER_TEST(examples_run);