(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_)} {(ls)})
    (AndOr
      ops: [Op_DPipe]
      children: [(C {(ln)} {(-s)} {(no-such-file)} {(dangle)}) (C {(framework_failure_)})]
    )
    (AndOr ops:[Op_DPipe] children:[(C {(mkdir)} {(-p)} {(dir/sub)}) (C {(framework_failure_)})])
    (AndOr
      ops: [Op_DPipe]
      children: [(C {(ln)} {(-s)} {(dir)} {(slink-to-dir)}) (C {(framework_failure_)})]
    )
    (AndOr ops:[Op_DPipe] children:[(C {(mkdir)} {(d)}) (C {(framework_failure_)})])
    (AndOr
      ops: [Op_DPipe]
      children: [(C {(ln)} {(-s)} {(no-such)} {(d/dangle)}) (C {(framework_failure_)})]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(printf)} {(SQ <'? dangle\\n'>)}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(subdir_Li_exp)} spids:[125])]
        )
        (C {(framework_failure_)})
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(printf)} {(SQ <'total 0\\n? dangle\\n'>)}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(subdir_Ls_exp)} spids:[139])]
        )
        (C {(framework_failure_)})
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (SimpleCommand
          words: [{(ls)} {(-L)} {(dangle)}]
          redirects: [
            (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[158])
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[162])
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[167])]
          spids: [167]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (SimpleCommand
          words: [{(ls)} {(-H)} {(dangle)}]
          redirects: [
            (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[179])
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[183])
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[188])]
          spids: [188]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(ls)} {(dangle)}]
          redirects: [(Redir op_id:Redir_DGreat fd:16777215 arg_word:{(out)} spids:[199])]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[205])]
          spids: [205]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(ls)} {(slink-to-dir)}]
          redirects: [
            (Redir op_id:Redir_DGreat fd:16777215 arg_word:{(out)} spids:[213])
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[217])
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[222])]
          spids: [222]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(ls)} {(-H)} {(slink-to-dir)}]
          redirects: [
            (Redir op_id:Redir_DGreat fd:16777215 arg_word:{(out)} spids:[231])
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[235])
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[240])]
          spids: [240]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(ls)} {(-L)} {(slink-to-dir)}]
          redirects: [
            (Redir op_id:Redir_DGreat fd:16777215 arg_word:{(out)} spids:[249])
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[253])
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[258])]
          spids: [258]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: {('dangle\n') ('sub\n') ('sub\n') ('sub\n')}
          do_expansion: False
          here_end: EOF
          was_filled: T
          spids: [264]
        )
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(exp)} spids:[268])
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(compare)} {(exp)} {(out)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[281])]
          spids: [281]
        )
      ]
    )
    (C {(rm)} {(-f)} {(out)})
    (AndOr
      ops: [Op_DAmp]
      children: [
        (SimpleCommand
          words: [{(ls)} {(-Li)} {(d)}]
          redirects: [
            (Redir op_id:Redir_Great fd:16777215 arg_word:{(out)} spids:[300])
            (Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[304])
          ]
        )
        (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)} {(subdir_Li_exp)} {(out)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[320])]
          spids: [320]
        )
      ]
    )
    (C {(rm)} {(-f)} {(out)})
    (AndOr
      ops: [Op_DAmp]
      children: [
        (SimpleCommand
          words: [{(ls)} {(-Ls)} {(d)}]
          redirects: [
            (Redir op_id:Redir_Great fd:16777215 arg_word:{(out)} spids:[339])
            (Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[343])
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[348])]
          spids: [348]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(compare)} {(subdir_Ls_exp)} {(out)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[359])]
          spids: [359]
        )
      ]
    )
    (C {(Exit)} {($ VSub_Name '$fail')})
  ]
)