Thread (24 messages) flat view 24 messages, 4 authors, 2016-06-16

Re: [PATCH v3 2/4] t/t7030-verify-tag.sh: Adds validation for multiple tags

From: Jeff King <hidden>
Date: 2016-06-16 02:18:38

On Sat, Apr 02, 2016 at 07:16:13PM -0400, santiago@nyu.edu wrote:
The verify-tag command supports mutliple tag names as an argument.
s/mutliple/multiple/
+test_expect_success GPG 'verify multiple tags' '
+	git verify-tag -v --raw fourth-signed sixth-signed seventh-signed 2>actual 1> tagnames &&
Style: we don't put a space between ">" and the filename. Also, we
usually omit "1" when redirecting stdout.
+		grep -c "GOODSIG" actual > count &&
Funny indentation here.

I wondered if we could use test_cmp instead of a counting grep here, but
this is looking at gpg spew, and we probably don't want to count on that
never changing.

I don't see us actually verifying that "count" is 3, though.
+		! grep "BADSIG" actual &&
Makes sense...
+		grep -E "tag\ .*" tagnames | uniq -u | wc - l | grep "3"
Do we need "grep -E" here? I don't see any extended regex in use. Is
there a reason to backslash-escape the space?

Your "wc -l" has an extra space, which means "read stdin, and then the
file 'l'". Which sort-of happens to work, except as you noticed, you
have to grep for "3" instead of matching it.

I think, though, that rather than counting we could just write what we
expect into a file and compare that. It makes it easier for somebody
reading the test to see what it is we're trying to do.

In fact, I suspect you could replace the "GOODSIG" check as well by
doing something like:

  # verifying 3 tags in one invocation should be exactly like
  # verifying the 3 separately
  tags="fourth-signed sixth-signed seventh-signed"
  for i in $tags; do
          git verify-tag -v --raw $i || return 1
  done >expect.stdout 2>expect.stderr &&
  git verify-tag -v --raw $tags >actual.stdout 2>actual.stderr &&
  test_cmp expect.stdout actual.stdout &&
  test_cmp expect.stderr actual.stderr

but I didn't test it.

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help