(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:'git commit-tree options test\n' span_id:15) (Token id:Id.Lit_Chars val:'\n' span_id:16) (Token id: Id.Lit_Chars val: 'This test checks that git commit-tree can create a specific commit\n' span_id: 17 ) (Token id: Id.Lit_Chars val: 'object by defining all environment variables that it understands.\n' span_id: 18 ) (Token id:Id.Lit_Chars val:'\n' span_id:19) (Token id: Id.Lit_Chars val: 'Also make sure that command line parser understands the normal\n' span_id: 20 ) (Token id:Id.Lit_Chars val:'"flags first and then non flag arguments" command line.\n' span_id:21) ) } spids: [13] ) ] ) (C {(.)} {(./test-lib.sh)}) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:32) fd: -1 arg_word: {(expected)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:35) fd: -1 here_begin: {(EOF)} here_end_span_id: 46 stdin_parts: [ ('tree ') ($ Id.VSub_DollarName '$EMPTY_TREE') ('\n') ('author Author Name <author@email> 1117148400 +0000\n') ('committer Committer Name <committer@email> 1117150200 +0000\n') ('\n') ('comment text\n') ] ) ] ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'test preparation: write empty tree' span_id:53))} {(SQ (Token id:Id.Lit_Chars val:'git write-tree >treeid' span_id:59))} ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'construct commit' span_id:68))} { (SQ (Token id:Id.Lit_Chars val:'echo comment text |\n' span_id:74) (Token id:Id.Lit_Chars val:' GIT_AUTHOR_NAME="Author Name" \\\n' span_id:75) (Token id:Id.Lit_Chars val:' GIT_AUTHOR_EMAIL="author@email" \\\n' span_id:76) (Token id: Id.Lit_Chars val: ' GIT_AUTHOR_DATE="2005-05-26 23:00" \\\n' span_id: 77 ) (Token id:Id.Lit_Chars val:' GIT_COMMITTER_NAME="Committer Name" \\\n' span_id:78) (Token id: Id.Lit_Chars val: ' GIT_COMMITTER_EMAIL="committer@email" \\\n' span_id: 79 ) (Token id:Id.Lit_Chars val:' GIT_COMMITTER_DATE="2005-05-26 23:30" \\\n' span_id:80) (Token id: Id.Lit_Chars val: ' TZ=GMT git commit-tree $(cat treeid) >commitid 2>/dev/null' span_id: 81 ) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'read commit' span_id:90))} {(SQ (Token id:Id.Lit_Chars val:'git cat-file commit $(cat commitid) >commit' span_id:96))} ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'compare commit' span_id:105))} {(SQ (Token id:Id.Lit_Chars val:'test_cmp expected commit' span_id:111))} ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'flags and then non flags' span_id:119))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:123) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:124) (Token id:Id.Lit_Chars val:'\techo comment text |\n' span_id:125) (Token id: Id.Lit_Chars val: '\tgit commit-tree $(cat treeid) >commitid &&\n' span_id: 126 ) (Token id:Id.Lit_Chars val:'\techo comment text |\n' span_id:127) (Token id: Id.Lit_Chars val: '\tgit commit-tree $(cat treeid) -p $(cat commitid) >childid-1 &&\n' span_id: 128 ) (Token id:Id.Lit_Chars val:'\techo comment text |\n' span_id:129) (Token id: Id.Lit_Chars val: '\tgit commit-tree -p $(cat commitid) $(cat treeid) >childid-2 &&\n' span_id: 130 ) (Token id:Id.Lit_Chars val:'\ttest_cmp childid-1 childid-2 &&\n' span_id:131) (Token id: Id.Lit_Chars val: '\tgit commit-tree $(cat treeid) -m foo >childid-3 &&\n' span_id: 132 ) (Token id:Id.Lit_Chars val:'\tgit commit-tree -m foo $(cat treeid) >childid-4 &&\n' span_id:133) (Token id:Id.Lit_Chars val:'\ttest_cmp childid-3 childid-4\n' span_id:134) ) } ) (C {(test_done)}) ] )