X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=tools%2Fccanlint%2Ftests%2Ftests_coverage.c;h=ba677ceacf57f90090338d6a478239ac83999ca4;hp=67829e96918f8fe4e1509ac8830fd27a83e2b9cb;hb=8af0812be4b3fcb82d82b70ea1b571225a76ca19;hpb=37e247dbcb57f4b2effd44b37b96dc679ee525d0 diff --git a/tools/ccanlint/tests/tests_coverage.c b/tools/ccanlint/tests/tests_coverage.c index 67829e96..ba677cea 100644 --- a/tools/ccanlint/tests/tests_coverage.c +++ b/tools/ccanlint/tests/tests_coverage.c @@ -135,9 +135,11 @@ static void do_run_coverage_tests(struct manifest *m, char *covcmd; bool full_gcov = (verbose > 1); struct list_head *list; + bool ran_some = false; /* 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); @@ -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, - "%s", i->cov_compiled)) { + "%s", i->compiled[COMPILE_COVERAGE])) { 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; } + 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",