Git fork
at reftables-rust 62 lines 1.4 kB view raw
1#!/bin/sh 2 3test_description='ls-files tests with relative paths 4 5This test runs git ls-files with various relative path arguments. 6' 7 8. ./test-lib.sh 9 10test_expect_success 'prepare' ' 11 : >never-mind-me && 12 git add never-mind-me && 13 mkdir top && 14 ( 15 cd top && 16 mkdir sub && 17 x="x xa xbc xdef xghij xklmno" && 18 y=$(echo "$x" | tr x y) && 19 touch $x && 20 touch $y && 21 cd sub && 22 git add ../x* 23 ) 24' 25 26test_expect_success 'ls-files with mixed levels' ' 27 ( 28 cd top/sub && 29 cat >expect <<-EOF && 30 ../../never-mind-me 31 ../x 32 EOF 33 git ls-files $(cat expect) >actual && 34 test_cmp expect actual 35 ) 36' 37 38test_expect_success 'ls-files -c' ' 39 ( 40 cd top/sub && 41 printf "error: pathspec $SQ%s$SQ did not match any file(s) known to git\n" ../y* >expect.err && 42 echo "Did you forget to ${SQ}git add${SQ}?" >>expect.err && 43 ls ../x* >expect.out && 44 test_must_fail git ls-files -c --error-unmatch ../[xy]* >actual.out 2>actual.err && 45 test_cmp expect.out actual.out && 46 test_cmp expect.err actual.err 47 ) 48' 49 50test_expect_success 'ls-files -o' ' 51 ( 52 cd top/sub && 53 printf "error: pathspec $SQ%s$SQ did not match any file(s) known to git\n" ../x* >expect.err && 54 echo "Did you forget to ${SQ}git add${SQ}?" >>expect.err && 55 ls ../y* >expect.out && 56 test_must_fail git ls-files -o --error-unmatch ../[xy]* >actual.out 2>actual.err && 57 test_cmp expect.out actual.out && 58 test_cmp expect.err actual.err 59 ) 60' 61 62test_done