(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ <'test --stat output of various commands'>)} spids: [13] ) ] ) (C {<.>} {<'./test-lib.sh'>}) (C {<.>} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY')) <'/lib-terminal.sh'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:name) op: assign_op.Equal rhs: {<aaaaaaaaaa>} spids: [34] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:name) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$name') ($ Id.VSub_DollarName '$name') ($ Id.VSub_DollarName '$name') ($ Id.VSub_DollarName '$name') ($ Id.VSub_DollarName '$name') ($ Id.VSub_DollarName '$name') ($ Id.VSub_DollarName '$name') ($ Id.VSub_DollarName '$name') ($ Id.VSub_DollarName '$name') ($ Id.VSub_DollarName '$name') ($ Id.VSub_DollarName '$name') ($ Id.VSub_DollarName '$name') } spids: [37] ) ] ) (C {<test_expect_success>} {(SQ <preparation>)} { (SQ <'\n'> <'\t>"$name" &&\n'> <'\tgit add "$name" &&\n'> <'\tgit commit -m message &&\n'> <'\techo a >"$name" &&\n'> <'\tgit commit -m message "$name"\n'> ) } ) (command.WhileUntil keyword: <Id.KW_While while> cond: [(C {<read>} {<cmd>} {<args>})] body: (command.DoGroup children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect>}) (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 89 stdin_parts: [ < ' ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1 +\n' > ] ) ) ] do_fork: T ) (C {<test_expect_success>} { (DQ ($ Id.VSub_DollarName '$cmd') <': small change with long name gives more space to the name'> ) } { (SQ <'\n'> <'\t\tgit $cmd $args >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp expect actual\n'> <'\t'> ) } ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect>}) (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 119 stdin_parts: [<' ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1 +\n'>] ) ) ] do_fork: T ) (C {<test_expect_success>} { (DQ ($ Id.VSub_DollarName '$cmd') <' --stat=width: a long name is given more room when the bar is short'> ) } { (SQ <'\n'> <'\t\tgit $cmd $args --stat=40 >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp expect actual\n'> <'\t'> ) } ) (C {<test_expect_success>} {(DQ ($ Id.VSub_DollarName '$cmd') <' --stat-width=width with long name'>)} { (SQ <'\n'> <'\t\tgit $cmd $args --stat-width=40 >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp expect actual\n'> <'\t'> ) } ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect>}) (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 166 stdin_parts: [<' ...aaaaaaaaaaaaaaaaaaaaaaaaaaa | 1 +\n'>] ) ) ] do_fork: T ) (C {<test_expect_success>} {(DQ ($ Id.VSub_DollarName '$cmd') <' --stat=...,name-width with long name'>)} { (SQ <'\n'> <'\t\tgit $cmd $args --stat=60,30 >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp expect actual\n'> <'\t'> ) } ) (C {<test_expect_success>} {(DQ ($ Id.VSub_DollarName '$cmd') <' --stat-name-width with long name'>)} { (SQ <'\n'> <'\t\tgit $cmd $args --stat-name-width=30 >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp expect actual\n'> <'\t'> ) } ) ] ) redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\E'>) <OF>} here_end_span_id: 210 stdin_parts: [ <'format-patch -1 --stdout\n'> <'diff HEAD^ HEAD --stat\n'> <'show --stat\n'> <'log -1 --stat\n'> ] ) ) ] ) (C {<test_expect_success>} {(SQ <'preparation for big change tests'>)} { (SQ <'\n'> <'\t>abcd &&\n'> <'\tgit add abcd &&\n'> <'\tgit commit -m message &&\n'> <'\ti=0 &&\n'> <'\twhile test $i -lt 1000\n'> <'\tdo\n'> <'\t\techo $i && i=$(($i + 1))\n'> <'\tdone >abcd &&\n'> <'\tgit commit -m message abcd\n'> ) } ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect80>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 244 stdin_parts: [ < ' abcd | 1000 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n' > ] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect80-graph>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 256 stdin_parts: [ < '| abcd | 1000 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n' > ] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect200>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 268 stdin_parts: [ < ' abcd | 1000 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n' > ] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect200-graph>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 280 stdin_parts: [ < '| abcd | 1000 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n' > ] ) ) ] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: [(C {<read>} {<verb>} {<expect>} {<cmd>} {<args>})] body: (command.DoGroup children: [ (C {<test_expect_success>} { (DQ ($ Id.VSub_DollarName '$cmd') <' '> ($ Id.VSub_DollarName '$verb') <' COLUMNS (big change)'> ) } { (SQ <'\n'> <'\t\tCOLUMNS=200 git $cmd $args >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp "$expect" actual\n'> <'\t'> ) } ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$cmd'))} arms: [ (case_arm pat_list: [{<diff>} {<show>}] action: [(command.ControlFlow token:<Id.ControlFlow_Continue continue>)] spids: [323 326 329 -1] ) ] ) (C {<test_expect_success>} { (DQ ($ Id.VSub_DollarName '$cmd') <' --graph '> ($ Id.VSub_DollarName '$verb') <' COLUMNS (big change)'> ) } { (SQ <'\n'> <'\t\tCOLUMNS=200 git $cmd $args --graph >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp "$expect-graph" actual\n'> <'\t'> ) } ) ] ) redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\E'>) <OF>} here_end_span_id: 362 stdin_parts: [ <'ignores expect80 format-patch -1 --stdout\n'> <'respects expect200 diff HEAD^ HEAD --stat\n'> <'respects expect200 show --stat\n'> <'respects expect200 log -1 --stat\n'> ] ) ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect40>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 375 stdin_parts: [<' abcd | 1000 ++++++++++++++++++++++++++\n'>] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect40-graph>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 387 stdin_parts: [<'| abcd | 1000 ++++++++++++++++++++++++\n'>] ) ) ] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: [(C {<read>} {<verb>} {<expect>} {<cmd>} {<args>})] body: (command.DoGroup children: [ (C {<test_expect_success>} { (DQ ($ Id.VSub_DollarName '$cmd') <' '> ($ Id.VSub_DollarName '$verb') <' not enough COLUMNS (big change)'> ) } { (SQ <'\n'> <'\t\tCOLUMNS=40 git $cmd $args >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp "$expect" actual\n'> <'\t'> ) } ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$cmd'))} arms: [ (case_arm pat_list: [{<diff>} {<show>}] action: [(command.ControlFlow token:<Id.ControlFlow_Continue continue>)] spids: [430 433 436 -1] ) ] ) (C {<test_expect_success>} { (DQ ($ Id.VSub_DollarName '$cmd') <' --graph '> ($ Id.VSub_DollarName '$verb') <' not enough COLUMNS (big change)'> ) } { (SQ <'\n'> <'\t\tCOLUMNS=40 git $cmd $args --graph >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp "$expect-graph" actual\n'> <'\t'> ) } ) ] ) redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\E'>) <OF>} here_end_span_id: 469 stdin_parts: [ <'ignores expect80 format-patch -1 --stdout\n'> <'respects expect40 diff HEAD^ HEAD --stat\n'> <'respects expect40 show --stat\n'> <'respects expect40 log -1 --stat\n'> ] ) ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect40>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 482 stdin_parts: [<' abcd | 1000 ++++++++++++++++++++++++++\n'>] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect40-graph>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 494 stdin_parts: [<'| abcd | 1000 ++++++++++++++++++++++++++\n'>] ) ) ] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: [(C {<read>} {<verb>} {<expect>} {<cmd>} {<args>})] body: (command.DoGroup children: [ (C {<test_expect_success>} { (DQ ($ Id.VSub_DollarName '$cmd') <' '> ($ Id.VSub_DollarName '$verb') <' statGraphWidth config'> ) } { (SQ <'\n'> <'\t\tgit -c diff.statGraphWidth=26 $cmd $args >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp "$expect" actual\n'> <'\t'> ) } ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$cmd'))} arms: [ (case_arm pat_list: [{<diff>} {<show>}] action: [(command.ControlFlow token:<Id.ControlFlow_Continue continue>)] spids: [537 540 543 -1] ) ] ) (C {<test_expect_success>} { (DQ ($ Id.VSub_DollarName '$cmd') <' --graph '> ($ Id.VSub_DollarName '$verb') <' statGraphWidth config'> ) } { (SQ <'\n'> <'\t\tgit -c diff.statGraphWidth=26 $cmd $args --graph >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp "$expect-graph" actual\n'> <'\t'> ) } ) ] ) redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\E'>) <OF>} here_end_span_id: 576 stdin_parts: [ <'ignores expect80 format-patch -1 --stdout\n'> <'respects expect40 diff HEAD^ HEAD --stat\n'> <'respects expect40 show --stat\n'> <'respects expect40 log -1 --stat\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.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 590 stdin_parts: [<' abcd | 1000 ++++++++++++++++++++++++++\n'>] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect-graph>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 602 stdin_parts: [<'| abcd | 1000 ++++++++++++++++++++++++++\n'>] ) ) ] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: [(C {<read>} {<cmd>} {<args>})] body: (command.DoGroup children: [ (C {<test_expect_success>} {(DQ ($ Id.VSub_DollarName '$cmd') <' --stat=width with big change'>)} { (SQ <'\n'> <'\t\tgit $cmd $args --stat=40 >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp expect actual\n'> <'\t'> ) } ) (C {<test_expect_success>} {(DQ ($ Id.VSub_DollarName '$cmd') <' --stat-width=width with big change'>)} { (SQ <'\n'> <'\t\tgit $cmd $args --stat-width=40 >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp expect actual\n'> <'\t'> ) } ) (C {<test_expect_success>} {(DQ ($ Id.VSub_DollarName '$cmd') <' --stat-graph-width with big change'>)} { (SQ <'\n'> <'\t\tgit $cmd $args --stat-graph-width=26 >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp expect actual\n'> <'\t'> ) } ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$cmd'))} arms: [ (case_arm pat_list: [{<diff>} {<show>}] action: [(command.ControlFlow token:<Id.ControlFlow_Continue continue>)] spids: [673 676 679 -1] ) ] ) (C {<test_expect_success>} {(DQ ($ Id.VSub_DollarName '$cmd') <' --stat-width=width --graph with big change'>)} { (SQ <'\n'> <'\t\tgit $cmd $args --stat-width=40 --graph >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp expect-graph actual\n'> <'\t'> ) } ) (C {<test_expect_success>} {(DQ ($ Id.VSub_DollarName '$cmd') <' --stat-graph-width --graph with big change'>)} { (SQ <'\n'> <'\t\tgit $cmd $args --stat-graph-width=26 --graph >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp expect-graph actual\n'> <'\t'> ) } ) ] ) redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\E'>) <OF>} here_end_span_id: 727 stdin_parts: [ <'format-patch -1 --stdout\n'> <'diff HEAD^ HEAD --stat\n'> <'show --stat\n'> <'log -1 --stat\n'> ] ) ) ] ) (C {<test_expect_success>} {(SQ <'preparation for long filename tests'>)} { (SQ <'\n'> <'\tcp abcd aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &&\n'> <'\tgit add aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &&\n'> <'\tgit commit -m message\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.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 754 stdin_parts: [<' ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 ++++++++++++\n'>] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect-graph>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 766 stdin_parts: [<'| ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 ++++++++++++\n'>] ) ) ] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: [(C {<read>} {<cmd>} {<args>})] body: (command.DoGroup children: [ (C {<test_expect_success>} {(DQ ($ Id.VSub_DollarName '$cmd') <' --stat=width with big change is more balanced'>)} { (SQ <'\n'> <'\t\tgit $cmd $args --stat-width=60 >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp expect actual\n'> <'\t'> ) } ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$cmd'))} arms: [ (case_arm pat_list: [{<diff>} {<show>}] action: [(command.ControlFlow token:<Id.ControlFlow_Continue continue>)] spids: [803 806 809 -1] ) ] ) (C {<test_expect_success>} { (DQ ($ Id.VSub_DollarName '$cmd') <' --stat=width --graph with big change is balanced'> ) } { (SQ <'\n'> <'\t\tgit $cmd $args --stat-width=60 --graph >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp expect-graph actual\n'> <'\t'> ) } ) ] ) redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\E'>) <OF>} here_end_span_id: 840 stdin_parts: [ <'format-patch -1 --stdout\n'> <'diff HEAD^ HEAD --stat\n'> <'show --stat\n'> <'log -1 --stat\n'> ] ) ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect80>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 853 stdin_parts: [ < ' ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 ++++++++++++++++++++\n' > ] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect80-graph>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 865 stdin_parts: [ < '| ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 ++++++++++++++++++++\n' > ] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect200>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 877 stdin_parts: [ < ' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n' > ] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect200-graph>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 889 stdin_parts: [ < '| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n' > ] ) ) ] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: [(C {<read>} {<verb>} {<expect>} {<cmd>} {<args>})] body: (command.DoGroup children: [ (C {<test_expect_success>} { (DQ ($ Id.VSub_DollarName '$cmd') <' '> ($ Id.VSub_DollarName '$verb') <' COLUMNS (long filename)'> ) } { (SQ <'\n'> <'\t\tCOLUMNS=200 git $cmd $args >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp "$expect" actual\n'> <'\t'> ) } ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$cmd'))} arms: [ (case_arm pat_list: [{<diff>} {<show>}] action: [(command.ControlFlow token:<Id.ControlFlow_Continue continue>)] spids: [932 935 938 -1] ) ] ) (C {<test_expect_success>} { (DQ ($ Id.VSub_DollarName '$cmd') <' --graph '> ($ Id.VSub_DollarName '$verb') <' COLUMNS (long filename)'> ) } { (SQ <'\n'> <'\t\tCOLUMNS=200 git $cmd $args --graph >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp "$expect-graph" actual\n'> <'\t'> ) } ) ] ) redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\E'>) <OF>} here_end_span_id: 971 stdin_parts: [ <'ignores expect80 format-patch -1 --stdout\n'> <'respects expect200 diff HEAD^ HEAD --stat\n'> <'respects expect200 show --stat\n'> <'respects expect200 log -1 --stat\n'> ] ) ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect1>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 984 stdin_parts: [<' ...aaaaaaa | 1000 ++++++\n'>] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect1-graph>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 996 stdin_parts: [<'| ...aaaaaaa | 1000 ++++++\n'>] ) ) ] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: [(C {<read>} {<verb>} {<expect>} {<cmd>} {<args>})] body: (command.DoGroup children: [ (C {<test_expect_success>} {<COLUMNS_CAN_BE_1>} { (DQ ($ Id.VSub_DollarName '$cmd') <' '> ($ Id.VSub_DollarName '$verb') <' prefix greater than COLUMNS (big change)'> ) } { (SQ <'\n'> <'\t\tCOLUMNS=1 git $cmd $args >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp "$expect" actual\n'> <'\t'> ) } ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$cmd'))} arms: [ (case_arm pat_list: [{<diff>} {<show>}] action: [(command.ControlFlow token:<Id.ControlFlow_Continue continue>)] spids: [1043 1046 1049 -1] ) ] ) (C {<test_expect_success>} {<COLUMNS_CAN_BE_1>} { (DQ ($ Id.VSub_DollarName '$cmd') <' --graph '> ($ Id.VSub_DollarName '$verb') <' prefix greater than COLUMNS (big change)'> ) } { (SQ <'\n'> <'\t\tCOLUMNS=1 git $cmd $args --graph >output &&\n'> <'\t\tgrep " | " output >actual &&\n'> <'\t\ttest_cmp "$expect-graph" actual\n'> <'\t'> ) } ) ] ) redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\E'>) <OF>} here_end_span_id: 1086 stdin_parts: [ <'ignores expect80 format-patch -1 --stdout\n'> <'respects expect1 diff HEAD^ HEAD --stat\n'> <'respects expect1 show --stat\n'> <'respects expect1 log -1 --stat\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.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 1099 stdin_parts: [ < ' abcd | 1000 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n' > ] ) ) ] do_fork: T ) (C {<test_expect_success>} {(SQ <'merge --stat respects COLUMNS (big change)'>)} { (SQ <'\n'> <'\tgit checkout -b branch HEAD^^ &&\n'> <'\tCOLUMNS=100 git merge --stat --no-ff master^ >output &&\n'> <'\tgrep " | " output >actual &&\n'> <'\ttest_cmp expect actual\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.MultiLine here_begin: {(SQ <EOF>)} here_end_span_id: 1126 stdin_parts: [ < ' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 +++++++++++++++++++++++++++++++++++++++\n' > ] ) ) ] do_fork: T ) (C {<test_expect_success>} {(SQ <'merge --stat respects COLUMNS (long filename)'>)} { (SQ <'\n'> <'\tCOLUMNS=100 git merge --stat --no-ff master >output &&\n'> <'\tgrep " | " output >actual &&\n'> <'\ttest_cmp expect actual\n'> ) } ) (C {<test_done>}) ] )