(CommandList
  children: [
    (Sentence
      child: 
        (C {(.)} 
          {
            (DQ 
              (BracedVarSub
                token: <VSub_Name srcdir>
                suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(.)})
                spids: [47 51]
              ) (/tests/init.sh)
            )
          }
        )
      terminator: <Op_Semi ';'>
    )
    (C {(path_prepend_)} {(./src)})
    (C {(print_ver_)} {(split)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:a_z)
          op: Equal
          rhs: {(SQ <'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: [65]
        )
      ]
      spids: [65]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (Pipeline
          children: [
            (C {(printf)} {(Lit_Other '%') (s)} {($ VSub_Name '$a_z')} {(0)})
            (SimpleCommand
              words: [{(tr)} {(-d)} {(SQ <' '>)}]
              redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(KW_In in)} spids:[92])]
            )
          ]
          negated: F
        )
        (C {(framework_failure_)})
      ]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(EmptyPart)} spids:[101])]
      spids: [101]
    )
    (ForEach
      iter_name: i
      iter_words: [{($ VSub_Name '$a_z')}]
      do_arg_iter: F
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:files)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name files) (xa) ($ VSub_Name '$i') (' '))}
                  spids: [115]
                )
              ]
              spids: [115]
            )
          ]
          spids: [112 125]
        )
      spids: [108 110]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:files)
          op: Equal
          rhs: {(DQ (${ VSub_Name files) (xba))}
          spids: [127]
        )
      ]
      spids: [127]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (ForEach
          iter_name: f
          iter_words: [{($ VSub_Name '$files')}]
          do_arg_iter: F
          body: 
            (DoGroup
              children: [(C {(printf)} {(DQ ("creating file '%s'")) (SQ <'\\n'>)} {($ VSub_Name '$f')})]
              spids: [145 159]
            )
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(exp)} spids:[161])]
          spids: [141 143]
        )
        (C {(framework_failure_)})
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(echo)} {(split) (Lit_Other ':')} {(output)} {(file)} {(suffixes)} {(exhausted)}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(exp-too-short)} spids:[185])]
        )
        (C {(framework_failure_)})
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (SimpleCommand
          words: [{(split)} {(-b)} {(1)} {(-a)} {(1)} {(KW_In in)}]
          redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(err)} spids:[210])]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[216])]
          spids: [216]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {(-f)} {(xa)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[227])]
          spids: [227]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {(-f)} {(xz)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[238])]
          spids: [238]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {(-f)} {(xaa)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[249])]
          spids: [249]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {(-f)} {(xaz)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[260])]
          spids: [260]
        )
      ]
    )
    (C {(rm)} {(-f)} {(x) (Lit_Other '*')})
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(compare)} {(exp-too-short)} {(err)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[278])]
          spids: [278]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(split)} {(--verbose)} {(-b)} {(1)} {(-a)} {(2)} {(KW_In in)}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(err)} spids:[299])]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[305])]
          spids: [305]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(compare)} {(exp)} {(err)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[316])]
          spids: [316]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {(-f)} {(xbb)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[331])]
          spids: [331]
        )
      ]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:n) op:Equal rhs:{(1)} spids:[338])]
      spids: [338]
    )
    (ForEach
      iter_name: f
      iter_words: [{($ VSub_Name '$files')}]
      do_arg_iter: F
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:expected_byte)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(cut)} {(-b)} {($ VSub_Name '$n')} {(KW_In in)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [354 362]
                      )
                    }
                  spids: [353]
                )
              ]
              spids: [353]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:b)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(cat)} {($ VSub_Name '$f')})])
                            left_token: <Left_CommandSub '$('>
                            spids: [366 370]
                          )
                        }
                      spids: [365]
                    )
                  ]
                  spids: [365]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[374])]
                  spids: [374]
                )
              ]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(test)} {(DQ ($ VSub_Name '$b'))} {(Lit_Other '=')} 
                  {(DQ ($ VSub_Name '$expected_byte'))}
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[392])]
                  spids: [392]
                )
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:n)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(expr)} {($ VSub_Name '$n')} {(Lit_Other '+')} {(1)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [397 405]
                      )
                    }
                  spids: [396]
                )
              ]
              spids: [396]
            )
          ]
          spids: [350 407]
        )
      spids: [346 348]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(split)} {(-a2)} {(-b1000)}]
          redirects: [(Redir op_id:Redir_Less fd:16777215 arg_word:{(/dev/null)} spids:[419])]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[425])]
          spids: [425]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(split)} {(-a2)} {(-l1000)}]
          redirects: [(Redir op_id:Redir_Less fd:16777215 arg_word:{(/dev/null)} spids:[434])]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[440])]
          spids: [440]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(split)} {(-a2)} {(-C1000)}]
          redirects: [(Redir op_id:Redir_Less fd:16777215 arg_word:{(/dev/null)} spids:[449])]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[455])]
          spids: [455]
        )
      ]
    )
    (C {(rm)} {(-f)} {(x) (Lit_Other '*')})
    (AndOr
      ops: [Op_DAmp]
      children: [
        (SimpleCommand
          words: [{(split)} {(-a2)} {(-n1000)}]
          redirects: [(Redir op_id:Redir_Less fd:16777215 arg_word:{(/dev/null)} spids:[475])]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[481])]
          spids: [481]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {(-f)} {(xaa)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[492])]
          spids: [492]
        )
      ]
    )
    (C {(Exit)} {($ VSub_Name '$fail')})
  ]
)