bool lines_matter = false;
/*
- Output looks like:
+ Output looks like: (gcov 4.6.3)
File '../../../ccan/tdb2/private.h'
Lines executed:0.00% of 8
/home/ccan/ccan/tdb2/test/run-simple-delete.c:creating 'run-simple-delete.c.gcov'
File '../../../ccan/tdb2/tdb.c'
Lines executed:0.00% of 450
+
+ For gcov 4.7.2:
+
+ File '/home/dwg/src/ccan/ccan/rfc822/test/run-check-check.c'
+ Lines executed:100.00% of 19
+ Creating 'run-check-check.c.gcov'
*/
for (i = 0; lines[i]; i++) {
errx(1, "Could not parse line '%s'", lines[i]);
total_lines += of;
covered_lines += ex / 100.0 * of;
- } else if (full_gcov && strstr(lines[i], ":creating '")) {
+ } else if (full_gcov
+ && (strstr(lines[i], ":creating '")
+ || strstarts(lines[i], "Creating '"))) {
char *file, *filename, *apostrophe;
apostrophe = strchr(lines[i], '\'');
filename = apostrophe + 1;
}
static void do_run_coverage_tests(struct manifest *m,
- bool keep,
unsigned int *timeleft, struct score *score)
{
struct ccan_file *i;
full_gcov ? "" : "-n",
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) {
list_for_each(list, i, list) {