git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 1/1] Makefile: add a prerequisite to the coverage-report target

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 11, 2022, 22:59 UTC
Message-ID
<xmqqpmlnfcq1.fsf@gitster.g>
In-Reply-To
<220411.86fsmji970.gmgdl@evledraar.gmail.com>
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
Show 14 quoted lines
> I haven't come up with a patch for these coverage targets, but I think
> it would be much more useful to:
>
>  * Not have the target itself compile git, i.e. work like SANITIZE=leak,
>    there's no reason you shouldn't be able to e.g. combine the two
>    easily, it's just a complimentary set of flags.
>
>  * We should be able to run this in parallel, see
>    e.g. https://stackoverflow.com/questions/14643589/code-coverage-using-gcov-on-parallel-run
>    for a trick for how to do that on gcc 9+, on older gcc GCOV_PREFIX*
>    can be used.
>
>    I.e. we'd save these in t/test-results/t0001.coverage or whatever,
>    and then "join" them at the end.

I can see how this might lead to "Ah, *.coverage file exists so we run report to show that existing result", but it is not reasonable to say "we didn't touch t0001 so we do not have to rerun the script under coverage-test" because whatever git subcommand we use may have be updated (we _could_ describe the dependency fully so we only re-run t0001 if any of t0001-init.sh, "git init", "git config", and "git" is newer than the existing t0001.coverage; I do not know if that is sensible, though). And ...

> I wonder if the issue this patch is trying to address would then just go
> away, i.e. isn't it OK that we'd re-run the tests to get the report
> then? gcov doesn't add that much runtime overhead.

... I don't think overhead of gcov matters all that much. Overhead of "Having to" rerun tests primarily comes from running the tests, with or without gcov enabled, so...

Or are you suggesting that we'd enable gcov in all our test runs by default?

Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 4 of 6 in “Makefile: add a prerequisite to the coverage-report target”
  1. 1/1 Makefile: add a prerequisite to the coverage-report targetElia Pinto, Apr 9, 2022
  2. Junio C HamanoApr 11, 2022
  3. Ævar Arnfjörð BjarmasonApr 11, 2022
  4. Junio C HamanoApr 11, 2022
  5. Ævar Arnfjörð BjarmasonApr 12, 2022
  6. Junio C HamanoApr 12, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.