From 009012833cea5a2e4b78529d1012e900664ccd0a Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 19 Oct 2011 16:45:05 -0700 Subject: [PATCH] t7004: extract generic "GPG testing" bits Signed-off-by: Junio C Hamano --- t/lib-gpg.sh | 29 +++++++++++++++++++++++++++++ t/{t7004 => lib-gpg}/pubring.gpg | Bin t/{t7004 => lib-gpg}/random_seed | Bin t/{t7004 => lib-gpg}/secring.gpg | Bin t/{t7004 => lib-gpg}/trustdb.gpg | Bin t/t7004-tag.sh | 29 +---------------------------- 6 files changed, 30 insertions(+), 28 deletions(-) create mode 100644 t/lib-gpg.sh rename t/{t7004 => lib-gpg}/pubring.gpg (100%) rename t/{t7004 => lib-gpg}/random_seed (100%) rename t/{t7004 => lib-gpg}/secring.gpg (100%) rename t/{t7004 => lib-gpg}/trustdb.gpg (100%) diff --git a/t/lib-gpg.sh b/t/lib-gpg.sh new file mode 100644 index 000000000..eb0902717 --- /dev/null +++ b/t/lib-gpg.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +# Check if gpg 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 + +# 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 +# No password given, to enable non-interactive operation. + +cp -R "$TEST_DIRECTORY"/lib-gpg ./gpghome +chmod 0700 gpghome +GNUPGHOME="$(pwd)/gpghome" +export GNUPGHOME diff --git a/t/t7004/pubring.gpg b/t/lib-gpg/pubring.gpg similarity index 100% rename from t/t7004/pubring.gpg rename to t/lib-gpg/pubring.gpg diff --git a/t/t7004/random_seed b/t/lib-gpg/random_seed similarity index 100% rename from t/t7004/random_seed rename to t/lib-gpg/random_seed diff --git a/t/t7004/secring.gpg b/t/lib-gpg/secring.gpg similarity index 100% rename from t/t7004/secring.gpg rename to t/lib-gpg/secring.gpg diff --git a/t/t7004/trustdb.gpg b/t/lib-gpg/trustdb.gpg similarity index 100% rename from t/t7004/trustdb.gpg rename to t/lib-gpg/trustdb.gpg diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh index 097ce2bc8..ded5c86c3 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 -# 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 -- 2.30.2