Git fork
at reftables-rust 40 lines 895 B view raw
1#!/bin/sh 2 3test_description=' 4Miscellaneous tests for git ls-tree. 5 6 1. git ls-tree fails in presence of tree damage. 7 8' 9 10. ./test-lib.sh 11 12test_expect_success 'setup' ' 13 mkdir a && 14 touch a/one && 15 git add a/one && 16 git commit -m test 17' 18 19test_expect_success 'ls-tree fails with non-zero exit code on broken tree' ' 20 tree=$(git rev-parse HEAD:a) && 21 rm -f .git/objects/$(echo $tree | sed -e "s,^\(..\),\1/,") && 22 test_must_fail git ls-tree -r HEAD 23' 24 25for opts in \ 26 "--long --name-only" \ 27 "--name-only --name-status" \ 28 "--name-status --object-only" \ 29 "--object-only --long" 30do 31 test_expect_success "usage: incompatible options: $opts" ' 32 test_expect_code 129 git ls-tree $opts $tree 33 ' 34 35 one_opt=$(echo "$opts" | cut -d' ' -f1) 36 test_expect_success "usage: incompatible options: $one_opt and --format" ' 37 test_expect_code 129 git ls-tree $one_opt --format=fmt $tree 38 ' 39done 40test_done