In an effort to ensure new code is reasonably covered by the test suite,
we now have contrib/coverage-diff.sh to combine the gcov output from
'make coverage-test ; make coverage-report' with the output from 'git
diff A B' to discover _new_ lines of code that are not covered.
This report takes the output of these results after running on four
branches:
pu: 13cafb433ca0dd31b3ea229a79cc8507aa89ee19 (tests are broken,
so coverage not reported)
jch: fda196ac82002ede984896861cf28a354044d1a0
next: 76f2f5c1e34c4dbef1029e2984c2892894c444ce
master: 04861070400d3ca9d487bd0d736ca818b9ffe371
maint: cae598d9980661a978e2df4fb338518f7bf09572
I ran the test suite on each of these branches on an Ubuntu Linux VM,
and I'm missing some dependencies (like apache, svn, and perforce) so
not all tests are run.
I submit this output without comment. I'm taking a look especially at my
own lines to see where coverage can be improved.
Thanks,
-Stolee
Uncovered code new in jch, compared to next. Build logs at [1]
--
builtin/archive.c
e001fd3a50 builtin/archive.c 78) die(_("git archive: expected ACK/NAK,
got a flush packet"));
e001fd3a50 builtin/archive.c 80) if (starts_with(reader.line, "NACK "))
e001fd3a50 builtin/archive.c 81) die(_("git archive: NACK %s"),
reader.line + 5);
e001fd3a50 builtin/archive.c 82) if (starts_with(reader.line, "ERR "))
e001fd3a50 builtin/archive.c 83) die(_("remote error: %s"), reader.line
+ 4);
e001fd3a50 builtin/archive.c 84) die(_("git archive: protocol error"));
e001fd3a50 builtin/archive.c 89) die(_("git archive: expected a flush"));
fb19d32f05 builtin/archive.c 99) if (version != discover_version(&reader))
fb19d32f05 builtin/archive.c 100) die(_("git archive: received different
protocol versions in subsequent requests"));
builtin/fetch.c
7bbc53a589 builtin/fetch.c 385) continue; /* can this happen??? */
builtin/rebase--interactive.c
53bbcfbde7 builtin/rebase--interactive2.c 24) return error(_("no HEAD?"));
53bbcfbde7 builtin/rebase--interactive2.c 51) return
error_errno(_("could not create temporary %s"), path_state_dir());
53bbcfbde7 builtin/rebase--interactive2.c 57) return
error_errno(_("could not mark as interactive"));
53bbcfbde7 builtin/rebase--interactive2.c 77) return -1;
53bbcfbde7 builtin/rebase--interactive2.c 81) return -1;
53bbcfbde7 builtin/rebase--interactive2.c 87) free(revisions);
53bbcfbde7 builtin/rebase--interactive2.c 88) free(shortrevisions);
53bbcfbde7 builtin/rebase--interactive2.c 90) return -1;
53bbcfbde7 builtin/rebase--interactive2.c 98) free(revisions);
53bbcfbde7 builtin/rebase--interactive2.c 99) free(shortrevisions);
53bbcfbde7 builtin/rebase--interactive2.c 101) return
error_errno(_("could not open %s"), rebase_path_todo());
53bbcfbde7 builtin/rebase--interactive2.c 106)
argv_array_push(&make_script_args, restrict_revision);
53bbcfbde7 builtin/rebase--interactive2.c 114) error(_("could not
generate todo list"));
53bbcfbde7 builtin/rebase--interactive2.c 206)
usage_with_options(builtin_rebase_interactive_usage, options);
53bbcfbde7 builtin/rebase--interactive2.c 220)
warning(_("--[no-]rebase-cousins has no effect without "
0af129b2ed builtin/rebase--interactive2.c 226) die(_("a base commit must
be provided with --upstream or --onto"));
34b47315d9 builtin/rebase--interactive.c 261) ret = rearrange_squash();
34b47315d9 builtin/rebase--interactive.c 262) break;
34b47315d9 builtin/rebase--interactive.c 264) ret =
sequencer_add_exec_commands(cmd);
34b47315d9 builtin/rebase--interactive.c 265) break;
0af129b2ed builtin/rebase--interactive2.c 267) BUG("invalid command
'%d'", command);
builtin/rebase.c
55071ea248 61) strbuf_trim(&out);
55071ea248 62) ret = !strcmp("true", out.buf);
55071ea248 63) strbuf_release(&out);
002ee2fe68 115) die(_("%s requires an interactive rebase"), option);
f95736288a 148) return error_errno(_("could not read '%s'"), path);
f95736288a 162) return -1;
f95736288a 167) return error(_("could not get 'onto': '%s'"), buf.buf);
f95736288a 178) return -1;
f95736288a 179) } else if (read_one(state_dir_path("head", opts), &buf))
f95736288a 180) return -1;
f95736288a 182) return error(_("invalid orig-head: '%s'"), buf.buf);
f95736288a 186) return -1;
f95736288a 188) opts->flags &= ~REBASE_NO_QUIET;
73d51ed0a5 196) opts->signoff = 1;
73d51ed0a5 197) opts->flags |= REBASE_FORCE;
ead98c111b 204) return -1;
12026a412c 219) return -1;
ba1905a5fe 227) return -1;
ba1905a5fe 235) return -1;
6defce2b02 255) return error(_("Could not read '%s'"), path);
6defce2b02 271) res = error(_("Cannot store %s"), autostash.buf);
6defce2b02 275) return res;
bc24382c2b 373) argv_array_pushf(&child.args,
bc24382c2b 375) oid_to_hex(&opts->restrict_revision->object.oid));
ac7f467fef 488) BUG("Unhandled rebase type %d", opts->type);
ac7f467fef 507) struct strbuf dir = STRBUF_INIT;
6defce2b02 509)