diff options
author | Jeff King <peff@peff.net> | 2011-09-07 13:42:39 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-09-08 13:50:58 -0700 |
commit | 37d3e85912ea13cb1d59022e2bc2ea8cf8bf4876 (patch) | |
tree | 4a48d94bdaeec2eda4940fa6ebb95101d50a3970 | |
parent | a452d148d10a89ae502bc4755c191ab323227ce5 (diff) | |
download | git-37d3e85912ea13cb1d59022e2bc2ea8cf8bf4876.tar.gz git-37d3e85912ea13cb1d59022e2bc2ea8cf8bf4876.tar.xz |
t7004: factor out gpg setup
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>
-rwxr-xr-x | t/lib-gpg.sh | 26 | ||||
-rw-r--r-- | t/lib-gpg/pubring.gpg (renamed from t/t7004/pubring.gpg) | bin | 1164 -> 1164 bytes | |||
-rw-r--r-- | t/lib-gpg/random_seed (renamed from t/t7004/random_seed) | bin | 600 -> 600 bytes | |||
-rw-r--r-- | t/lib-gpg/secring.gpg (renamed from t/t7004/secring.gpg) | bin | 1237 -> 1237 bytes | |||
-rw-r--r-- | t/lib-gpg/trustdb.gpg (renamed from t/t7004/trustdb.gpg) | bin | 1280 -> 1280 bytes | |||
-rwxr-xr-x | t/t7004-tag.sh | 29 |
6 files changed, 27 insertions, 28 deletions
diff --git a/t/lib-gpg.sh b/t/lib-gpg.sh new file mode 100755 index 000000000..28463fb6f --- /dev/null +++ b/t/lib-gpg.sh @@ -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 diff --git a/t/t7004/pubring.gpg b/t/lib-gpg/pubring.gpg Binary files differindex 83855fa4e..83855fa4e 100644 --- a/t/t7004/pubring.gpg +++ b/t/lib-gpg/pubring.gpg diff --git a/t/t7004/random_seed b/t/lib-gpg/random_seed Binary files differindex 8fed1339e..8fed1339e 100644 --- a/t/t7004/random_seed +++ b/t/lib-gpg/random_seed diff --git a/t/t7004/secring.gpg b/t/lib-gpg/secring.gpg Binary files differindex d831cd9eb..d831cd9eb 100644 --- a/t/t7004/secring.gpg +++ b/t/lib-gpg/secring.gpg diff --git a/t/t7004/trustdb.gpg b/t/lib-gpg/trustdb.gpg Binary files differindex abace962b..abace962b 100644 --- a/t/t7004/trustdb.gpg +++ b/t/lib-gpg/trustdb.gpg diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh index 097ce2bc8..e93ac7382 100755 --- a/t/t7004-tag.sh +++ b/t/t7004-tag.sh @@ -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: @@ -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 \ @@ -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 |