2011-07-24 18:59:13 +04:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
test_description='
|
|
|
|
Miscellaneous tests for git ls-tree.
|
|
|
|
|
|
|
|
1. git ls-tree fails in presence of tree damage.
|
|
|
|
|
|
|
|
'
|
|
|
|
|
2021-10-12 16:56:39 +03:00
|
|
|
TEST_PASSES_SANITIZE_LEAK=true
|
2011-07-24 18:59:13 +04:00
|
|
|
. ./test-lib.sh
|
|
|
|
|
|
|
|
test_expect_success 'setup' '
|
|
|
|
mkdir a &&
|
|
|
|
touch a/one &&
|
|
|
|
git add a/one &&
|
|
|
|
git commit -m test
|
|
|
|
'
|
|
|
|
|
2011-07-24 18:59:14 +04:00
|
|
|
test_expect_success 'ls-tree fails with non-zero exit code on broken tree' '
|
2018-05-13 05:24:22 +03:00
|
|
|
tree=$(git rev-parse HEAD:a) &&
|
|
|
|
rm -f .git/objects/$(echo $tree | sed -e "s,^\(..\),\1/,") &&
|
2011-07-24 18:59:13 +04:00
|
|
|
test_must_fail git ls-tree -r HEAD
|
|
|
|
'
|
|
|
|
|
2022-03-23 12:13:08 +03:00
|
|
|
for opts in \
|
|
|
|
"--name-only --long" \
|
|
|
|
"--name-status --long"
|
|
|
|
do
|
|
|
|
test_expect_success "usage: incompatible options: $opts" '
|
|
|
|
test_expect_code 129 git ls-tree $opts $tree
|
|
|
|
'
|
|
|
|
done
|
|
|
|
|
2011-07-24 18:59:13 +04:00
|
|
|
test_done
|