(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)})
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(split)} {(-n)} {(10)} {(/dev/null)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[81])]
          spids: [81]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} 
          {
            (DQ 
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(stat)} {(-c)} {(Lit_Other '%') (s)} {(x) (Lit_Other '*')})
                          (C {(uniq)} {(-c)})
                          (C {(sed)} {(SQ <'s/^ *//; s/ /x/'>)})
                        ]
                        negated: F
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [87 111]
              )
            )
          } {(Lit_Other '=')} {(DQ (10x0))}
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[122])]
          spids: [122]
        )
      ]
    )
    (C {(rm)} {(x) (Lit_Other '?') (Lit_Other '?')})
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(split)} {(-e)} {(-n)} {(10)} {(/dev/null)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[147])]
          spids: [147]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (SimpleCommand
          words: [{(stat)} {(x) (Lit_Other '?') (Lit_Other '?')}]
          redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[156])]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[161])]
          spids: [161]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(printf)} {(SQ <'1\\n2\\n3\\n4\\n5\\n'>)}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(KW_In in)} spids:[171])]
        )
        (C {(framework_failure_)})
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(split)} {(-n)} {(3)} {(KW_In in)}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(out)} spids:[188])]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[194])]
          spids: [194]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(split)} {(-n)} {(1/3)} {(KW_In in)}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(b1)} spids:[205])]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[211])]
          spids: [211]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(split)} {(-n)} {(2/3)} {(KW_In in)}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(b2)} spids:[222])]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[228])]
          spids: [228]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(split)} {(-n)} {(3/3)} {(KW_In in)}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(b3)} spids:[239])]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[245])]
          spids: [245]
        )
      ]
    )
    (SimpleCommand
      words: [{(printf)} {(SQ <'1\\n2'>)}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(exp-1)} spids:[254])]
    )
    (SimpleCommand
      words: [{(printf)} {(SQ <'\\n3\\n'>)}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(exp-2)} spids:[264])]
    )
    (SimpleCommand
      words: [{(printf)} {(SQ <'4\\n5\\n'>)}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(exp-3)} spids:[274])]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(compare)} {(exp-1)} {(xaa)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[287])]
          spids: [287]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(compare)} {(exp-2)} {(xab)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[298])]
          spids: [298]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(compare)} {(exp-3)} {(xac)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[309])]
          spids: [309]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(compare)} {(exp-1)} {(b1)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[320])]
          spids: [320]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(compare)} {(exp-2)} {(b2)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[331])]
          spids: [331]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(compare)} {(exp-3)} {(b3)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[342])]
          spids: [342]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {(-f)} {(xad)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[353])]
          spids: [353]
        )
      ]
    )
    (C {(Exit)} {($ VSub_Name '$fail')})
  ]
)