(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ <'diff -r -t shows directory additions and deletions'>)} spids: [4] ) ] ) (C {<.>} {<'./test-lib.sh'>}) (C {<test_expect_success>} {<setup>} { (SQ <'\n'> <'\tmkdir dc dr dt &&\n'> <'\t>dc/1 &&\n'> <'\t>dr/2 &&\n'> <'\t>dt/3 &&\n'> <'\t>fc &&\n'> <'\t>fr &&\n'> <'\t>ft &&\n'> <'\tgit add . &&\n'> <'\ttest_tick &&\n'> <'\tgit commit -m initial &&\n'> <'\n'> <'\trm -fr dt dr ft fr &&\n'> <'\tmkdir da ft &&\n'> <'\tfor p in dc/1 da/4 dt ft/5 fc\n'> <'\tdo\n'> <'\t\techo hello >$p || exit\n'> <'\tdone &&\n'> <'\tgit add -u &&\n'> <'\tgit add . &&\n'> <'\ttest_tick &&\n'> <'\tgit commit -m second\n'> ) } ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\E'>) <OF>} here_end_span_id: 68 stdin_parts: [ <'A\tda\n'> <'A\tda/4\n'> <'M\tdc\n'> <'M\tdc/1\n'> <'D\tdr\n'> <'D\tdr/2\n'> <'A\tdt\n'> <'D\tdt\n'> <'D\tdt/3\n'> <'M\tfc\n'> <'D\tfr\n'> <'D\tft\n'> <'A\tft\n'> <'A\tft/5\n'> ] ) ) ] do_fork: T ) (C {<test_expect_success>} {<verify>} { (SQ <'\n'> <'\tgit diff-tree -r -t --name-status HEAD^ HEAD >actual &&\n'> <'\ttest_cmp expect actual\n'> ) } ) (C {<test_done>}) ] )