git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: Armin Kunaschik <megabreit@googlemail.com>,
	Git List <git@vger.kernel.org>
Subject: [PATCH 4/6] t9107: switch inverted single/double quotes in test
Date: Fri, 13 May 2016 16:47:24 -0400	[thread overview]
Message-ID: <20160513204724.GD15391@sigill.intra.peff.net> (raw)
In-Reply-To: <20160513204654.GA10684@sigill.intra.peff.net>

One of the test snippets in t9107 is enclosed in double
quotes, but then uses single quotes to surround an
interpolated variable inside the snippet, like:

  test_expect_success '...' "
	test -n '$head'
  "

This happens to work because the variable is interpolated
_before_ the snippet is run, and the result is eval'd. So as
long as the variable does not contain any single quotes, the
two are equivalent. And it doesn't, as we know it is a sha1
from rev-parse above.  But this construct is unnecessarily
confusing.

But we can go a step further in cleaning up. The test is
really checking that a particular ref has a value. Rather
than checking if rev-parse produced output, we can just move
rev-parse into the test itself, and rely on the exit code
from --verify. Nobody else cares about the $head variable at
all.

Signed-off-by: Jeff King <peff@peff.net>
---
 t/t9107-git-svn-migrate.sh | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/t/t9107-git-svn-migrate.sh b/t/t9107-git-svn-migrate.sh
index 2908aef..bb03722 100755
--- a/t/t9107-git-svn-migrate.sh
+++ b/t/t9107-git-svn-migrate.sh
@@ -24,8 +24,9 @@ test_expect_success 'setup old-looking metadata' '
 	git update-ref -d refs/remotes/git-svn refs/remotes/git-svn
 	'
 
-head=$(git rev-parse --verify refs/heads/git-svn-HEAD^0)
-test_expect_success 'git-svn-HEAD is a real HEAD' "test -n '$head'"
+test_expect_success 'git-svn-HEAD is a real HEAD' '
+	git rev-parse --verify refs/heads/git-svn-HEAD^0
+'
 
 svnrepo_escaped=$(echo $svnrepo | sed 's/ /%20/')
 
-- 
2.8.2.825.gea31738

  parent reply	other threads:[~2016-05-13 20:47 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-13 16:09 t3404 static check of bad SHA-1 failure Armin Kunaschik
2016-05-13 18:23 ` Jeff King
2016-05-13 19:52   ` Junio C Hamano
2016-05-13 19:59     ` Jeff King
2016-05-13 20:02       ` Jeff King
2016-05-13 20:03       ` Junio C Hamano
2016-05-13 20:46         ` [PATCH 0/6] test -z/-n quoting fix + misc cleanups Jeff King
2016-05-13 20:47           ` [PATCH 1/6] t/lib-git-svn: drop $remote_git_svn and $git_svn_id Jeff King
2016-05-13 20:47           ` [PATCH 2/6] t9100,t3419: enclose all test code in single-quotes Jeff King
2016-05-13 20:47           ` [PATCH 3/6] t9107: use "return 1" instead of "exit 1" Jeff King
2016-05-13 22:59             ` Eric Wong
2016-05-13 23:45             ` Eric Sunshine
2016-05-13 23:47               ` Jeff King
2016-05-14 17:37                 ` Junio C Hamano
2016-05-14 19:51                   ` Jeff King
2016-05-13 20:47           ` Jeff King [this message]
2016-05-13 20:47           ` [PATCH 5/6] t9103: modernize test style Jeff King
2016-05-13 20:47           ` [PATCH 6/6] always quote shell arguments to test -z/-n Jeff King
2016-05-13 22:09           ` [PATCH 0/6] test -z/-n quoting fix + misc cleanups Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160513204724.GD15391@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=megabreit@googlemail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).