(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <'git status with certain file name lengths'>)}
          spids: [4]
        )
      ]
      spids: [4]
    )
    (C {(.)} {(./test-lib.sh)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:files)
          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]
        )
      ]
      spids: [15]
    )
    (FuncDef
      name: check
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:len)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [28]
                )
              ]
              spids: [28]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:prefix)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [32]
                )
              ]
              spids: [32]
            )
            (ForEach
              iter_name: i
              iter_words: [{($ VSub_Name '$files')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (SimpleCommand
                      words: [{(Lit_Other ':')}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {($ VSub_Name '$prefix') ($ VSub_Name '$i')}
                          spids: [51]
                        )
                      ]
                    )
                  ]
                  spids: [46 56]
                )
              spids: [42 -1]
            )
            (C {(test_expect_success)} {(DQ ('status, filename length ') ($ VSub_Name '$len'))} 
              {
                (DQ ('\n') ('\t\tgit add ') ($ VSub_Name '$prefix') ('* &&\n') ('\t\tgit status\n') ('\t'))
              }
            )
            (C {(rm)} {($ VSub_Name '$prefix') (Lit_Other '*')} {(.git/index)})
          ]
          spids: [25]
        )
      spids: [21 24]
    )
    (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)})
  ]
)