git/t/t3002-ls-files-dashpath.sh
Junio C Hamano 3af828634f tests: do not use implicit "git diff --no-index"
As a general principle, we should not use "git diff" to validate the
results of what git command that is being tested has done.  We would not
know if we are testing the command in question, or locating a bug in the
cute hack of "git diff --no-index".

Rather use test_cmp for that purpose.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-24 00:01:56 -07:00

70 lines
1.2 KiB
Bash
Executable File

#!/bin/sh
#
# Copyright (c) 2005 Junio C Hamano
#
test_description='git ls-files test (-- to terminate the path list).
This test runs git ls-files --others with the following on the
filesystem.
path0 - a file
-foo - a file with a funny name.
-- - another file with a funny name.
'
. ./test-lib.sh
test_expect_success \
setup \
'echo frotz >path0 &&
echo frotz >./-foo &&
echo frotz >./--'
test_expect_success \
'git ls-files without path restriction.' \
'git ls-files --others >output &&
test_cmp output - <<EOF
--
-foo
output
path0
EOF
'
test_expect_success \
'git ls-files with path restriction.' \
'git ls-files --others path0 >output &&
test_cmp output - <<EOF
path0
EOF
'
test_expect_success \
'git ls-files with path restriction with --.' \
'git ls-files --others -- path0 >output &&
test_cmp output - <<EOF
path0
EOF
'
test_expect_success \
'git ls-files with path restriction with -- --.' \
'git ls-files --others -- -- >output &&
test_cmp output - <<EOF
--
EOF
'
test_expect_success \
'git ls-files with no path restriction.' \
'git ls-files --others -- >output &&
test_cmp output - <<EOF
--
-foo
output
path0
EOF
'
test_done