git-commit-vandalism/t/t3703-add-magic-pathspec.sh
Johannes Sixt 650af7ae8b t3703: Skip tests using directory name ":" on Windows
":" is not allowed in file names on Windows. Detect this case and skip a
test if necessary.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-05-12 22:32:24 -07:00

59 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
test_description='magic pathspec tests using git-add'
. ./test-lib.sh
test_expect_success 'setup' '
mkdir sub anothersub &&
: >sub/foo &&
: >anothersub/foo
'
test_expect_success 'add :/' "
cat >expected <<-EOF &&
add 'anothersub/foo'
add 'expected'
add 'sub/actual'
add 'sub/foo'
EOF
(cd sub && git add -n :/ >actual) &&
test_cmp expected sub/actual
"
cat >expected <<EOF
add 'anothersub/foo'
EOF
test_expect_success 'add :/anothersub' '
(cd sub && git add -n :/anothersub >actual) &&
test_cmp expected sub/actual
'
test_expect_success 'add :/non-existent' '
(cd sub && test_must_fail git add -n :/non-existent)
'
cat >expected <<EOF
add 'sub/foo'
EOF
test_expect_success 'a file with the same (long) magic name exists' '
: >":(icase)ha" &&
test_must_fail git add -n ":(icase)ha" &&
git add -n "./:(icase)ha"
'
if mkdir ":" 2>/dev/null
then
test_set_prereq COLON_DIR
fi
test_expect_success COLON_DIR 'a file with the same (short) magic name exists' '
: >":/bar" &&
test_must_fail git add -n :/bar &&
git add -n "./:/bar"
'
test_done