mbox series

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

Message ID 20240703153738.916469-1-tmz@pobox.com (mailing list archive)
Headers show
Series t/lib-gpg: ensure GNUPGHOME is created as needed | expand

Message

Todd Zullinger July 3, 2024, 3:37 p.m. UTC
Hi,

While reviewing my local build logs, I noticed a number of tests being
skipped unintentionally.  I had not done so with any of the 2.45.0
releases, unfortunately, which is when this began.

92 of the 202 tests in t1016-compatObjectFormat.sh are skipped due to
the GNUPGHOME directory missing, e.g.:

    ok 5 # SKIP create a sha1 signed commit (missing GPG2)
    ok 6 # SKIP create a sha1 signed tag (missing GPG2)
    ok 8 # SKIP create another sha1 signed tag (missing GPG2)
    ok 9 # SKIP merge the sha1 branches together (missing GPG2)

With these changes, they are all run (successfully). :)

I presume that they have been skipped in the Github CI runs as well,
but I don't know that the logs show enough detail to confirm that.

Thanks,
Todd


Todd Zullinger (2):
  t/lib-gpg: add prepare_gnupghome() to create GNUPGHOME dir
  t/lib-gpg: call prepare_gnupghome() in GPG2 prereq

 t/lib-gpg.sh | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

Comments

Todd Zullinger July 3, 2024, 4:29 p.m. UTC | #1
I wrote:
> 92 of the 202 tests in t1016-compatObjectFormat.sh are skipped due to
> the GNUPGHOME directory missing, e.g.:
> 
>     ok 5 # SKIP create a sha1 signed commit (missing GPG2)
>     ok 6 # SKIP create a sha1 signed tag (missing GPG2)
>     ok 8 # SKIP create another sha1 signed tag (missing GPG2)
>     ok 9 # SKIP merge the sha1 branches together (missing GPG2)
> 
> With these changes, they are all run (successfully). :)
> 
> I presume that they have been skipped in the Github CI runs as well,
> but I don't know that the logs show enough detail to confirm that.

D'oh!  I spoke too soon.  I'd run the test suite on several
different rpm-based hosts (Fedora 39 and Rocky 9).  Waiting
for the Github actions to run is what I should have done.

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.