Re: [PATCH 0/2] t/lib-gpg: ensure GNUPGHOME is created as needed
From: Eric W. Biederman <hidden>
Date: 2025-10-27 20:17:35
"Eric W. Biederman" [off-list ref] writes:
Junio C Hamano [off-list ref] writes:quoted
"Eric W. Biederman" [off-list ref] writes:quoted
The only possible source of flakiness in the tests I can see is the possibility of t/t1016/gpg not getting called (which uses a fixed timestamp). It appears you just fixed that problem in commit 516bf45749bb ("t1016: make sure to use specified GPG").I think that one also is in 'seen', and yet we saw t1016 flaky X-<. Let me isolate the relevant topics and test them again, i.e. $ git checkout --detach v2.51.0 $ git merge --no-ff jc/t1016-setup-fix ;# 516bf45749 $ git merge --no-ff tz/test-prepare-gnupghome~1 ;# 6cd8369ef3 $ git log --no-merges --oneline v2.51.0.. 516bf45749 (jc/t1016-setup-fix) t1016: make sure to use specified GPG 6cd8369ef3 t/lib-gpg: call prepare_gnupghome() in GPG2 prereq a35952b493 t/lib-gpg: add prepare_gnupghome() to create GNUPGHOME dir $ make $ cd t && ./t1016-*.sh --stress FAIL 10.1 FAIL 5.1 FAIL 34.1 ... ++ eval 'diff -u' '"$@"' +++ diff -u signedcommit3_sha1 signedcommit3_sha1_expected --- signedcommit3_sha1 2025-10-27 17:34:58.237496945 +0000 +++ signedcommit3_sha1_expected 2025-10-27 17:34:58.145497051 +0000 @@ -1 +1 @@ -de9cabc2419f97eb665452c198ed93e890a7ef87 +c87cd5157461a81b60ef6d3c47562c12b328ef54 error: last command exited with $?=1 not ok 163 - Verify commit signedcommit3'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 # 1..163Interesting. With --stress I can reproduce the flakiness locally as well. I am starting to dig any but I haven't found any smoking guns yet. So far manually running the commands that resulted in the failure are giving me the same output, but I have several more to run.
So far in the two should be identical sha1 and sha256 repositories I can confirm the failure is because the repositories are out of sync. The sha256 gpg signatures match The sha1 gpg signatures do not match Which is very weird. If they both didn't match it would be easy to explain. This is starting to look like this is a case of the test doing it's job and finding a problem, rather than a problem in the test infrastructure. I will keep digging. git/t/trash directory.t1016-compatObjectFormat.stress-failed$ ../../git --git-dir=repo-sha256/.git cat-file tag signedtag34 object 94ee57ed028bc464ec9f9dc1d9c4b8c09fd89ac00e34b2bae3105803a995a6cd type commit tag signedtag34 tagger C O Mitter [off-list ref] 1112354055 +0200 gpgsig -----BEGIN PGP SIGNATURE----- iHQEABECADQWIQRz11h0S+chaY7FTocTtvUezd5DDQUCZQhxPBYcY29tbWl0dGVy QGV4YW1wbGUuY29tAAoJEBO29R7N3kMN3wIAoLYbVnmMIQnKqAfCDEtLGKDgH+M4 AKDNi19wI7o7yWzThiujYZ422iMRGA== =lsWm -----END PGP SIGNATURE----- This is an additional signed tag -----BEGIN PGP SIGNATURE----- iHQEABECADQWIQRz11h0S+chaY7FTocTtvUezd5DDQUCZQhxPBYcY29tbWl0dGVy QGV4YW1wbGUuY29tAAoJEBO29R7N3kMN21sAn2RYjMjcngN6AqBeo9RmIUn7NnWY AJ97WUStWCcHXMkxU+HVPeuA/CvPYw== =7Jpz -----END PGP SIGNATURE----- git/t/trash directory.t1016-compatObjectFormat.stress-failed$ ../../git --git-dir=repo-sha1/.git cat-file tag signedtag34 object 9ea30d18399b9957ce40766318510dab211d747b type commit tag signedtag34 tagger C O Mitter [off-list ref] 1112354055 +0200 gpgsig-sha256 -----BEGIN PGP SIGNATURE----- iHQEABECADQWIQRz11h0S+chaY7FTocTtvUezd5DDQUCZQhxPBYcY29tbWl0dGVy QGV4YW1wbGUuY29tAAoJEBO29R7N3kMN21sAn2RYjMjcngN6AqBeo9RmIUn7NnWY AJ97WUStWCcHXMkxU+HVPeuA/CvPYw== =7Jpz -----END PGP SIGNATURE----- This is an additional signed tag -----BEGIN PGP SIGNATURE----- iHQEABECADQWIQRz11h0S+chaY7FTocTtvUezd5DDQUCZQhxPRYcY29tbWl0dGVy QGV4YW1wbGUuY29tAAoJEBO29R7N3kMNvn4AmwRHkPsmDmKgUB6r1XP4dSzXWw+G AKCEzEgk2bHuKv6d2L/M0bzseGlOfA== =G+Gp -----END PGP SIGNATURE----- Eric