]> git.ipfire.org Git - thirdparty/git.git/blob - t/t3004-ls-files-basic.sh
Sync with 2.16.6
[thirdparty/git.git] / t / t3004-ls-files-basic.sh
1 #!/bin/sh
2
3 test_description='basic ls-files tests
4
5 This test runs git ls-files with various unusual or malformed
6 command-line arguments.
7 '
8
9 . ./test-lib.sh
10
11 >empty
12
13 test_expect_success 'ls-files in empty repository' '
14 git ls-files >actual &&
15 test_cmp empty actual
16 '
17
18 test_expect_success 'ls-files with nonexistent path' '
19 git ls-files doesnotexist >actual &&
20 test_cmp empty actual
21 '
22
23 test_expect_success 'ls-files with nonsense option' '
24 test_expect_code 129 git ls-files --nonsense 2>actual &&
25 test_i18ngrep "[Uu]sage: git ls-files" actual
26 '
27
28 test_expect_success 'ls-files -h in corrupt repository' '
29 mkdir broken &&
30 (
31 cd broken &&
32 git init &&
33 >.git/index &&
34 test_expect_code 129 git ls-files -h >usage 2>&1
35 ) &&
36 test_i18ngrep "[Uu]sage: git ls-files " broken/usage
37 '
38
39 test_expect_success SYMLINKS 'ls-files with absolute paths to symlinks' '
40 mkdir subs &&
41 ln -s nosuch link &&
42 ln -s ../nosuch subs/link &&
43 git add link subs/link &&
44 git ls-files -s link subs/link >expect &&
45 git ls-files -s "$(pwd)/link" "$(pwd)/subs/link" >actual &&
46 test_cmp expect actual &&
47
48 (
49 cd subs &&
50 git ls-files -s link >../expect &&
51 git ls-files -s "$(pwd)/link" >../actual
52 ) &&
53 test_cmp expect actual
54 '
55
56 test_done