threads / patch / 66488

patcht7004: check a missing key without deleting gpghome

Subject: [PATCH] t7004: check a missing key without deleting gpghome

## tl;dr

2 messages between Oct 8, 2026 and Oct 8, 2026. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Harald Nordgren via GitGitGadget· Oct 8, 2026, 09:07 UTC · lore
From: Harald Nordgren <haraldnordgren@gmail.com>

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.

Signed-off-by: Harald Nordgren <haraldnordgren@gmail.com>
---
    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(-)
Show changes to t/t7004-tag.sh +2 −2
diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh
index 8c795d7218..a0c2c9a3a1 100755
--- a/t/t7004-tag.sh
+++ b/t/t7004-tag.sh
@@ -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
-- 
gitgitgadget
Junio C Hamano· Oct 8, 2026, 19:40 UTC · re: Harald Nordgren via GitGitGadget · lore

Re: [PATCH] t7004: check a missing key without deleting gpghome

"Harald Nordgren via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 13 quoted lines
> From: Harald Nordgren <haraldnordgren@gmail.com>
>
> 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.
>
> Signed-off-by: Harald Nordgren <haraldnordgren@gmail.com>
> ---

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.
Show 35 quoted 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(-)
>
> diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh
> index 8c795d7218..a0c2c9a3a1 100755
> --- a/t/t7004-tag.sh
> +++ b/t/t7004-tag.sh
> @@ -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

← back to recent threads