(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: { (SQ <'ls-files tests with relative paths\n'> <'\n'> <'This test runs git ls-files with various relative path arguments.\n'> ) } spids: [4] ) ] spids: [4] ) (C {(.)} {(./test-lib.sh)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:new_line) op:Equal rhs:{(SQ <'\n'>)} spids:[17])] spids: [17] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sq) op: Equal rhs: {(EscapedLiteralPart token:<Lit_EscapedChar "\\'">)} spids: [22] ) ] spids: [22] ) (C {(test_expect_success)} {(SQ <prepare>)} { (SQ <'\n'> <'\t: >never-mind-me &&\n'> <'\tgit add never-mind-me &&\n'> <'\tmkdir top &&\n'> <'\t(\n'> <'\t\tcd top &&\n'> <'\t\tmkdir sub &&\n'> <'\t\tx="x xa xbc xdef xghij xklmno" &&\n'> <'\t\ty=$(echo "$x" | tr x y) &&\n'> <'\t\ttouch $x &&\n'> <'\t\ttouch $y &&\n'> <'\t\tcd sub &&\n'> <'\t\tgit add ../x*\n'> <'\t)\n'> ) } ) (C {(test_expect_success)} {(SQ <'ls-files with mixed levels'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tcd top/sub &&\n'> <'\t\tcat >expect <<-EOF &&\n'> <'\t\t../../never-mind-me\n'> <'\t\t../x\n'> <'\t\tEOF\n'> <'\t\tgit ls-files $(cat expect) >actual &&\n'> <'\t\ttest_cmp expect actual\n'> <'\t)\n'> ) } ) (C {(test_expect_success)} {(SQ <'ls-files -c'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tcd top/sub &&\n'> <'\t\tfor f in ../y*\n'> <'\t\tdo\n'> <'\t\t\techo "error: pathspec $sq$f$sq did not match any file(s) known to git."\n'> <'\t\tdone >expect.err &&\n'> <'\t\techo "Did you forget to ${sq}git add${sq}?" >>expect.err &&\n'> <'\t\tls ../x* >expect.out &&\n'> <'\t\ttest_must_fail git ls-files -c --error-unmatch ../[xy]* >actual.out 2>actual.err &&\n'> <'\t\ttest_cmp expect.out actual.out &&\n'> <'\t\ttest_cmp expect.err actual.err\n'> <'\t)\n'> ) } ) (C {(test_expect_success)} {(SQ <'ls-files -o'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tcd top/sub &&\n'> <'\t\tfor f in ../x*\n'> <'\t\tdo\n'> <'\t\t\techo "error: pathspec $sq$f$sq did not match any file(s) known to git."\n'> <'\t\tdone >expect.err &&\n'> <'\t\techo "Did you forget to ${sq}git add${sq}?" >>expect.err &&\n'> <'\t\tls ../y* >expect.out &&\n'> <'\t\ttest_must_fail git ls-files -o --error-unmatch ../[xy]* >actual.out 2>actual.err &&\n'> <'\t\ttest_cmp expect.out actual.out &&\n'> <'\t\ttest_cmp expect.err actual.err\n'> <'\t)\n'> ) } ) (C {(test_done)}) ] )