(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 unique sha1 abbreviation on "index from..to" line' span_id: 6 ) ) } spids: [4] ) ] ) (C {(.)} {(./test-lib.sh)}) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:16) fd: -1 arg_word: {(expect_initial)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:19) fd: -1 here_begin: {(EOF)} here_end_span_id: 24 stdin_parts: [('100644 blob 51d2738463ea4ca66f8691c91e33ce64b7d41bb1\tfoo\n')] ) ] ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:28) fd: -1 arg_word: {(expect_update)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:31) fd: -1 here_begin: {(EOF)} here_end_span_id: 36 stdin_parts: [('100644 blob 51d2738efb4ad8a1e40bed839ab8e116f0a15e47\tfoo\n')] ) ] ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:41))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:45) (Token id:Id.Lit_Chars val:'\techo 4827 > foo &&\n' span_id:46) (Token id:Id.Lit_Chars val:'\tgit add foo &&\n' span_id:47) (Token id:Id.Lit_Chars val:'\tgit commit -m "initial" &&\n' span_id:48) (Token id:Id.Lit_Chars val:'\tgit cat-file -p HEAD: > actual &&\n' span_id:49) (Token id:Id.Lit_Chars val:'\ttest_cmp expect_initial actual &&\n' span_id:50) (Token id:Id.Lit_Chars val:'\techo 11742 > foo &&\n' span_id:51) (Token id:Id.Lit_Chars val:'\tgit commit -a -m "update" &&\n' span_id:52) (Token id:Id.Lit_Chars val:'\tgit cat-file -p HEAD: > actual &&\n' span_id:53) (Token id:Id.Lit_Chars val:'\ttest_cmp expect_update actual\n' span_id:54) ) } ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op:(Token id:Id.Redir_Great val:'>' span_id:60) fd:-1 arg_word:{(expect)}) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:63) fd: -1 here_begin: {(EOF)} here_end_span_id: 68 stdin_parts: [('index 51d27384..51d2738e 100644\n')] ) ] ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'diff does not produce ambiguous index line' span_id:73))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:77) (Token id: Id.Lit_Chars val: '\tgit diff HEAD^..HEAD | grep index > actual &&\n' span_id: 78 ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:79) ) } ) (C {(test_done)}) ] )