(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:'Tests git rev-list --bisect functionality' span_id:14))} spids: [12] ) ] ) (C {(.)} {(./test-lib.sh)}) (C {(.)} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY')) (/lib-t6000.sh)}) (command.ShFunction name: test_bisection_diff body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_max_diff) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [52] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_bisect_option) op: assign_op.Equal rhs: {($ Id.VSub_Number '$2')} spids: [56] ) ] ) (C {(shift)} {(2)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_bisection) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:66) command_list: (command.CommandList children: [ (C {(git)} {(rev-list)} {($ Id.VSub_DollarName '$_bisect_option')} {(DQ ($ Id.VSub_At '$@'))} ) ] ) ) } spids: [65] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_list_size) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:80) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(git)} {(rev-list)} {(DQ ($ Id.VSub_At '$@'))}) (C {(wc)} {(-l)}) ] negated: F ) ] ) ) } spids: [79] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_head) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [97] ) ] ) (C {(shift)} {(1)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_bisection_size) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:107) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(git)} {(rev-list)} {($ Id.VSub_DollarName '$_bisection')} {(DQ ($ Id.VSub_At '$@'))} ) (C {(wc)} {(-l)}) ] negated: F ) ] ) ) } spids: [106] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(Id.Lit_LBracket '[')} {(-n)} {(DQ ($ Id.VSub_DollarName '$_list_size'))} {(-a)} {(-n)} {(DQ ($ Id.VSub_DollarName '$_bisection_size'))} {(Id.Lit_RBracket ']')} ) (C {(error)} {(DQ ('test_bisection_diff failed'))}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_bisect_err) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:168) command_list: (command.CommandList children: [ (C {(expr)} {($ Id.VSub_DollarName '$_list_size')} {(-)} {($ Id.VSub_DollarName '$_bisection_size')} {(word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\*' span_id:177))} {(2)} ) ] ) ) } spids: [167] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {(test)} {(DQ ($ Id.VSub_DollarName '$_bisect_err'))} {(-lt)} {(0)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_bisect_err) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:196) command_list: (command.CommandList children: [ (C {(expr)} {(0)} {(-)} {($ Id.VSub_DollarName '$_bisect_err')}) ] ) ) } spids: [195] ) ] ) ] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_bisect_err) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:208) command_list: (command.CommandList children: [ (C {(expr)} {($ Id.VSub_DollarName '$_bisect_err')} {(/)} {(2)}) ] ) ) } spids: [207] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:218) ) (C {(test_expect_success)} { (DQ ('bisection diff ') ($ Id.VSub_DollarName '$_bisect_option') (' ') ($ Id.VSub_DollarName '$_head') (' ') ($ Id.VSub_Star '$*') (' <= ') ($ Id.VSub_DollarName '$_max_diff') ) } {(SQ (Token id:Id.Lit_Chars val:'test $_bisect_err -le $_max_diff' span_id:243))} ) ] ) ) (command.Simple words: [{(date)}] redirects: [ (redir.Redir op:(Token id:Id.Redir_Great val:'>' span_id:251) fd:-1 arg_word:{(path0)}) ] ) (C {(git)} {(update-index)} {(--add)} {(path0)}) (C {(save_tag)} {(tree)} {(git)} {(write-tree)}) (C {(on_committer_date)} {(DQ ('00:00'))} {(hide_error)} {(save_tag)} {(root)} {(unique_commit)} {(root)} {(tree)} ) (C {(on_committer_date)} {(DQ ('00:01'))} {(save_tag)} {(l0)} {(unique_commit)} {(l0)} {(tree)} {(-p)} {(root)} ) (C {(on_committer_date)} {(DQ ('00:02'))} {(save_tag)} {(l1)} {(unique_commit)} {(l1)} {(tree)} {(-p)} {(l0)} ) (C {(on_committer_date)} {(DQ ('00:03'))} {(save_tag)} {(l2)} {(unique_commit)} {(l2)} {(tree)} {(-p)} {(l1)} ) (C {(on_committer_date)} {(DQ ('00:04'))} {(save_tag)} {(a0)} {(unique_commit)} {(a0)} {(tree)} {(-p)} {(l2)} ) (C {(on_committer_date)} {(DQ ('00:05'))} {(save_tag)} {(a1)} {(unique_commit)} {(a1)} {(tree)} {(-p)} {(a0)} ) (C {(on_committer_date)} {(DQ ('00:06'))} {(save_tag)} {(b1)} {(unique_commit)} {(b1)} {(tree)} {(-p)} {(a0)} ) (C {(on_committer_date)} {(DQ ('00:07'))} {(save_tag)} {(c1)} {(unique_commit)} {(c1)} {(tree)} {(-p)} {(b1)} ) (C {(on_committer_date)} {(DQ ('00:08'))} {(save_tag)} {(b2)} {(unique_commit)} {(b2)} {(tree)} {(-p)} {(b1)} ) (C {(on_committer_date)} {(DQ ('00:09'))} {(save_tag)} {(b3)} {(unique_commit)} {(b2)} {(tree)} {(-p)} {(b2)} ) (C {(on_committer_date)} {(DQ ('00:10'))} {(save_tag)} {(c2)} {(unique_commit)} {(c2)} {(tree)} {(-p)} {(c1)} {(-p)} {(b2)} ) (C {(on_committer_date)} {(DQ ('00:11'))} {(save_tag)} {(c3)} {(unique_commit)} {(c3)} {(tree)} {(-p)} {(c2)} ) (C {(on_committer_date)} {(DQ ('00:12'))} {(save_tag)} {(a2)} {(unique_commit)} {(a2)} {(tree)} {(-p)} {(a1)} ) (C {(on_committer_date)} {(DQ ('00:13'))} {(save_tag)} {(a3)} {(unique_commit)} {(a3)} {(tree)} {(-p)} {(a2)} ) (C {(on_committer_date)} {(DQ ('00:14'))} {(save_tag)} {(b4)} {(unique_commit)} {(b4)} {(tree)} {(-p)} {(b3)} {(-p)} {(a3)} ) (C {(on_committer_date)} {(DQ ('00:15'))} {(save_tag)} {(a4)} {(unique_commit)} {(a4)} {(tree)} {(-p)} {(a3)} {(-p)} {(b4)} {(-p)} {(c3)} ) (C {(on_committer_date)} {(DQ ('00:16'))} {(save_tag)} {(l3)} {(unique_commit)} {(l3)} {(tree)} {(-p)} {(a4)} ) (C {(on_committer_date)} {(DQ ('00:17'))} {(save_tag)} {(l4)} {(unique_commit)} {(l4)} {(tree)} {(-p)} {(l3)} ) (C {(on_committer_date)} {(DQ ('00:18'))} {(save_tag)} {(l5)} {(unique_commit)} {(l5)} {(tree)} {(-p)} {(l4)} ) (C {(git)} {(update-ref)} {(HEAD)} { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:670) command_list: (command.CommandList children:[(C {(tag)} {(l5)})]) ) } ) (C {(on_committer_date)} {(DQ ('00:00'))} {(hide_error)} {(save_tag)} {(F)} {(unique_commit)} {(F)} {(tree)} ) (C {(on_committer_date)} {(DQ ('00:01'))} {(save_tag)} {(e8)} {(unique_commit)} {(e8)} {(tree)} {(-p)} {(F)} ) (C {(on_committer_date)} {(DQ ('00:02'))} {(save_tag)} {(e7)} {(unique_commit)} {(e7)} {(tree)} {(-p)} {(e8)} ) (C {(on_committer_date)} {(DQ ('00:03'))} {(save_tag)} {(e6)} {(unique_commit)} {(e6)} {(tree)} {(-p)} {(e7)} ) (C {(on_committer_date)} {(DQ ('00:04'))} {(save_tag)} {(e5)} {(unique_commit)} {(e5)} {(tree)} {(-p)} {(e6)} ) (C {(on_committer_date)} {(DQ ('00:05'))} {(save_tag)} {(f4)} {(unique_commit)} {(f4)} {(tree)} {(-p)} {(F)} ) (C {(on_committer_date)} {(DQ ('00:06'))} {(save_tag)} {(f3)} {(unique_commit)} {(f3)} {(tree)} {(-p)} {(f4)} ) (C {(on_committer_date)} {(DQ ('00:07'))} {(save_tag)} {(f2)} {(unique_commit)} {(f2)} {(tree)} {(-p)} {(f3)} ) (C {(on_committer_date)} {(DQ ('00:08'))} {(save_tag)} {(f1)} {(unique_commit)} {(f1)} {(tree)} {(-p)} {(f2)} ) (C {(on_committer_date)} {(DQ ('00:09'))} {(save_tag)} {(e4)} {(unique_commit)} {(e4)} {(tree)} {(-p)} {(e5)} ) (C {(on_committer_date)} {(DQ ('00:10'))} {(save_tag)} {(e3)} {(unique_commit)} {(e3)} {(tree)} {(-p)} {(e4)} ) (C {(on_committer_date)} {(DQ ('00:11'))} {(save_tag)} {(e2)} {(unique_commit)} {(e2)} {(tree)} {(-p)} {(e3)} ) (C {(on_committer_date)} {(DQ ('00:12'))} {(save_tag)} {(e1)} {(unique_commit)} {(e1)} {(tree)} {(-p)} {(e2)} ) (C {(on_committer_date)} {(DQ ('00:13'))} {(save_tag)} {(E)} {(unique_commit)} {(E)} {(tree)} {(-p)} {(e1)} {(-p)} {(f1)} ) (C {(on_committer_date)} {(DQ ('00:00'))} {(hide_error)} {(save_tag)} {(U)} {(unique_commit)} {(U)} {(tree)} ) (C {(on_committer_date)} {(DQ ('00:01'))} {(save_tag)} {(u0)} {(unique_commit)} {(u0)} {(tree)} {(-p)} {(U)} ) (C {(on_committer_date)} {(DQ ('00:01'))} {(save_tag)} {(u1)} {(unique_commit)} {(u1)} {(tree)} {(-p)} {(u0)} ) (C {(on_committer_date)} {(DQ ('00:02'))} {(save_tag)} {(u2)} {(unique_commit)} {(u2)} {(tree)} {(-p)} {(u0)} ) (C {(on_committer_date)} {(DQ ('00:03'))} {(save_tag)} {(u3)} {(unique_commit)} {(u3)} {(tree)} {(-p)} {(u0)} ) (C {(on_committer_date)} {(DQ ('00:04'))} {(save_tag)} {(u4)} {(unique_commit)} {(u4)} {(tree)} {(-p)} {(u0)} ) (C {(on_committer_date)} {(DQ ('00:05'))} {(save_tag)} {(u5)} {(unique_commit)} {(u5)} {(tree)} {(-p)} {(u0)} ) (C {(on_committer_date)} {(DQ ('00:06'))} {(save_tag)} {(V)} {(unique_commit)} {(V)} {(tree)} {(-p)} {(u1)} {(-p)} {(u2)} {(-p)} {(u3)} {(-p)} {(u4)} {(-p)} {(u5)} ) (command.ShFunction name: test_sequence body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_bisect_option) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [1226] ) ] ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(l0)} {(Id.Lit_Other '^') (root)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(l1)} {(Id.Lit_Other '^') (root)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(l2)} {(Id.Lit_Other '^') (root)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(a0)} {(Id.Lit_Other '^') (root)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(a1)} {(Id.Lit_Other '^') (root)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(a2)} {(Id.Lit_Other '^') (root)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(a3)} {(Id.Lit_Other '^') (root)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(b1)} {(Id.Lit_Other '^') (root)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(b2)} {(Id.Lit_Other '^') (root)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(b3)} {(Id.Lit_Other '^') (root)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(c1)} {(Id.Lit_Other '^') (root)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(c2)} {(Id.Lit_Other '^') (root)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(c3)} {(Id.Lit_Other '^') (root)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(E)} {(Id.Lit_Other '^') (F)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(e1)} {(Id.Lit_Other '^') (F)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(e2)} {(Id.Lit_Other '^') (F)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(e3)} {(Id.Lit_Other '^') (F)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(e4)} {(Id.Lit_Other '^') (F)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(e5)} {(Id.Lit_Other '^') (F)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(e6)} {(Id.Lit_Other '^') (F)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(e7)} {(Id.Lit_Other '^') (F)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(f1)} {(Id.Lit_Other '^') (F)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(f2)} {(Id.Lit_Other '^') (F)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(f3)} {(Id.Lit_Other '^') (F)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(f4)} {(Id.Lit_Other '^') (F)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(E)} {(Id.Lit_Other '^') (F)} ) (C {(test_bisection_diff)} {(1)} {($ Id.VSub_DollarName '$_bisect_option')} {(V)} {(Id.Lit_Other '^') (U)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(V)} {(Id.Lit_Other '^') (U)} {(Id.Lit_Other '^') (u1)} {(Id.Lit_Other '^') (u2)} {(Id.Lit_Other '^') (u3)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(u1)} {(Id.Lit_Other '^') (U)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(u2)} {(Id.Lit_Other '^') (U)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(u3)} {(Id.Lit_Other '^') (U)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(u4)} {(Id.Lit_Other '^') (U)} ) (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(u5)} {(Id.Lit_Other '^') (U)} ) (command.Simple words: [ {(test_output_expect_success)} {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' l5 ^root'))} { (SQ (Token id: Id.Lit_Chars val: 'git rev-list $_bisect_option l5 ^root' span_id: 1673 ) ) } ] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1676) fd: -1 here_begin: {(EOF)} here_end_span_id: 1681 stdin_parts: [('c3\n')] ) ] ) (command.Simple words: [ {(test_output_expect_success)} {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' l5 ^root ^c3'))} { (SQ (Token id: Id.Lit_Chars val: 'git rev-list $_bisect_option l5 ^root ^c3' span_id: 1691 ) ) } ] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1694) fd: -1 here_begin: {(EOF)} here_end_span_id: 1699 stdin_parts: [('b4\n')] ) ] ) (command.Simple words: [ {(test_output_expect_success)} {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' l5 ^root ^c3 ^b4'))} { (SQ (Token id: Id.Lit_Chars val: 'git rev-list $_bisect_option l5 ^c3 ^b4' span_id: 1709 ) ) } ] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1712) fd: -1 here_begin: {(EOF)} here_end_span_id: 1717 stdin_parts: [('l3\n')] ) ] ) (command.Simple words: [ {(test_output_expect_success)} {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' l3 ^root ^c3 ^b4'))} { (SQ (Token id: Id.Lit_Chars val: 'git rev-list $_bisect_option l3 ^root ^c3 ^b4' span_id: 1727 ) ) } ] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1730) fd: -1 here_begin: {(EOF)} here_end_span_id: 1735 stdin_parts: [('a4\n')] ) ] ) (command.Simple words: [ {(test_output_expect_success)} {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' l5 ^b3 ^a3 ^b4 ^a4'))} { (SQ (Token id: Id.Lit_Chars val: 'git rev-list $_bisect_option l3 ^b3 ^a3 ^a4' span_id: 1745 ) ) } ] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1748) fd: -1 here_begin: {(EOF)} here_end_span_id: 1753 stdin_parts: [('l3\n')] ) ] ) (command.Simple words: [ {(test_output_expect_success)} {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' l4 ^a2 ^a3 ^b ^a4'))} { (SQ (Token id: Id.Lit_Chars val: 'git rev-list $_bisect_option l4 ^a2 ^a3 ^a4' span_id: 1773 ) ) } ] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1776) fd: -1 here_begin: {(EOF)} here_end_span_id: 1781 stdin_parts: [('l3\n')] ) ] ) (command.Simple words: [ {(test_output_expect_success)} {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' l3 ^a2 ^a3 ^b ^a4'))} { (SQ (Token id: Id.Lit_Chars val: 'git rev-list $_bisect_option l3 ^a2 ^a3 ^a4' span_id: 1791 ) ) } ] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1794) fd: -1 here_begin: {(EOF)} here_end_span_id: 1799 stdin_parts: [('l3\n')] ) ] ) (command.Simple words: [ {(test_output_expect_success)} {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' a4 ^a2 ^a3 ^b4'))} { (SQ (Token id: Id.Lit_Chars val: 'git rev-list $_bisect_option a4 ^a2 ^a3 ^b4' span_id: 1823 ) ) } ] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1826) fd: -1 here_begin: {(EOF)} here_end_span_id: 1831 stdin_parts: [('c2\n')] ) ] ) (command.Simple words: [ {(test_output_expect_success)} {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' a4 ^a2 ^a3 ^b4 ^c2'))} { (SQ (Token id: Id.Lit_Chars val: 'git rev-list $_bisect_option a4 ^a2 ^a3 ^b4 ^c2' span_id: 1841 ) ) } ] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1844) fd: -1 here_begin: {(EOF)} here_end_span_id: 1849 stdin_parts: [('c3\n')] ) ] ) (command.Simple words: [ {(test_output_expect_success)} {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' a4 ^a2 ^a3 ^b4 ^c2 ^c3'))} { (SQ (Token id: Id.Lit_Chars val: 'git rev-list $_bisect_option a4 ^a2 ^a3 ^b4 ^c2 ^c3' span_id: 1859 ) ) } ] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1862) fd: -1 here_begin: {(EOF)} here_end_span_id: 1867 stdin_parts: [('a4\n')] ) ] ) (command.Simple words: [ {(test_output_expect_success)} {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' a4 ^a2 ^a3 ^b4'))} { (SQ (Token id: Id.Lit_Chars val: 'git rev-list $_bisect_option a4 ^a2 ^a3 ^b4' span_id: 1891 ) ) } ] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1894) fd: -1 here_begin: {(EOF)} here_end_span_id: 1899 stdin_parts: [('c2\n')] ) ] ) (command.Simple words: [ {(test_output_expect_success)} {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' c3 ^a2 ^a3 ^b4 ^c2'))} { (SQ (Token id: Id.Lit_Chars val: 'git rev-list $_bisect_option c3 ^a2 ^a3 ^b4 ^c2' span_id: 1909 ) ) } ] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1912) fd: -1 here_begin: {(EOF)} here_end_span_id: 1917 stdin_parts: [('c3\n')] ) ] ) ] ) ) (C {(test_sequence)} {(DQ (--bisect))}) (C {(test_done)}) ] )