t9103: modernize test style
authorJeff King <peff@peff.net>
Fri, 13 May 2016 20:47:28 +0000 (16:47 -0400)
committerJunio C Hamano <gitster@pobox.com>
Sat, 14 May 2016 17:37:29 +0000 (10:37 -0700)
The main goal here was to avoid double-quotes for
surrounding the test snippet, since it makes the code hard
to read (and to grep for common problems).

But while we're here, we can fix a few other things:

- use test_path_* helpers, which are more robust and give
better error messages

- only "cd" inside a subshell, which leaves the
environment pristine if further tests are added

- consistently quote shell arguments. These aren't wrong
if we assume find-rev output doesn't have any
whitespace, but it doesn't hurt to be careful.

- replace the old-style 'test x$foo = x' with 'test -z
"$foo"'. Besides the quoting fix, this is the form we
generally use in our test suite.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t9103-git-svn-tracked-directory-removed.sh
index 3413164cb127da9e8d601775769b3b049816173e..b28271345c63e752c02d6b3b867f8c59aba08ff8 100755 (executable)
@@ -23,17 +23,19 @@ test_expect_success 'make history for tracking' '
 
 test_expect_success 'clone repo with git' '
        git svn clone -s "$svnrepo" x &&
-       test -f x/FOLLOWME &&
-       test ! -f x/README
+       test_path_is_file x/FOLLOWME &&
+       test_path_is_missing x/README
 '
 
-test_expect_success 'make sure r2 still has old file' "
-       cd x &&
-               test -n \"\$(git svn find-rev r1)\" &&
-               git reset --hard \$(git svn find-rev r1) &&
-               test -f README &&
-               test ! -f FOLLOWME &&
-               test x\$(git svn find-rev r2) = x
-"
+test_expect_success 'make sure r2 still has old file' '
+       (
+               cd x &&
+               test -n "$(git svn find-rev r1)" &&
+               git reset --hard "$(git svn find-rev r1)" &&
+               test_path_is_file README &&
+               test_path_is_missing FOLLOWME &&
+               test -z "$(git svn find-rev r2)"
+       )
+'
 
 test_done