]> git.ozlabs.org Git - ccan/blobdiff - tools/ccanlint/tests/examples_compile.c
ccanlint: print coverage amount when -vv
[ccan] / tools / ccanlint / tests / examples_compile.c
index a3ab73a967e0557f567a00f02d518aa26032bcff..578805fe0c62a23db549a6e54e6fb0018980a15a 100644 (file)
@@ -122,6 +122,9 @@ static bool compile(const void *ctx,
        if (!compile_and_link(ctx, file->fullname, ccan_dir,
                              obj_list(m, file),
                              "", lib_list(m), file->compiled, output)) {
+               /* Don't keep failures. */
+               if (keep)
+                       unlink(file->compiled);
                talloc_free(file->compiled);
                file->compiled = NULL;
                return false;
@@ -542,25 +545,23 @@ static void build_examples(struct manifest *m, bool keep,
                                        prev = lines[j];
                                score->score++;
                                warnings = true;
-                               score->error = "Compiling extracted example"
-                                       " gave warnings";
-                               error = talloc_asprintf(score,
-                                       "Example:\n"
-                                       "%s\n"
-                                       "Compiler:\n"
-                                       "%s",
-                                       get_ccan_file_contents(file[j]),
-                                       err[j]);
-                               score_file_error(score, file[j], 0, error);
+                               score_file_error(score, file[j], 0,
+                                                "Compiling extracted example"
+                                                " gave warnings:\n"
+                                                "Example:\n"
+                                                "%s\n"
+                                                "Compiler:\n"
+                                                "%s",
+                                                get_ccan_file_contents(file[j]),
+                                                err[j]);
                                goto next;
                        }
                }
 
                score->pass = false;
-               score->error = "Compiling extracted examples failed";
                if (!verbose) {
                        if (num == 3)
-                               error = "Standalone, adding headers, "
+                               error = "Compiling standalone, adding headers, "
                                        "and including previous "
                                        "example all failed";
                        else
@@ -598,7 +599,7 @@ static void build_examples(struct manifest *m, bool keep,
                                      err[1]);
                        }
                }
-               score_file_error(score, i, 0, error);
+               score_file_error(score, i, 0, "%s", error);
                /* This didn't work, so not a candidate for combining. */
                prev = NULL;