t6302: skip only signed tags rather than all tests when GPG is missing

The primary purpose of these tests is to check filtering, sorting, and
formatting behavior of git-for-each-ref, so it is unfortunate that the
entire test script is skipped when GPG is not present. Rather than
skipping all tests, let's instead just skip testing against signed tags
when GPG is missing.

Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Eric Sunshine 2016-03-06 19:10:27 -05:00 committed by Junio C Hamano
parent 7bc734eed2
commit 618310a3df

View File

@ -5,11 +5,14 @@ test_description='test for-each-refs usage of ref-filter APIs'
. ./test-lib.sh . ./test-lib.sh
. "$TEST_DIRECTORY"/lib-gpg.sh . "$TEST_DIRECTORY"/lib-gpg.sh
if ! test_have_prereq GPG test_prepare_expect () {
if test_have_prereq GPG
then then
skip_all="skipping for-each-ref tests, GPG not available" cat
test_done else
sed '/signed/d'
fi fi
}
test_expect_success 'setup some history and refs' ' test_expect_success 'setup some history and refs' '
test_commit one && test_commit one &&
@ -19,8 +22,11 @@ test_expect_success 'setup some history and refs' '
test_commit four && test_commit four &&
git tag -m "An annotated tag" annotated-tag && git tag -m "An annotated tag" annotated-tag &&
git tag -m "Annonated doubly" doubly-annotated-tag annotated-tag && git tag -m "Annonated doubly" doubly-annotated-tag annotated-tag &&
if test_have_prereq GPG
then
git tag -s -m "A signed tag" signed-tag && git tag -s -m "A signed tag" signed-tag &&
git tag -s -m "Signed doubly" doubly-signed-tag signed-tag && git tag -s -m "Signed doubly" doubly-signed-tag signed-tag
fi &&
git checkout master && git checkout master &&
git update-ref refs/odd/spot master git update-ref refs/odd/spot master
' '
@ -36,7 +42,7 @@ test_expect_success 'filtering with --points-at' '
' '
test_expect_success 'check signed tags with --points-at' ' test_expect_success 'check signed tags with --points-at' '
sed -e "s/Z$//" >expect <<-\EOF && test_prepare_expect <<-\EOF | sed -e "s/Z$//" >expect &&
refs/heads/side Z refs/heads/side Z
refs/tags/annotated-tag four refs/tags/annotated-tag four
refs/tags/four Z refs/tags/four Z
@ -59,7 +65,7 @@ test_expect_success 'filtering with --merged' '
' '
test_expect_success 'filtering with --no-merged' ' test_expect_success 'filtering with --no-merged' '
cat >expect <<-\EOF && test_prepare_expect >expect <<-\EOF &&
refs/heads/side refs/heads/side
refs/tags/annotated-tag refs/tags/annotated-tag
refs/tags/doubly-annotated-tag refs/tags/doubly-annotated-tag
@ -72,7 +78,7 @@ test_expect_success 'filtering with --no-merged' '
' '
test_expect_success 'filtering with --contains' ' test_expect_success 'filtering with --contains' '
cat >expect <<-\EOF && test_prepare_expect >expect <<-\EOF &&
refs/heads/master refs/heads/master
refs/heads/side refs/heads/side
refs/odd/spot refs/odd/spot
@ -93,7 +99,7 @@ test_expect_success '%(color) must fail' '
' '
test_expect_success 'left alignment is default' ' test_expect_success 'left alignment is default' '
cat >expect <<-\EOF && test_prepare_expect >expect <<-\EOF &&
refname is refs/heads/master |refs/heads/master refname is refs/heads/master |refs/heads/master
refname is refs/heads/side |refs/heads/side refname is refs/heads/side |refs/heads/side
refname is refs/odd/spot |refs/odd/spot refname is refs/odd/spot |refs/odd/spot
@ -111,7 +117,7 @@ test_expect_success 'left alignment is default' '
' '
test_expect_success 'middle alignment' ' test_expect_success 'middle alignment' '
cat >expect <<-\EOF && test_prepare_expect >expect <<-\EOF &&
| refname is refs/heads/master |refs/heads/master | refname is refs/heads/master |refs/heads/master
| refname is refs/heads/side |refs/heads/side | refname is refs/heads/side |refs/heads/side
| refname is refs/odd/spot |refs/odd/spot | refname is refs/odd/spot |refs/odd/spot
@ -129,7 +135,7 @@ test_expect_success 'middle alignment' '
' '
test_expect_success 'right alignment' ' test_expect_success 'right alignment' '
cat >expect <<-\EOF && test_prepare_expect >expect <<-\EOF &&
| refname is refs/heads/master|refs/heads/master | refname is refs/heads/master|refs/heads/master
| refname is refs/heads/side|refs/heads/side | refname is refs/heads/side|refs/heads/side
| refname is refs/odd/spot|refs/odd/spot | refname is refs/odd/spot|refs/odd/spot
@ -146,7 +152,7 @@ test_expect_success 'right alignment' '
test_cmp expect actual test_cmp expect actual
' '
cat >expect <<-\EOF test_prepare_expect >expect <<-\EOF
| refname is refs/heads/master |refs/heads/master | refname is refs/heads/master |refs/heads/master
| refname is refs/heads/side |refs/heads/side | refname is refs/heads/side |refs/heads/side
| refname is refs/odd/spot |refs/odd/spot | refname is refs/odd/spot |refs/odd/spot
@ -193,7 +199,7 @@ EOF
# Individual atoms inside %(align:...) and %(end) must not be quoted. # Individual atoms inside %(align:...) and %(end) must not be quoted.
test_expect_success 'alignment with format quote' " test_expect_success 'alignment with format quote' "
cat >expect <<-\EOF && test_prepare_expect >expect <<-\EOF &&
|' '\''master| A U Thor'\'' '| |' '\''master| A U Thor'\'' '|
|' '\''side| A U Thor'\'' '| |' '\''side| A U Thor'\'' '|
|' '\''odd/spot| A U Thor'\'' '| |' '\''odd/spot| A U Thor'\'' '|
@ -211,7 +217,7 @@ test_expect_success 'alignment with format quote' "
" "
test_expect_success 'nested alignment with quote formatting' " test_expect_success 'nested alignment with quote formatting' "
cat >expect <<-\EOF && test_prepare_expect >expect <<-\EOF &&
|' master '| |' master '|
|' side '| |' side '|
|' odd/spot '| |' odd/spot '|
@ -229,7 +235,7 @@ test_expect_success 'nested alignment with quote formatting' "
" "
test_expect_success 'check `%(contents:lines=1)`' ' test_expect_success 'check `%(contents:lines=1)`' '
cat >expect <<-\EOF && test_prepare_expect >expect <<-\EOF &&
master |three master |three
side |four side |four
odd/spot |three odd/spot |three
@ -247,7 +253,7 @@ test_expect_success 'check `%(contents:lines=1)`' '
' '
test_expect_success 'check `%(contents:lines=0)`' ' test_expect_success 'check `%(contents:lines=0)`' '
cat >expect <<-\EOF && test_prepare_expect >expect <<-\EOF &&
master | master |
side | side |
odd/spot | odd/spot |
@ -265,7 +271,7 @@ test_expect_success 'check `%(contents:lines=0)`' '
' '
test_expect_success 'check `%(contents:lines=99999)`' ' test_expect_success 'check `%(contents:lines=99999)`' '
cat >expect <<-\EOF && test_prepare_expect >expect <<-\EOF &&
master |three master |three
side |four side |four
odd/spot |three odd/spot |three