]> git.ozlabs.org Git - ccan/blobdiff - tools/ccanlint/ccanlint.h
ccanlint: parse --verbose before anything else.
[ccan] / tools / ccanlint / ccanlint.h
index 827fba141ff1c3908a790df7f793cc5f1ae43755..16600cff4d0e83411b9c6aab1e5722fc718838c8 100644 (file)
@@ -20,6 +20,7 @@ extern int verbose;
 enum compile_type {
        COMPILE_NORMAL,
        COMPILE_NOFEAT,
+       COMPILE_COVERAGE,
        COMPILE_TYPES
 };
 
@@ -90,6 +91,9 @@ struct ccanlint {
        /* Can we run this test?  Return string explaining why, if not. */
        const char *(*can_run)(struct manifest *m);
 
+       /* Should we stop immediately if test fails? */
+       bool compulsory;
+
        /* keep is set if you should keep the results.
         * If timeleft is set to 0, means it timed out.
         * score is the result, and a talloc context freed after all our
@@ -182,9 +186,6 @@ struct ccan_file {
        /* If this file gets compiled (eg. .C file to .o file), result here. */
        char *compiled[COMPILE_TYPES];
 
-       /* Compiled with coverage information. */
-       char *cov_compiled;
-
        /* Filename containing output from valgrind. */
        char *valgrind_log;
 
@@ -237,6 +238,20 @@ char **per_file_options(const struct ccanlint *test, struct ccan_file *f);
 void score_file_error(struct score *, struct ccan_file *f, unsigned line,
                      const char *errorfmt, ...);
 
+/* Start a command in the background. */
+void run_command_async(const void *ctx, unsigned int time_ms,
+                      const char *fmt, ...);
+
+/* Async version of compile_and_link. */
+void compile_and_link_async(const void *ctx, unsigned int time_ms,
+                           const char *cfile, const char *ccandir,
+                           const char *objs, const char *compiler,
+                           const char *cflags,
+                           const char *libs, const char *outfile);
+
+/* Get results of a command, returning ctx (and free it). */
+void *collect_command(bool *ok, char **output);
+
 /* Normal tests. */
 extern struct ccanlint trailing_whitespace;