| #!/bin/sh | 
 |  | 
 | test_description='basic ls-files tests | 
 |  | 
 | This test runs git ls-files with various unusual or malformed | 
 | command-line arguments. | 
 | ' | 
 |  | 
 | . ./test-lib.sh | 
 |  | 
 | >empty | 
 |  | 
 | test_expect_success 'ls-files in empty repository' ' | 
 | 	git ls-files >actual && | 
 | 	test_cmp empty actual | 
 | ' | 
 |  | 
 | test_expect_success 'ls-files with nonexistent path' ' | 
 | 	git ls-files doesnotexist >actual && | 
 | 	test_cmp 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' ' | 
 | 	mkdir broken && | 
 | 	( | 
 | 		cd broken && | 
 | 		git init && | 
 | 		>.git/index && | 
 | 		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' ' | 
 | 	mkdir subs && | 
 | 	ln -s nosuch link && | 
 | 	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 && | 
 |  | 
 | 	( | 
 | 		cd subs && | 
 | 		git ls-files -s link >../expect && | 
 | 		git ls-files -s "$(pwd)/link" >../actual | 
 | 	) && | 
 | 	test_cmp expect actual | 
 | ' | 
 |  | 
 | test_done |