t9103: modernize test style
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>
This commit is contained in:
committed by
Junio C Hamano
parent
9874576995
commit
2a86cb6dc4
@ -23,17 +23,19 @@ test_expect_success 'make history for tracking' '
|
|||||||
|
|
||||||
test_expect_success 'clone repo with git' '
|
test_expect_success 'clone repo with git' '
|
||||||
git svn clone -s "$svnrepo" x &&
|
git svn clone -s "$svnrepo" x &&
|
||||||
test -f x/FOLLOWME &&
|
test_path_is_file x/FOLLOWME &&
|
||||||
test ! -f x/README
|
test_path_is_missing x/README
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'make sure r2 still has old file' "
|
test_expect_success 'make sure r2 still has old file' '
|
||||||
|
(
|
||||||
cd x &&
|
cd x &&
|
||||||
test -n \"\$(git svn find-rev r1)\" &&
|
test -n "$(git svn find-rev r1)" &&
|
||||||
git reset --hard \$(git svn find-rev r1) &&
|
git reset --hard "$(git svn find-rev r1)" &&
|
||||||
test -f README &&
|
test_path_is_file README &&
|
||||||
test ! -f FOLLOWME &&
|
test_path_is_missing FOLLOWME &&
|
||||||
test x\$(git svn find-rev r2) = x
|
test -z "$(git svn find-rev r2)"
|
||||||
"
|
)
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
|||||||
Reference in New Issue
Block a user