Skip to content

Commit

Permalink
t7004: factor out gpg setup
Browse files Browse the repository at this point in the history
Other test scripts may want to look at or verify signed
tags, and the setup is non-trivial. Let's factor this out
into lib-gpg.sh for other tests to use.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Jeff King authored and Junio C Hamano committed Sep 8, 2011
1 parent a452d14 commit 37d3e85
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 28 deletions.
26 changes: 26 additions & 0 deletions t/lib-gpg.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/bin/sh

gpg_version=`gpg --version 2>&1`
if test $? = 127; then
say "You do not seem to have gpg installed"
else
# As said here: http://www.gnupg.org/documentation/faqs.html#q6.19
# the gpg version 1.0.6 didn't parse trust packets correctly, so for
# that version, creation of signed tags using the generated key fails.
case "$gpg_version" in
'gpg (GnuPG) 1.0.6'*)
say "Your version of gpg (1.0.6) is too buggy for testing"
;;
*)
# key generation info: gpg --homedir t/lib-gpg --gen-key
# Type DSA and Elgamal, size 2048 bits, no expiration date.
# Name and email: C O Mitter <committer@example.com>
# No password given, to enable non-interactive operation.
cp -R "$TEST_DIRECTORY"/lib-gpg ./gpghome
chmod 0700 gpghome
GNUPGHOME="$(pwd)/gpghome"
export GNUPGHOME
test_set_prereq GPG
;;
esac
fi
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
29 changes: 1 addition & 28 deletions t/t7004-tag.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ test_description='git tag
Tests for operations with tags.'

. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-gpg.sh

# creating and listing lightweight tags:

Expand Down Expand Up @@ -585,24 +586,6 @@ test_expect_success \
test_cmp expect actual
'

# subsequent tests require gpg; check if it is available
gpg --version >/dev/null 2>/dev/null
if [ $? -eq 127 ]; then
say "# gpg not found - skipping tag signing and verification tests"
else
# As said here: http://www.gnupg.org/documentation/faqs.html#q6.19
# the gpg version 1.0.6 didn't parse trust packets correctly, so for
# that version, creation of signed tags using the generated key fails.
case "$(gpg --version)" in
'gpg (GnuPG) 1.0.6'*)
say "Skipping signed tag tests, because a bug in 1.0.6 version"
;;
*)
test_set_prereq GPG
;;
esac
fi

# trying to verify annotated non-signed tags:

test_expect_success GPG \
Expand All @@ -625,16 +608,6 @@ test_expect_success GPG \

# creating and verifying signed tags:

# key generation info: gpg --homedir t/t7004 --gen-key
# Type DSA and Elgamal, size 2048 bits, no expiration date.
# Name and email: C O Mitter <committer@example.com>
# No password given, to enable non-interactive operation.

cp -R "$TEST_DIRECTORY"/t7004 ./gpghome
chmod 0700 gpghome
GNUPGHOME="$(pwd)/gpghome"
export GNUPGHOME

get_tag_header signed-tag $commit commit $time >expect
echo 'A signed tag message' >>expect
echo '-----BEGIN PGP SIGNATURE-----' >>expect
Expand Down

0 comments on commit 37d3e85

Please sign in to comment.