Skip to contentSkip to conversation

t7004: check a missing key without deleting gpghome

PATCH In review Harald Nordgren via GitGitGadget 2 participants 2 messages Oct 8

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 t7004: check a missing key without deleting gpghome

From: Harald Nordgren <[email protected]>

The "verify signed tag fails when public key is not present" test deletes gpghome to lose the key, and this sometimes fails on Alpine with

rm: can't remove 'gpghome/S.gpg-agent.extra': No such file or directory

Point GNUPGHOME at an unused directory for the verification, which is how t7510 checks a signature whose key is unknown.

---
t7004: check a missing key without deleting gpghome

Fix flaky test by checking missing key without deleting gpghome.

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-2443%2FHaraldNordgren%2Fflaky-gpg-http2-tests-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-2443/HaraldNordgren/flaky-gpg-http2-tests-v1
Pull-Request: https://github.com/git/git/pull/2443

 t/t7004-tag.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
t/t7004-tag.sh +2 -2
index 8c795d7218..a0c2c9a3a1 100755
@@ -11,6 +11,7 @@ GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
 
 . ./test-lib.sh
+GNUPGHOME_NOT_USED=$GNUPGHOME
 . "$TEST_DIRECTORY"/lib-gpg.sh
 . "$TEST_DIRECTORY"/lib-terminal.sh
 
@@ -1525,8 +1526,7 @@ test_expect_success GPGSM 'git tag -s fails if gpgsm is misconfigured (bad signa
 # try to verify without gpg:
 
 test_expect_success GPG 'verify signed tag fails when public key is not present' '
-	rm -rf gpghome &&
-	test_must_fail git tag -v signed-tag
+	test_must_fail env GNUPGHOME="$GNUPGHOME_NOT_USED" git tag -v signed-tag
 '
 
 test_expect_success 'git tag -a fails if tag annotation is empty' '

base-commit: 6de20f6092dcf9bdb1c8efe03db4b70c82b423dd

Signature · 1 line
gitgitgadget
#1 lore raw
Quoted 6 lines · Harald Nordgren via GitGitGadget

From: Harald Nordgren <[email protected]>

The "verify signed tag fails when public key is not present" test deletes gpghome to lose the key, and this sometimes fails on Alpine with

Quoted 7 lines

rm: can't remove 'gpghome/S.gpg-agent.extra': No such file or directory

Point GNUPGHOME at an unused directory for the verification, which is how t7510 checks a signature whose key is unknown.

---

Interesting. It is curious why removal "sometimes" fails but it is coming from clean-up the gpg-agent tries to do, probably.

In any case, it is a very good idea to borrow solution from an existing test. Nicely done.

Will queue. Thanks.

Quoted 35 lines

t7004: check a missing key without deleting gpghome

Fix flaky test by checking missing key without deleting gpghome.

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-2443%2FHaraldNordgren%2Fflaky-gpg-http2-tests-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-2443/HaraldNordgren/flaky-gpg-http2-tests-v1
Pull-Request: https://github.com/git/git/pull/2443

 t/t7004-tag.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
t/t7004-tag.sh +2 -2
index 8c795d7218..a0c2c9a3a1 100755
@@ -11,6 +11,7 @@ GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
 
 . ./test-lib.sh
+GNUPGHOME_NOT_USED=$GNUPGHOME
 . "$TEST_DIRECTORY"/lib-gpg.sh
 . "$TEST_DIRECTORY"/lib-terminal.sh
 
@@ -1525,8 +1526,7 @@ test_expect_success GPGSM 'git tag -s fails if gpgsm is misconfigured (bad signa
 # try to verify without gpg:
 
 test_expect_success GPG 'verify signed tag fails when public key is not present' '
-	rm -rf gpghome &&
-	test_must_fail git tag -v signed-tag
+	test_must_fail env GNUPGHOME="$GNUPGHOME_NOT_USED" git tag -v signed-tag
 '
 
 test_expect_success 'git tag -a fails if tag annotation is empty' '

base-commit: 6de20f6092dcf9bdb1c8efe03db4b70c82b423dd