]> git.ozlabs.org Git - ccan/blobdiff - tools/ccanlint/tests/tests_coverage.c
ccanlint: add coverage variant of files.
[ccan] / tools / ccanlint / tests / tests_coverage.c
index 67829e96918f8fe4e1509ac8830fd27a83e2b9cb..ba677ceacf57f90090338d6a478239ac83999ca4 100644 (file)
@@ -135,9 +135,11 @@ static void do_run_coverage_tests(struct manifest *m,
        char *covcmd;
        bool full_gcov = (verbose > 1);
        struct list_head *list;
        char *covcmd;
        bool full_gcov = (verbose > 1);
        struct list_head *list;
+       bool ran_some = false;
 
        /* This tells gcov where we put those .gcno files. */
 
        /* This tells gcov where we put those .gcno files. */
-       outdir = talloc_dirname(score, m->info_file->compiled);
+       outdir = talloc_dirname(score,
+                               m->info_file->compiled[COMPILE_NORMAL]);
        covcmd = talloc_asprintf(m, "gcov %s -o %s",
                                 full_gcov ? "" : "-n",
                                 outdir);
        covcmd = talloc_asprintf(m, "gcov %s -o %s",
                                 full_gcov ? "" : "-n",
                                 outdir);
@@ -156,7 +158,7 @@ static void do_run_coverage_tests(struct manifest *m,
        foreach_ptr(list, &m->run_tests, &m->api_tests) {
                list_for_each(list, i, list) {
                        if (run_command(score, timeleft, &cmdout,
        foreach_ptr(list, &m->run_tests, &m->api_tests) {
                list_for_each(list, i, list) {
                        if (run_command(score, timeleft, &cmdout,
-                                       "%s", i->cov_compiled)) {
+                                       "%s", i->compiled[COMPILE_COVERAGE])) {
                                covcmd = talloc_asprintf_append(covcmd, " %s",
                                                                i->fullname);
                        } else {
                                covcmd = talloc_asprintf_append(covcmd, " %s",
                                                                i->fullname);
                        } else {
@@ -165,9 +167,17 @@ static void do_run_coverage_tests(struct manifest *m,
                                                 " failed: %s", cmdout);
                                return;
                        }
                                                 " failed: %s", cmdout);
                                return;
                        }
+                       ran_some = true;
                }
        }
 
                }
        }
 
+       /* No tests at all?  0 out of 0 for you... */
+       if (!ran_some) {
+               score->total = score->score = 0;
+               score->pass = true;
+               return;
+       }
+
        /* Now run gcov: we want output even if it succeeds. */
        if (!run_command(score, timeleft, &cmdout, "%s", covcmd)) {
                score->error = talloc_asprintf(score, "Running gcov: %s",
        /* Now run gcov: we want output even if it succeeds. */
        if (!run_command(score, timeleft, &cmdout, "%s", covcmd)) {
                score->error = talloc_asprintf(score, "Running gcov: %s",