# [PATCH] t6300: fix setup with GPGSSH but without GPG

4 messages from 2023-07-16 to 2023-07-17. Participants: René Scharfe, Christian Couder, Junio C Hamano.
Thread: https://gitlist.dev/t/59992

## René Scharfe, 2023-07-16 08:17

Subject: [PATCH] t6300: fix setup with GPGSSH but without GPG
Message-ID: <cbc22750-af93-9274-2ed4-6dfd356568e8@web.de>
URL: https://gitlist.dev/e/cbc22750-af93-9274-2ed4-6dfd356568e8%40web.de

```
In a test introduced by 26c9c03f0a (ref-filter: add new "signature"
atom, 2023-06-04) the file named "file" is added by a setup step that
requires GPG and modified by a second setup step that requires GPGSSH.
Systems lacking the first prerequisite skip the initial setup step and
then "git commit -a" in the second one doesn't find the modified file.
Add it explicitly.

Signed-off-by: René Scharfe <l.s.r@web.de>
---
 t/t6300-for-each-ref.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/t/t6300-for-each-ref.sh b/t/t6300-for-each-ref.sh
index 6e6ec852b5..1180c3254c 100755
--- a/t/t6300-for-each-ref.sh
+++ b/t/t6300-for-each-ref.sh
@@ -1584,7 +1584,8 @@ test_expect_success GPGSSH 'setup for signature atom using ssh' '
 	test_config user.signingkey "${GPGSSH_KEY_PRIMARY}" &&
 	echo "8" >file &&
 	test_tick &&
-	git commit -a -S -m "file: 8" &&
+	git add file &&
+	git commit -S -m "file: 8" &&
 	git tag eighth-signed-ssh
 '

--
2.41.0

```

## Christian Couder, 2023-07-17 06:33

Subject: Re: [PATCH] t6300: fix setup with GPGSSH but without GPG
Message-ID: <CAP8UFD0pjX1Pz9bq+CqiR-M85KVOWdGnBvgQJ=NDA4voC2n30w@mail.gmail.com>
URL: https://gitlist.dev/e/CAP8UFD0pjX1Pz9bq%2BCqiR-M85KVOWdGnBvgQJ%3DNDA4voC2n30w%40mail.gmail.com
In-Reply-To: <cbc22750-af93-9274-2ed4-6dfd356568e8@web.de>

```
On Sun, Jul 16, 2023 at 10:17 AM René Scharfe <l.s.r@web.de> wrote:
>
> In a test introduced by 26c9c03f0a (ref-filter: add new "signature"
> atom, 2023-06-04) the file named "file" is added by a setup step that
> requires GPG and modified by a second setup step that requires GPGSSH.
> Systems lacking the first prerequisite skip the initial setup step and
> then "git commit -a" in the second one doesn't find the modified file.
> Add it explicitly.

Right, acked!

Thanks!

```

## Junio C Hamano, 2023-07-17 16:22

Subject: Re: [PATCH] t6300: fix setup with GPGSSH but without GPG
Message-ID: <xmqqwmyyik2o.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqqwmyyik2o.fsf%40gitster.g
In-Reply-To: <cbc22750-af93-9274-2ed4-6dfd356568e8@web.de>

```
René Scharfe <l.s.r@web.de> writes:

> In a test introduced by 26c9c03f0a (ref-filter: add new "signature"
> atom, 2023-06-04) the file named "file" is added by a setup step that
> requires GPG and modified by a second setup step that requires GPGSSH.
> Systems lacking the first prerequisite skip the initial setup step and
> then "git commit -a" in the second one doesn't find the modified file.
> Add it explicitly.
>
> Signed-off-by: René Scharfe <l.s.r@web.de>
> ---
>  t/t6300-for-each-ref.sh | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

Thanks for good eyes.

I guess a box without GPG is not so uncommon, and even such a box
can reasonably be expected to have SSH on it, so I would believe if
this was discovered on a real development box, but is that how you
found this?  Or have you invented a nice test helper that lets you
pick random set of prerequisites and try permutations of having and
not having them, or something nice like that?

Will queue.

> diff --git a/t/t6300-for-each-ref.sh b/t/t6300-for-each-ref.sh
> index 6e6ec852b5..1180c3254c 100755
> --- a/t/t6300-for-each-ref.sh
> +++ b/t/t6300-for-each-ref.sh
> @@ -1584,7 +1584,8 @@ test_expect_success GPGSSH 'setup for signature atom using ssh' '
>  	test_config user.signingkey "${GPGSSH_KEY_PRIMARY}" &&
>  	echo "8" >file &&
>  	test_tick &&
> -	git commit -a -S -m "file: 8" &&
> +	git add file &&
> +	git commit -S -m "file: 8" &&
>  	git tag eighth-signed-ssh
>  '
>
> --
> 2.41.0

```

## René Scharfe, 2023-07-17 17:12

Subject: Re: [PATCH] t6300: fix setup with GPGSSH but without GPG
Message-ID: <183f69ff-8b6b-80a5-4d25-d58d25ae5b5f@web.de>
URL: https://gitlist.dev/e/183f69ff-8b6b-80a5-4d25-d58d25ae5b5f%40web.de
In-Reply-To: <xmqqwmyyik2o.fsf@gitster.g>

```
Am 17.07.23 um 18:22 schrieb Junio C Hamano:
> René Scharfe <l.s.r@web.de> writes:
>
>> In a test introduced by 26c9c03f0a (ref-filter: add new "signature"
>> atom, 2023-06-04) the file named "file" is added by a setup step that
>> requires GPG and modified by a second setup step that requires GPGSSH.
>> Systems lacking the first prerequisite skip the initial setup step and
>> then "git commit -a" in the second one doesn't find the modified file.
>> Add it explicitly.
>>
>> Signed-off-by: René Scharfe <l.s.r@web.de>
>> ---
>>  t/t6300-for-each-ref.sh | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> Thanks for good eyes.
>
> I guess a box without GPG is not so uncommon, and even such a box
> can reasonably be expected to have SSH on it, so I would believe if
> this was discovered on a real development box, but is that how you
> found this?  Or have you invented a nice test helper that lets you
> pick random set of prerequisites and try permutations of having and
> not having them, or something nice like that?

The test actually did fail on my machine.

Running tests with all possible permutations of prerequisites would be
nice, but sounds very expensive -- there must be billions of them!  But
there are only a few per test script, I imagine.  Collecting all found
prerequisites for each script and providing a way to force-disable them
individually could make testing them all feasible.  Nice idea!

René

```
