Subject: Re: [PATCH] Makefile: add a prerequisite to the coverage-report target

From: Junio C Hamano <[email-masked]>
Date: Fri, 08 Apr 2022 13:10:57 -0700

Elia Pinto <[email-masked]> writes:

> @@ -3409,7 +3409,7 @@ coverage-prove: coverage-clean-results coverage-compile
>  		DEFAULT_TEST_TARGET=prove GIT_PROVE_OPTS="$(GIT_PROVE_OPTS) -j1" \
>  		-j1 test
>  
> -coverage-report:
> +coverage-report: coverage-test
>  	$(QUIET_GCOV)for dir in $(object_dirs); do \
>  		$(GCOV) $(GCOVFLAGS) --object-directory=$$dir $$dir*.c || exit; \
>  	done

I am not sure if this alone makes it a good change.

With the current set-up, you can run coverage-test or coverage-prove
once, view coverage-report, shift your attention to elsewhere to
address issues you saw in the report, and then decide to view the
report again to remind yourself what you saw and what motivated you
to work on your changes.  Most likely this sequence would be
followed by another run of coverage-test followed by coverage-report
to compare what you saw before you made these changes with the
covernage report after your changes.

If this were conditional, i.e. "ah, I see you haven't run any
coverage test yet, so let me run it for you before showing the
result" combined with "ok, I see you did run coverage test, so let
me just show the result without running tests anew", then it would
be a strict improvement from the status quo.

But with the patch as posted, wouldn't we unconditonally wipe the
earlier result out?  If so that may negatively affect established
workflow of some people, I am afraid.

Thanks.