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

Re: [PATCH 0/2] t/lib-gpg: ensure GNUPGHOME is created as needed

From
Junio C Hamano <gitster@pobox.com>
Date
Oct 26, 2025, 01:25 UTC
Message-ID
<xmqqbjlump3m.fsf@gitster.g>
In-Reply-To
<Z8HVkqqD054QGPIE@teonanacatl.net>
Todd Zullinger <tmz@pobox.com> writes:
Show 54 quoted lines
> I've intended to dig into it further over the past few
> months but have not managed to spend enough time to work out
> the root of the problem.
>
> I hope that someone more familiar with these tests (or
> perhaps someone with fresh eyes) will spot the problem.
>> 
>> A number of these fail, e.g.:
>> 
>> https://github.com/tmzullinger/git/actions/runs/9780387020/job/27001952643#step:4:1871
>> 
>>     Error: failed: t1016.173 Verify commit signedcommit4's sha1 oid
>>     failure: t1016.173 Verify commit signedcommit4's sha1 oid 
>> 	    git --git-dir=repo-sha256/.git rev-parse --output-object-format=sha1 ${sha256_oid} > ${name}_sha1 &&
>> 	    test_cmp ${name}_sha1 ${name}_sha1_expected
>>       
>>       + git --git-dir=repo-sha256/.git rev-parse --output-object-format=sha1 5d70155cc40e4c16515c89ad0b11d8c691436fc4a4d3ca246669a4c21f07e454
>>       + test_cmp signedcommit4_sha1 signedcommit4_sha1_expected
>>       + test 2 -ne 2
>>       + eval diff -u "$@"
>>       + diff -u signedcommit4_sha1 signedcommit4_sha1_expected
>>       --- signedcommit4_sha1	2024-07-03 15:11:05.597537579 +0000
>>       +++ signedcommit4_sha1_expected	2024-07-03 15:11:05.553537766 +0000
>>       @@ -1 +1 @@
>>       -9179ccc5b15588bc3a45c5cc75bdec380f8ccb86
>>       +c6c46f92bc2cfda57ad6bf7981fa654825376b24
>>       error: last command exited with $?=1
>>       not ok 173 - Verify commit signedcommit4's sha1 oid
>>       #	
>>       #		git --git-dir=repo-sha256/.git rev-parse --output-object-format=sha1 ${sha256_oid} > ${name}_sha1 &&
>>       #		test_cmp ${name}_sha1 ${name}_sha1_expected
>>       #	
>> 
>> This seems like it's just exposing a pre-existing failure,
>> as I can't imagine how creating GNUPGHOME would cause the
>> actual and expected SHA's to differ. :)
>> 
>> Perhaps the intended gpg wrapper script which sets
>> `--faked-system-time` isn't being used?
>> 
>> I'm not sure why that would differ in the Github actions
>> from my local builds, but I don't know what else differs in
>> the Ubuntu images and/or environment used by the actions.
>
> I have run a good number of builds with the patches applied
> and t1016-compatObjectFormat regularly fails for all of the
> tests which use the GPG2 prereq.  A recent Github CI run is
> here:
>
>     https://github.com/tmzullinger/git/actions/runs/13570544425
>
> I think this test flakiness should be fixed so that we can
> apply the patch to fix the GPG2 prereq.  As it is, we're
> skipping _all_ of the tests which require GPG2.

Any progress or responses? All of these tests, that nobody seemed to have caught breakage of because they weren't being run anyway, seem to be flakey with the new GNUPGHOME set-up.

I am tempted to do this in the meantime, but I'd really prefer not to have to do so, assuming that these tests, when fixed, would be materially contributing to the health of our codebase.

Thanks.
 t/t1016-compatObjectFormat.sh | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/t/t1016-compatObjectFormat.sh b/t/t1016-compatObjectFormat.sh
index be3206a16f..0968962f1d 100755
--- a/t/t1016-compatObjectFormat.sh
+++ b/t/t1016-compatObjectFormat.sh
@@ -261,21 +261,21 @@ compare_oids () {
 compare_oids 'blob' hello "$hello_sha1_oid" "$hello_sha256_oid"
 compare_oids 'tree' tree "$tree_sha1_oid" "$tree_sha256_oid"
 compare_oids 'commit' commit "$commit_sha1_oid" "$commit_sha256_oid"
-compare_oids GPG2 'commit' signedcommit "$signedcommit_sha1_oid" "$signedcommit_sha256_oid"
+compare_oids GPG2,FLAKEY 'commit' signedcommit "$signedcommit_sha1_oid" "$signedcommit_sha256_oid"
 compare_oids 'tag' hellotag "$hellotag_sha1_oid" "$hellotag_sha256_oid"
 compare_oids 'tag' treetag "$treetag_sha1_oid" "$treetag_sha256_oid"
 compare_oids 'tag' committag "$committag_sha1_oid" "$committag_sha256_oid"
-compare_oids GPG2 'tag' signedtag "$signedtag_sha1_oid" "$signedtag_sha256_oid"
+compare_oids GPG2,FLAKEY 'tag' signedtag "$signedtag_sha1_oid" "$signedtag_sha256_oid"
 
 compare_oids 'blob' more "$more_sha1_oid" "$more_sha256_oid"
 compare_oids 'blob' another "$another_sha1_oid" "$another_sha256_oid"
 compare_oids 'tree' tree2 "$tree2_sha1_oid" "$tree2_sha256_oid"
 compare_oids 'commit' commit2 "$commit2_sha1_oid" "$commit2_sha256_oid"
-compare_oids GPG2 'tag' signedtag2 "$signedtag2_sha1_oid" "$signedtag2_sha256_oid"
-compare_oids GPG2 'commit' signedcommit2 "$signedcommit2_sha1_oid" "$signedcommit2_sha256_oid"
-compare_oids GPG2 'commit' signedcommit3 "$signedcommit3_sha1_oid" "$signedcommit3_sha256_oid"
-compare_oids GPG2 'commit' signedcommit4 "$signedcommit4_sha1_oid" "$signedcommit4_sha256_oid"
-compare_oids GPG2 'tag' signedtag3 "$signedtag3_sha1_oid" "$signedtag3_sha256_oid"
-compare_oids GPG2 'tag' signedtag4 "$signedtag4_sha1_oid" "$signedtag4_sha256_oid"
+compare_oids GPG2,FLAKEY 'tag' signedtag2 "$signedtag2_sha1_oid" "$signedtag2_sha256_oid"
+compare_oids GPG2,FLAKEY 'commit' signedcommit2 "$signedcommit2_sha1_oid" "$signedcommit2_sha256_oid"
+compare_oids GPG2,FLAKEY 'commit' signedcommit3 "$signedcommit3_sha1_oid" "$signedcommit3_sha256_oid"
+compare_oids GPG2,FLAKEY 'commit' signedcommit4 "$signedcommit4_sha1_oid" "$signedcommit4_sha256_oid"
+compare_oids GPG2,FLAKEY 'tag' signedtag3 "$signedtag3_sha1_oid" "$signedtag3_sha256_oid"
+compare_oids GPG2,FLAKEY 'tag' signedtag4 "$signedtag4_sha1_oid" "$signedtag4_sha256_oid"
 
 test_done
-- 
2.51.1-691-gd530f589c3
Previous: Todd ZullingerNext: Eric W. Biederman
Message 6 of 14 in “t/lib-gpg: ensure GNUPGHOME is created as needed”
  1. 0/2 t/lib-gpg: ensure GNUPGHOME is created as neededTodd Zullinger, Jul 3, 2024
  2. 1/2 t/lib-gpg: add prepare_gnupghome() to create GNUPGHOME dirTodd Zullinger, Jul 3, 2024
  3. 2/2 t/lib-gpg: call prepare_gnupghome() in GPG2 prereqTodd Zullinger, Jul 3, 2024
  4. Todd ZullingerJul 3, 2024
  5. Todd ZullingerFeb 28, 2025
  6. Junio C HamanoOct 26, 2025
  7. Eric W. BiedermanOct 27, 2025
  8. Junio C HamanoOct 27, 2025
  9. Eric W. BiedermanOct 27, 2025
  10. Eric W. BiedermanOct 27, 2025
  11. Junio C HamanoOct 27, 2025
  12. t1016-compatObjectFormat: Really freeze time for reproduciblityEric W. Biederman, Oct 28, 2025
  13. Junio C HamanoOct 28, 2025
  14. Todd ZullingerOct 29, 2025

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.