t7510: add a test case that does not need gpg

This test case not only increases test coverage in setups without
working gpg, but also prepares for verifying that the error message of
`gpg.program` is shown upon failure.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Johannes Schindelin 2023-02-15 05:58:33 +00:00 committed by Junio C Hamano
parent 768bb238c4
commit 8300d15d5e

View File

@ -387,4 +387,40 @@ test_expect_success GPG 'verify-commit verifies multiply signed commits' '
! grep "BAD signature from" actual
'
test_expect_success 'custom `gpg.program`' '
write_script fake-gpg <<-\EOF &&
args="$*"
# skip uninteresting options
while case "$1" in
--status-fd=*|--keyid-format=*) ;; # skip
*) break;;
esac; do shift; done
case "$1" in
-bsau)
cat >sign.file
echo "[GNUPG:] SIG_CREATED $args" >&2
echo "-----BEGIN PGP MESSAGE-----"
echo "$args"
echo "-----END PGP MESSAGE-----"
;;
--verify)
cat "$2" >verify.file
exit 0
;;
*)
echo "Unhandled args: $*" >&2
exit 1
;;
esac
EOF
test_config gpg.program "$(pwd)/fake-gpg" &&
git commit -S --allow-empty -m signed-commit &&
test_path_exists sign.file &&
git show --show-signature &&
test_path_exists verify.file
'
test_done