Subject: Re: [PATCH] t1016: make sure to use specified GPG

From: Todd Zullinger <[email-masked]>
Date: Sun, 12 Oct 2025 10:23:49 -0400

Junio C Hamano wrote:
> c348192a (t1016: clean up style, 2024-10-22) fixed a coding style
> violation that has an extra space between redirection operator ">"
> and the redirection target, but at the same time, replaced the use
> of "git config" to set a configuration variable to be used by the
> remainder of tests with "test_config".  The pattern employed here is
> that the first set-up test prepares the environment to be used by
> subsequent tests, which then use the settings left by this set-up
> test to perform their tasks.  Using test_config in the first set-up
> test means the config setting made by the set-up test is reverted at
> the end of the first set-up test, which totally misses the point.
> 
> Go back to use "git config" to fix this.
> 
> Signed-off-by: Junio C Hamano <[email-masked]>
> ---
>  * The commit in question was from October last year, and I didn't
>    notice it until I looked at how the test script evolved.  It is a
>    bit embarrassing that we didn't catch it during review.

Interesting.  And well-spotted.

This _does_ seem to resolve the failures in our CI and in
the Fedora build system.  I was able to run a few test
builds.  With this fix, the tests were successful where they
were not without it.

I remember suspecting the gpg calls were not using the
wrapper command in gpg.program.  I even tried forcing the
--faked-system-time for all the tests to check that theory,
unsuccessfully.

Oddly, I ran into test failures after fixing the GPG2 prereq
long before c348192afe (t1016: clean up style, 2024-10-22)
was in place.  Perhaps I was hitting a different issue
initially?  Then, when I looked at it again I didn't think
about gpg.program again, since I'd already tried to force
the gpg wrapper which sets --faked-system-time.

It's both annoying and embarrassing if it is that simple and
I missed it after looking a few times, to be sure.  But I'll
be happy with the end result all the same. :)

>  t/t1016-compatObjectFormat.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/t/t1016-compatObjectFormat.sh b/t/t1016-compatObjectFormat.sh
> index 8341a2fe83..cb6d308f1d 100755
> --- a/t/t1016-compatObjectFormat.sh
> +++ b/t/t1016-compatObjectFormat.sh
> @@ -116,7 +116,7 @@ do
>  		git config core.repositoryformatversion 1 &&
>  		git config extensions.objectformat $hash &&
>  		git config extensions.compatobjectformat $(compat_hash $hash) &&
> -		test_config gpg.program $TEST_DIRECTORY/t1016/gpg &&
> +		git config gpg.program $TEST_DIRECTORY/t1016/gpg &&
>  		echo "Hello World!" >hello &&
>  		eval hello_${hash}_oid=$(git hash-object hello) &&
>  		git update-index --add hello &&

-- 
Todd