X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=tools%2Fccanlint%2Ftests%2Ftests_coverage.c;h=ec9774dae53650778aaef9c02688e0b01e02c26e;hb=1f45ec04761cd99011445c6d41cd64a3951f77e0;hp=7943071b76634bfc50ce88e962ba8dfffc4480e6;hpb=020f8ef45a751b9fc9f3739e8e8f8f9ddae69be8;p=ccan-lca-2011.git diff --git a/tools/ccanlint/tests/tests_coverage.c b/tools/ccanlint/tests/tests_coverage.c index 7943071..ec9774d 100644 --- a/tools/ccanlint/tests/tests_coverage.c +++ b/tools/ccanlint/tests/tests_coverage.c @@ -127,15 +127,26 @@ static void do_run_coverage_tests(struct manifest *m, unsigned int *timeleft, struct score *score) { struct ccan_file *i; - char *cmdout; + char *cmdout, *outdir; char *covcmd; bool full_gcov = (verbose > 1); struct list_head *list; /* This tells gcov where we put those .gcno files. */ + outdir = talloc_dirname(score, m->info_file->compiled); covcmd = talloc_asprintf(m, "gcov %s -o %s", full_gcov ? "" : "-n", - talloc_dirname(score, m->info_file->compiled)); + outdir); + + /* Unlink these files afterwards. */ + if (!keep) { + talloc_set_destructor(talloc_asprintf(score, + "%s/run.gcno", outdir), + unlink_file_destructor); + talloc_set_destructor(talloc_asprintf(score, + "%s/run.gcda", outdir), + unlink_file_destructor); + } /* Run them all. */ foreach_ptr(list, &m->run_tests, &m->api_tests) {