(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <'test --stat output of various commands'>)}
          spids: [13]
        )
      ]
      spids: [13]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(.)} {(DQ ($ VSub_Name '$TEST_DIRECTORY')) (/lib-terminal.sh)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:name) op:Equal rhs:{(aaaaaaaaaa)} spids:[34])]
      spids: [34]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:name)
          op: Equal
          rhs: 
            {($ VSub_Name '$name') ($ VSub_Name '$name') ($ VSub_Name '$name') ($ VSub_Name '$name') 
              ($ VSub_Name '$name') ($ VSub_Name '$name') ($ VSub_Name '$name') ($ VSub_Name '$name') ($ VSub_Name '$name') 
              ($ VSub_Name '$name') ($ VSub_Name '$name') ($ VSub_Name '$name')
            }
          spids: [37]
        )
      ]
      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'>
        )
      }
    )
    (WhileUntil
      keyword: <KW_While while>
      cond: [(C {(read)} {(cmd)} {(args)})]
      body: 
        (DoGroup
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)})
                (HereDoc
                  op: <Redir_DLessDash '<<-'>
                  fd: 16777215
                  here_begin: {(SQ <EOF>)}
                  here_end_span_id: 89
                  stdin_parts: [
                    (
' ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1 +\n'
                    )
                  ]
                )
              ]
            )
            (C {(test_expect_success)} 
              {
                (DQ ($ VSub_Name '$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'>
                )
              }
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)})
                (HereDoc
                  op: <Redir_DLessDash '<<-'>
                  fd: 16777215
                  here_begin: {(SQ <EOF>)}
                  here_end_span_id: 119
                  stdin_parts: [(' ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1 +\n')]
                )
              ]
            )
            (C {(test_expect_success)} 
              {
                (DQ ($ VSub_Name '$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 ($ VSub_Name '$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'>
                )
              }
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)})
                (HereDoc
                  op: <Redir_DLessDash '<<-'>
                  fd: 16777215
                  here_begin: {(SQ <EOF>)}
                  here_end_span_id: 166
                  stdin_parts: [(' ...aaaaaaaaaaaaaaaaaaaaaaaaaaa | 1 +\n')]
                )
              ]
            )
            (C {(test_expect_success)} 
              {(DQ ($ VSub_Name '$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 ($ VSub_Name '$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'>
                )
              }
            )
          ]
          spids: [75 200]
        )
      redirects: [
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EscapedLiteralPart token:<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'>
        )
      }
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect80)})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 244
          stdin_parts: [
            (' abcd | 1000 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n')
          ]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect80-graph)})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 256
          stdin_parts: [
            ('|  abcd | 1000 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n')
          ]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect200)})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 268
          stdin_parts: [
            (
' abcd | 1000 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n'
            )
          ]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect200-graph)})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 280
          stdin_parts: [
            (
'|  abcd | 1000 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n'
            )
          ]
        )
      ]
    )
    (WhileUntil
      keyword: <KW_While while>
      cond: [(C {(read)} {(verb)} {(expect)} {(cmd)} {(args)})]
      body: 
        (DoGroup
          children: [
            (C {(test_expect_success)} 
              {(DQ ($ VSub_Name '$cmd') (' ') ($ VSub_Name '$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'>
                )
              }
            )
            (Case
              to_match: {(DQ ($ VSub_Name '$cmd'))}
              arms: [
                (case_arm
                  pat_list: [{(diff)} {(show)}]
                  action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                  spids: [323 326 329 16777215]
                )
              ]
              spids: [315 321 331]
            )
            (C {(test_expect_success)} 
              {
                (DQ ($ VSub_Name '$cmd') (' --graph ') ($ VSub_Name '$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'>
                )
              }
            )
          ]
          spids: [293 352]
        )
      redirects: [
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EscapedLiteralPart token:<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')
          ]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect40)})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 375
          stdin_parts: [(' abcd | 1000 ++++++++++++++++++++++++++\n')]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect40-graph)})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 387
          stdin_parts: [('|  abcd | 1000 ++++++++++++++++++++++++\n')]
        )
      ]
    )
    (WhileUntil
      keyword: <KW_While while>
      cond: [(C {(read)} {(verb)} {(expect)} {(cmd)} {(args)})]
      body: 
        (DoGroup
          children: [
            (C {(test_expect_success)} 
              {
                (DQ ($ VSub_Name '$cmd') (' ') ($ VSub_Name '$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'>
                )
              }
            )
            (Case
              to_match: {(DQ ($ VSub_Name '$cmd'))}
              arms: [
                (case_arm
                  pat_list: [{(diff)} {(show)}]
                  action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                  spids: [430 433 436 16777215]
                )
              ]
              spids: [422 428 438]
            )
            (C {(test_expect_success)} 
              {
                (DQ ($ VSub_Name '$cmd') (' --graph ') ($ VSub_Name '$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'>
                )
              }
            )
          ]
          spids: [400 459]
        )
      redirects: [
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EscapedLiteralPart token:<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')
          ]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect40)})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 482
          stdin_parts: [(' abcd | 1000 ++++++++++++++++++++++++++\n')]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect40-graph)})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 494
          stdin_parts: [('|  abcd | 1000 ++++++++++++++++++++++++++\n')]
        )
      ]
    )
    (WhileUntil
      keyword: <KW_While while>
      cond: [(C {(read)} {(verb)} {(expect)} {(cmd)} {(args)})]
      body: 
        (DoGroup
          children: [
            (C {(test_expect_success)} 
              {(DQ ($ VSub_Name '$cmd') (' ') ($ VSub_Name '$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'>
                )
              }
            )
            (Case
              to_match: {(DQ ($ VSub_Name '$cmd'))}
              arms: [
                (case_arm
                  pat_list: [{(diff)} {(show)}]
                  action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                  spids: [537 540 543 16777215]
                )
              ]
              spids: [529 535 545]
            )
            (C {(test_expect_success)} 
              {
                (DQ ($ VSub_Name '$cmd') (' --graph ') ($ VSub_Name '$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'>
                )
              }
            )
          ]
          spids: [507 566]
        )
      redirects: [
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EscapedLiteralPart token:<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')
          ]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 590
          stdin_parts: [(' abcd | 1000 ++++++++++++++++++++++++++\n')]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect-graph)})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 602
          stdin_parts: [('|  abcd | 1000 ++++++++++++++++++++++++++\n')]
        )
      ]
    )
    (WhileUntil
      keyword: <KW_While while>
      cond: [(C {(read)} {(cmd)} {(args)})]
      body: 
        (DoGroup
          children: [
            (C {(test_expect_success)} {(DQ ($ VSub_Name '$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 ($ VSub_Name '$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 ($ VSub_Name '$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'>
                )
              }
            )
            (Case
              to_match: {(DQ ($ VSub_Name '$cmd'))}
              arms: [
                (case_arm
                  pat_list: [{(diff)} {(show)}]
                  action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                  spids: [673 676 679 16777215]
                )
              ]
              spids: [665 671 681]
            )
            (C {(test_expect_success)} 
              {(DQ ($ VSub_Name '$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 ($ VSub_Name '$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'>
                )
              }
            )
          ]
          spids: [611 717]
        )
      redirects: [
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EscapedLiteralPart token:<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'>
        )
      }
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 754
          stdin_parts: [(' ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 ++++++++++++\n')]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect-graph)})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 766
          stdin_parts: [('|  ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 ++++++++++++\n')]
        )
      ]
    )
    (WhileUntil
      keyword: <KW_While while>
      cond: [(C {(read)} {(cmd)} {(args)})]
      body: 
        (DoGroup
          children: [
            (C {(test_expect_success)} 
              {(DQ ($ VSub_Name '$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'>
                )
              }
            )
            (Case
              to_match: {(DQ ($ VSub_Name '$cmd'))}
              arms: [
                (case_arm
                  pat_list: [{(diff)} {(show)}]
                  action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                  spids: [803 806 809 16777215]
                )
              ]
              spids: [795 801 811]
            )
            (C {(test_expect_success)} 
              {(DQ ($ VSub_Name '$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'>
                )
              }
            )
          ]
          spids: [775 830]
        )
      redirects: [
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EscapedLiteralPart token:<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')
          ]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect80)})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 853
          stdin_parts: [
            (' ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 ++++++++++++++++++++\n')
          ]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect80-graph)})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 865
          stdin_parts: [
            ('|  ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 ++++++++++++++++++++\n')
          ]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect200)})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 877
          stdin_parts: [
            (
' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n'
            )
          ]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect200-graph)})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 889
          stdin_parts: [
            (
'|  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n'
            )
          ]
        )
      ]
    )
    (WhileUntil
      keyword: <KW_While while>
      cond: [(C {(read)} {(verb)} {(expect)} {(cmd)} {(args)})]
      body: 
        (DoGroup
          children: [
            (C {(test_expect_success)} 
              {(DQ ($ VSub_Name '$cmd') (' ') ($ VSub_Name '$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'>
                )
              }
            )
            (Case
              to_match: {(DQ ($ VSub_Name '$cmd'))}
              arms: [
                (case_arm
                  pat_list: [{(diff)} {(show)}]
                  action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                  spids: [932 935 938 16777215]
                )
              ]
              spids: [924 930 940]
            )
            (C {(test_expect_success)} 
              {
                (DQ ($ VSub_Name '$cmd') (' --graph ') ($ VSub_Name '$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'>
                )
              }
            )
          ]
          spids: [902 961]
        )
      redirects: [
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EscapedLiteralPart token:<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')
          ]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect1)})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 984
          stdin_parts: [(' ...aaaaaaa | 1000 ++++++\n')]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect1-graph)})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 996
          stdin_parts: [('|  ...aaaaaaa | 1000 ++++++\n')]
        )
      ]
    )
    (WhileUntil
      keyword: <KW_While while>
      cond: [(C {(read)} {(verb)} {(expect)} {(cmd)} {(args)})]
      body: 
        (DoGroup
          children: [
            (C {(test_expect_success)} {(COLUMNS_CAN_BE_1)} 
              {
                (DQ ($ VSub_Name '$cmd') (' ') ($ VSub_Name '$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'>
                )
              }
            )
            (Case
              to_match: {(DQ ($ VSub_Name '$cmd'))}
              arms: [
                (case_arm
                  pat_list: [{(diff)} {(show)}]
                  action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                  spids: [1043 1046 1049 16777215]
                )
              ]
              spids: [1035 1041 1051]
            )
            (C {(test_expect_success)} {(COLUMNS_CAN_BE_1)} 
              {
                (DQ ($ VSub_Name '$cmd') (' --graph ') ($ VSub_Name '$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'>
                )
              }
            )
          ]
          spids: [1009 1076]
        )
      redirects: [
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EscapedLiteralPart token:<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')
          ]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 1099
          stdin_parts: [
            (
' abcd | 1000 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n'
            )
          ]
        )
      ]
    )
    (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'>
        )
      }
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 1126
          stdin_parts: [
            (
' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 +++++++++++++++++++++++++++++++++++++++\n'
            )
          ]
        )
      ]
    )
    (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)})
  ]
)