Subject: Re: [RFC/PATCH] Makefile: add test-all target

From: Junio C Hamano <[email-masked]>
Date: Wed, 08 Dec 2021 14:22:33 -0800

Derrick Stolee <[email-masked]> writes:

>> +test-extra: all
>> +	$(MAKE) -C contrib/diff-highlight test
>> +	$(MAKE) -C contrib/mw-to-git test
>> +	$(MAKE) -C contrib/subtree test
>
> I like how this is obviously extendible to include contrib/scalar
> in a later change, then remove it when Scalar moves.
>
>> +test-all:: test test-extra
>
> And this test-all implies that test runs before test-extra, so
> libgit.a is compiled appropriately.

I do not think this implies the ordering between the main test and
the extra test.  "make test-all" actually makes a confusing mess on
the terminal by conflating outputs from the main test and tests run
in contrib.

But because test-extra depends on all, we are keeping the assumption
that Makefiles in contrib/ may assume that the primary build has
already been done.

>> diff --git i/ci/run-build-and-tests.sh w/ci/run-build-and-tests.sh
>> index cc62616d80..9da0f26665 100755
>> --- i/ci/run-build-and-tests.sh
>> +++ w/ci/run-build-and-tests.sh
>> @@ -19,7 +19,7 @@ make
>>  case "$jobname" in
>>  linux-gcc)
>>  	export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
>> -	make test
>> +	make test-all
>
> Since we are now building and testing things that we have not been
> testing recently, it is worth checking that we don't have any work
> to do to make this pass. I assume that you've run 'make test-all'
> on your own machine. It will be good to see what the full action
> reports (probably all good).

Yes, I am tempted to queue this at the tip of 'seen'.