(CommandList
  children: [
    (Sentence
      child: 
        (C {(.)} 
          {
            (DQ 
              (BracedVarSub
                token: <VSub_Name srcdir>
                suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(.)})
                spids: [48 52]
              ) (/tests/init.sh)
            )
          }
        )
      terminator: <Op_Semi ';'>
    )
    (C {(path_prepend_)} {(./src)})
    (C {(print_ver_)} {(chroot)})
    (C {(chroot)})
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {($ VSub_QMark '$?')} {(Lit_Other '=')} {(125)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[88])]
          spids: [88]
        )
      ]
    )
    (C {(chroot)} {(---)} {(/)} {(true)})
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {($ VSub_QMark '$?')} {(Lit_Other '=')} {(125)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[112])]
          spids: [112]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(chroot)} {(/)} {(true)}) terminator:<Op_Semi ';'>)]
          action: [
            (C {(chroot)} {(/)} {(sh)} {(-c)} {(SQ <'exit 2'>)})
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(test)} {($ VSub_QMark '$?')} {(Lit_Other '=')} {(2)})
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[158])]
                  spids: [158]
                )
              ]
            )
            (C {(chroot)} {(/)} {(.)})
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(test)} {($ VSub_QMark '$?')} {(Lit_Other '=')} {(126)})
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[182])]
                  spids: [182]
                )
              ]
            )
            (C {(chroot)} {(/)} {(no_such)})
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(test)} {($ VSub_QMark '$?')} {(Lit_Other '=')} {(127)})
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[206])]
                  spids: [206]
                )
              ]
            )
          ]
          spids: [16777215 129]
        )
      ]
      else_action: [
        (AndOr
          ops: [Op_DPipe]
          children: [
            (C {(test)} {($ VSub_QMark '$?')} {(Lit_Other '=')} {(125)})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[222])]
              spids: [222]
            )
          ]
        )
      ]
      spids: [209 225]
    )
    (C {(Exit)} {($ VSub_Name '$fail')})
  ]
)