diff mbox series

t6300: fix setup with GPGSSH but without GPG

Message ID cbc22750-af93-9274-2ed4-6dfd356568e8@web.de (mailing list archive)
State Accepted
Commit 065135fc0bf3c859fcf63abe2e413ccc32a9cc50
Headers show
Series t6300: fix setup with GPGSSH but without GPG | expand

Commit Message

René Scharfe July 16, 2023, 8:17 a.m. UTC
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(-)

--
2.41.0

Comments

Christian Couder July 17, 2023, 6:33 a.m. UTC | #1
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 July 17, 2023, 4:22 p.m. UTC | #2
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 July 17, 2023, 5:12 p.m. UTC | #3
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é
diff mbox series

Patch

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
 '