X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=tools%2Fccanlint%2Ftests%2Fexamples_run.c;h=18bb849d3d0076ace733c28669cd33911bbd6930;hp=6418d833bfcd6126c786f37c4e5b28fbac5a70c3;hb=af5b1a18948345c5f9f9abf4eda3ab9fe0aa9a9f;hpb=759a9f5e3a18eb3a0635d5629ff29c722eebdfb4 diff --git a/tools/ccanlint/tests/examples_run.c b/tools/ccanlint/tests/examples_run.c index 6418d833..18bb849d 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; } @@ -208,7 +209,7 @@ static char *unexpected(struct ccan_file *i, const char *input, unsigned int default_time = default_timeout_ms; cmd = talloc_asprintf(i, "echo '%s' | %s %s", - input, i->compiled, input); + input, i->compiled[COMPILE_NORMAL], input); output = run_with_timeout(i, cmd, &ok, &default_time); if (!ok) @@ -224,7 +225,7 @@ static char *unexpected(struct ccan_file *i, const char *input, return output; } -static void run_examples(struct manifest *m, bool keep, +static void run_examples(struct manifest *m, unsigned int *timeleft, struct score *score) { struct ccan_file *i; @@ -247,8 +248,7 @@ static void run_examples(struct manifest *m, bool keep, linenum++, expect = find_expect(i, lines, &input, &exact, &linenum)) { - char *err; - if (i->compiled == NULL) + if (i->compiled[COMPILE_NORMAL] == NULL) continue; score->total++; @@ -257,20 +257,18 @@ static void run_examples(struct manifest *m, bool keep, 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; } } } } +/* FIXME: Test with reduced features, valgrind! */ struct ccanlint examples_run = { .key = "examples_run", .name = "Module examples with expected output give that output",