X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=tools%2Fccanlint%2Ftests%2Fexamples_run.c;h=0e473ca4050d142d1845563f3ea9a1e742f37629;hp=3cb456d49fa69d38f073f76229aa706b1ccb8e5a;hb=dc8042b42500f79f613b1197df6cdf739615a89f;hpb=7a163ea2dcafc056fdafc8c71ef011e2bfdbeb65 diff --git a/tools/ccanlint/tests/examples_run.c b/tools/ccanlint/tests/examples_run.c index 3cb456d4..0e473ca4 100644 --- a/tools/ccanlint/tests/examples_run.c +++ b/tools/ccanlint/tests/examples_run.c @@ -1,8 +1,8 @@ #include #include -#include #include #include +#include #include #include #include @@ -26,7 +26,7 @@ static const char *can_run(struct manifest *m) /* Very dumb scanner, allocates %s-strings. */ static bool scan_forv(const void *ctx, - const char *input, const char *fmt, const va_list *args) + const char *input, const char *fmt, va_list *args) { va_list ap; bool ret; @@ -36,10 +36,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; @@ -59,7 +59,7 @@ static bool scan_forv(const void *ctx, for (len = 1; input[len-1]; len++) { ret = scan_forv(ctx, input + len, fmt+2, &ap); if (ret) { - *p = talloc_strndup(ctx, input, len); + *p = tal_strndup(ctx, input, len); ret = true; break; } @@ -116,7 +116,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 +173,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 +184,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; } @@ -207,12 +207,12 @@ static char *unexpected(struct ccan_file *i, const char *input, bool ok; unsigned int default_time = default_timeout_ms; - cmd = talloc_asprintf(i, "echo '%s' | %s %s", - input, i->compiled, input); + cmd = tal_fmt(i, "echo '%s' | %s %s", + input, i->compiled[COMPILE_NORMAL], input); output = run_with_timeout(i, cmd, &ok, &default_time); if (!ok) - return talloc_asprintf(i, "Exited with non-zero status\n"); + return tal_fmt(i, "Exited with non-zero status\n"); if (exact) { if (streq(output, expect) || streq(trim(output), expect)) @@ -224,7 +224,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,35 +247,33 @@ 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) + if (i->compiled[COMPILE_NORMAL] == 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; } } } } +/* FIXME: Test with reduced features, valgrind! */ 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);