git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 4/4] t6302: skip only signed tags rather than all tests when GPG is missing

From
Eric Sunshine <sunshine@sunshineco.com>
Date
Mar 7, 2016, 00:10 UTC
Message-ID
<1457309427-30124-5-git-send-email-sunshine@sunshineco.com>
In-Reply-To
<1457309427-30124-1-git-send-email-sunshine@sunshineco.com>

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>
---
 t/t6302-for-each-ref-filter.sh | 44 ++++++++++++++++++++++++------------------
 1 file changed, 25 insertions(+), 19 deletions(-)
diff --git a/t/t6302-for-each-ref-filter.sh b/t/t6302-for-each-ref-filter.sh
index 2e28559..70afb44 100755
--- a/t/t6302-for-each-ref-filter.sh
+++ b/t/t6302-for-each-ref-filter.sh
@@ -5,11 +5,14 @@ test_description='test for-each-refs usage of ref-filter APIs'
 . ./test-lib.sh
 . "$TEST_DIRECTORY"/lib-gpg.sh
 
-if ! test_have_prereq GPG
-then
-	skip_all="skipping for-each-ref tests, GPG not available"
-	test_done
-fi
+test_prepare_expect () {
+	if test_have_prereq GPG
+	then
+		cat
+	else
+		sed '/signed/d'
+	fi
+}
 
 test_expect_success 'setup some history and refs' '
 	test_commit one &&
@@ -19,8 +22,11 @@ test_expect_success 'setup some history and refs' '
 	test_commit four &&
 	git tag -m "An annotated tag" annotated-tag &&
 	git tag -m "Annonated doubly" doubly-annotated-tag annotated-tag &&
-	git tag -s -m "A signed tag" signed-tag &&
-	git tag -s -m "Signed doubly" doubly-signed-tag signed-tag &&
+	if test_have_prereq GPG
+	then
+		git tag -s -m "A signed tag" signed-tag &&
+		git tag -s -m "Signed doubly" doubly-signed-tag signed-tag
+	fi &&
 	git checkout 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' '
-	sed -e "s/Z$//" >expect <<-\EOF &&
+	test_prepare_expect <<-\EOF | sed -e "s/Z$//" >expect &&
 	refs/heads/side Z
 	refs/tags/annotated-tag four
 	refs/tags/four Z
@@ -59,7 +65,7 @@ test_expect_success 'filtering with --merged' '
 '
 
 test_expect_success 'filtering with --no-merged' '
-	cat >expect <<-\EOF &&
+	test_prepare_expect >expect <<-\EOF &&
 	refs/heads/side
 	refs/tags/annotated-tag
 	refs/tags/doubly-annotated-tag
@@ -72,7 +78,7 @@ test_expect_success 'filtering with --no-merged' '
 '
 
 test_expect_success 'filtering with --contains' '
-	cat >expect <<-\EOF &&
+	test_prepare_expect >expect <<-\EOF &&
 	refs/heads/master
 	refs/heads/side
 	refs/odd/spot
@@ -93,7 +99,7 @@ test_expect_success '%(color) must fail' '
 '
 
 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/side    |refs/heads/side
 	refname is refs/odd/spot      |refs/odd/spot
@@ -111,7 +117,7 @@ test_expect_success 'left alignment is default' '
 '
 
 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/side  |refs/heads/side
 	|   refname is refs/odd/spot   |refs/odd/spot
@@ -129,7 +135,7 @@ test_expect_success 'middle 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/side|refs/heads/side
 	|      refname is refs/odd/spot|refs/odd/spot
@@ -146,7 +152,7 @@ test_expect_success 'right alignment' '
 	test_cmp expect actual
 '
 
-cat >expect <<-\EOF
+test_prepare_expect >expect <<-\EOF
 |       refname is refs/heads/master       |refs/heads/master
 |        refname is refs/heads/side        |refs/heads/side
 |         refname is refs/odd/spot         |refs/odd/spot
@@ -193,7 +199,7 @@ EOF
 # Individual atoms inside %(align:...) and %(end) must not be quoted.
 
 test_expect_success 'alignment with format quote' "
-	cat >expect <<-\EOF &&
+	test_prepare_expect >expect <<-\EOF &&
 	|'      '\''master| A U Thor'\''      '|
 	|'       '\''side| 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' "
-	cat >expect <<-\EOF &&
+	test_prepare_expect >expect <<-\EOF &&
 	|'         master               '|
 	|'           side               '|
 	|'       odd/spot               '|
@@ -229,7 +235,7 @@ test_expect_success 'nested alignment with quote formatting' "
 "
 
 test_expect_success 'check `%(contents:lines=1)`' '
-	cat >expect <<-\EOF &&
+	test_prepare_expect >expect <<-\EOF &&
 	master |three
 	side |four
 	odd/spot |three
@@ -247,7 +253,7 @@ test_expect_success 'check `%(contents:lines=1)`' '
 '
 
 test_expect_success 'check `%(contents:lines=0)`' '
-	cat >expect <<-\EOF &&
+	test_prepare_expect >expect <<-\EOF &&
 	master |
 	side |
 	odd/spot |
@@ -265,7 +271,7 @@ test_expect_success 'check `%(contents:lines=0)`' '
 '
 
 test_expect_success 'check `%(contents:lines=99999)`' '
-	cat >expect <<-\EOF &&
+	test_prepare_expect >expect <<-\EOF &&
 	master |three
 	side |four
 	odd/spot |three
-- 
2.8.0.rc1.175.g19dcece
Previous: Eric SunshineNext: Johannes Schindelin
Message 7 of 9 in “make t6302 usable even without GPG installed”
  1. 0/4 make t6302 usable even without GPG installedEric Sunshine, Mar 7, 2016
  2. 1/4 lib-gpg: drop unnecessary "missing GPG" warningEric Sunshine, Mar 7, 2016
  3. Johannes SchindelinMar 15, 2016
  4. Eric SunshineMar 15, 2016
  5. 2/4 t6302: normalize names and descriptions of signed tagsEric Sunshine, Mar 7, 2016
  6. 3/4 t6302: also test annotated in addition to signed tagsEric Sunshine, Mar 7, 2016
  7. 4/4 t6302: skip only signed tags rather than all tests when GPG is missingEric Sunshine, Mar 7, 2016
  8. Johannes SchindelinMar 15, 2016
  9. Eric SunshineMar 17, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.