]> git.ozlabs.org Git - ccan/blobdiff - tools/ccanlint/tests/examples_run.c
configurator: HAVE_PROC_SELF_MAPS
[ccan] / tools / ccanlint / tests / examples_run.c
index 4cf9242297988ad64b75835f098799aea52c2915..18bb849d3d0076ace733c28669cd33911bbd6930 100644 (file)
@@ -3,6 +3,7 @@
 #include <ccan/talloc/talloc.h>
 #include <ccan/foreach/foreach.h>
 #include <ccan/str/str.h>
+#include <ccan/cast/cast.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
@@ -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,7 +248,7 @@ static void run_examples(struct manifest *m, bool keep,
                             linenum++,
                                     expect = find_expect(i, lines, &input,
                                                          &exact, &linenum)) {
-                               if (i->compiled == NULL)
+                               if (i->compiled[COMPILE_NORMAL] == NULL)
                                        continue;
 
                                score->total++;
@@ -267,6 +268,7 @@ static void run_examples(struct manifest *m, bool keep,
        }
 }
 
+/* FIXME: Test with reduced features, valgrind! */
 struct ccanlint examples_run = {
        .key = "examples_run",
        .name = "Module examples with expected output give that output",