(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: {(SQ <'git status with certain file name lengths'>)}
          spids: [4]
        )
      ]
    )
    (C {<.>} {<'./test-lib.sh'>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:files)
          op: assign_op.Equal
          rhs: {(DQ <'0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z'>)}
          spids: [15]
        )
      ]
    )
    (command.ShFunction
      name: check
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:len)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number '$1')}
                  spids: [28]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:prefix)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number '$2')}
                  spids: [32]
                )
              ]
            )
            (command.ForEach
              iter_names: [i]
              iterable: (for_iter.Words words:[{($ Id.VSub_DollarName '$files')}])
              body: 
                (command.DoGroup
                  children: [
                    (command.Simple
                      words: [{<Id.Lit_Colon ':'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {($ Id.VSub_DollarName '$prefix') ($ Id.VSub_DollarName '$i')}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                )
            )
            (C {<test_expect_success>} {(DQ <'status, filename length '> ($ Id.VSub_DollarName '$len'))} 
              {
                (DQ <'\n'> <'\t\tgit add '> ($ Id.VSub_DollarName '$prefix') <'* &&\n'> 
                  <'\t\tgit status\n'> <'\t'>
                )
              }
            )
            (C {<rm>} {($ Id.VSub_DollarName '$prefix') <Id.Lit_Star '*'>} {<'.git/index'>})
          ]
        )
    )
    (C {<check>} {<1>})
    (C {<check>} {<2>} {<p>})
    (C {<check>} {<3>} {<px>})
    (C {<check>} {<4>} {<pre>})
    (C {<check>} {<5>} {<pref>})
    (C {<check>} {<6>} {<prefi>})
    (C {<check>} {<7>} {<prefix>})
    (C {<check>} {<8>} {<prefix->})
    (C {<check>} {<9>} {<prefix-p>})
    (C {<check>} {<10>} {<prefix-pr>})
    (C {<check>} {<11>} {<prefix-pre>})
    (C {<check>} {<12>} {<prefix-pref>})
    (C {<check>} {<13>} {<prefix-prefi>})
    (C {<check>} {<14>} {<prefix-prefix>})
    (C {<check>} {<15>} {<prefix-prefix->})
    (C {<check>} {<16>} {<prefix-prefix-p>})
    (C {<check>} {<17>} {<prefix-prefix-pr>})
    (C {<check>} {<18>} {<prefix-prefix-pre>})
    (C {<check>} {<19>} {<prefix-prefix-pref>})
    (C {<check>} {<20>} {<prefix-prefix-prefi>})
    (C {<check>} {<21>} {<prefix-prefix-prefix>})
    (C {<check>} {<22>} {<prefix-prefix-prefix->})
    (C {<check>} {<23>} {<prefix-prefix-prefix-p>})
    (C {<check>} {<24>} {<prefix-prefix-prefix-pr>})
    (C {<test_done>})
  ]
)