]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t/gpg: simplify test for unknown key
authorFabian Stelzer <fs@gigacodes.de>
Wed, 12 Jan 2022 12:07:57 +0000 (13:07 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 12 Jan 2022 19:21:22 +0000 (11:21 -0800)
To test for a key that is completely unknown to the keyring we need one
to sign the commit with. This was done by generating a new key and not
add it into the keyring. To avoid the key generation overhead and
problems where GPG did hang in CI during it, switch GNUPGHOME to the
empty $GNUPGHOME_NOT_USED instead, therefore making all used keys unknown
for this single `verify-commit` call.

Reported-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Fabian Stelzer <fs@gigacodes.de>
Reviewed-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t7510-signed-commit.sh

index d65a0171f29c85b437721d823737189a9d72df81..50721aaf794ffc781279d8e855e95921d70843d0 100755 (executable)
@@ -71,25 +71,7 @@ test_expect_success GPG 'create signed commits' '
        git tag eleventh-signed $(cat oid) &&
        echo 12 | git commit-tree --gpg-sign=B7227189 HEAD^{tree} >oid &&
        test_line_count = 1 oid &&
-       git tag twelfth-signed-alt $(cat oid) &&
-
-       cat >keydetails <<-\EOF &&
-       Key-Type: RSA
-       Key-Length: 2048
-       Subkey-Type: RSA
-       Subkey-Length: 2048
-       Name-Real: Unknown User
-       Name-Email: unknown@git.com
-       Expire-Date: 0
-       %no-ask-passphrase
-       %no-protection
-       EOF
-       gpg --batch --gen-key keydetails &&
-       echo 13 >file && git commit -a -S"unknown@git.com" -m thirteenth &&
-       git tag thirteenth-signed &&
-       DELETE_FINGERPRINT=$(gpg -K --with-colons --fingerprint --batch unknown@git.com | grep "^fpr" | head -n 1 | awk -F ":" "{print \$10;}") &&
-       gpg --batch --yes --delete-secret-keys $DELETE_FINGERPRINT &&
-       gpg --batch --yes --delete-keys unknown@git.com
+       git tag twelfth-signed-alt $(cat oid)
 '
 
 test_expect_success GPG 'verify and show signatures' '
@@ -129,7 +111,7 @@ test_expect_success GPG 'verify and show signatures' '
 '
 
 test_expect_success GPG 'verify-commit exits failure on unknown signature' '
-       test_must_fail git verify-commit thirteenth-signed 2>actual &&
+       test_must_fail env GNUPGHOME="$GNUPGHOME_NOT_USED" git verify-commit initial 2>actual &&
        ! grep "Good signature from" actual &&
        ! grep "BAD signature from" actual &&
        grep -q -F -e "No public key" -e "public key not found" actual