(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:'Test revision walking api' span_id:15))} spids: [13] ) ] ) (C {(.)} {(./test-lib.sh)}) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:26) fd: -1 arg_word: {(run_twice_expected)} ) (redir.HereDoc op: (Token id:Id.Redir_DLessDash val:'<<-' span_id:29) fd: -1 here_begin: {(EOF)} here_end_span_id: 39 stdin_parts: [('1st\n') (' > add b\n') (' > add a\n') ('2nd\n') (' > add b\n') (' > add a\n')] ) ] ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:44))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:48) (Token id:Id.Lit_Chars val:'\techo a > a &&\n' span_id:49) (Token id:Id.Lit_Chars val:'\tgit add a &&\n' span_id:50) (Token id:Id.Lit_Chars val:'\tgit commit -m "add a" &&\n' span_id:51) (Token id:Id.Lit_Chars val:'\techo b > b &&\n' span_id:52) (Token id:Id.Lit_Chars val:'\tgit add b &&\n' span_id:53) (Token id:Id.Lit_Chars val:'\tgit commit -m "add b"\n' span_id:54) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'revision walking can be done twice' span_id:61))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:65) (Token id: Id.Lit_Chars val: '\ttest-revision-walking run-twice >run_twice_actual &&\n' span_id: 66 ) (Token id:Id.Lit_Chars val:'\ttest_cmp run_twice_expected run_twice_actual\n' span_id:67) ) } ) (C {(test_done)}) ] )