(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)}) ] )