Sync with 2.38.4
[git.git] / t / t3703-add-magic-pathspec.sh
blobd84071038e051552f5676c5c687e4e5e2646a39a
1 #!/bin/sh
3 test_description='magic pathspec tests using git-add'
5 TEST_PASSES_SANITIZE_LEAK=true
6 . ./test-lib.sh
8 test_expect_success 'setup' '
9 mkdir sub anothersub &&
10 : >sub/foo &&
11 : >anothersub/foo
14 test_expect_success 'add :/' "
15 cat >expected <<-EOF &&
16 add 'anothersub/foo'
17 add 'expected'
18 add 'sub/actual'
19 add 'sub/foo'
20 EOF
21 (cd sub && git add -n :/ >actual) &&
22 test_cmp expected sub/actual
25 cat >expected <<EOF
26 add 'anothersub/foo'
27 EOF
29 test_expect_success 'add :/anothersub' '
30 (cd sub && git add -n :/anothersub >actual) &&
31 test_cmp expected sub/actual
34 test_expect_success 'add :/non-existent' '
35 (cd sub && test_must_fail git add -n :/non-existent)
38 cat >expected <<EOF
39 add 'sub/foo'
40 EOF
42 if test_have_prereq !MINGW && mkdir ":" 2>/dev/null
43 then
44 test_set_prereq COLON_DIR
47 test_expect_success COLON_DIR 'a file with the same (long) magic name exists' '
48 : >":(icase)ha" &&
49 test_must_fail git add -n ":(icase)ha" &&
50 git add -n "./:(icase)ha"
53 test_expect_success COLON_DIR 'a file with the same (short) magic name exists' '
54 : >":/bar" &&
55 test_must_fail git add -n :/bar &&
56 git add -n "./:/bar"
59 test_done