| test_description='basic ls-files tests |
| This test runs git ls-files with various unusual or malformed |
| test_expect_success 'ls-files in empty repository' ' |
| test_must_be_empty actual |
| test_expect_success 'ls-files with nonexistent path' ' |
| git ls-files doesnotexist >actual && |
| test_must_be_empty actual |
| test_expect_success 'ls-files with nonsense option' ' |
| test_expect_code 129 git ls-files --nonsense 2>actual && |
| test_i18ngrep "[Uu]sage: git ls-files" actual |
| test_expect_success 'ls-files -h in corrupt repository' ' |
| test_expect_code 129 git ls-files -h >usage 2>&1 |
| test_i18ngrep "[Uu]sage: git ls-files " broken/usage |
| test_expect_success SYMLINKS 'ls-files with absolute paths to symlinks' ' |
| ln -s ../nosuch subs/link && |
| git add link subs/link && |
| git ls-files -s link subs/link >expect && |
| git ls-files -s "$(pwd)/link" "$(pwd)/subs/link" >actual && |
| test_cmp expect actual && |
| git ls-files -s link >../expect && |
| git ls-files -s "$(pwd)/link" >../actual |