(CommandList
  children: [
    (Sentence
      child: 
        (C {(.)} 
          {
            (DQ 
              (BracedVarSub
                token: <VSub_Name srcdir>
                suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(.)})
                spids: [56 60]
              ) (/tests/init.sh)
            )
          }
        )
      terminator: <Op_Semi ';'>
    )
    (C {(path_prepend_)} {(./src)})
    (C {(print_ver_)} {(mv)})
    (AndOr ops:[Op_DPipe] children:[(C {(mkdir)} {(foo)}) (C {(framework_failure_)})])
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(mv)} {(foo/)} {(bar)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[92])]
          spids: [92]
        )
      ]
    )
    (ForEach
      iter_name: cmd
      iter_words: [{(mv)} {(SQ <'cp -r'>)}]
      do_arg_iter: F
      body: 
        (DoGroup
          children: [
            (ForEach
              iter_name: opt
              iter_words: [{(SQ )} {(-T)} {(-u)}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      ops: [Op_DPipe]
                      children: [(C {(rm)} {(-rf)} {(d)} {(e)}) (C {(framework_failure_)})]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [(C {(mkdir)} {(d)}) (C {(framework_failure_)})]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {($ VSub_Name '$cmd')} {($ VSub_Name '$opt')} {(d)} {(e/)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:fail)
                              op: Equal
                              rhs: {(1)}
                              spids: [165]
                            )
                          ]
                          spids: [165]
                        )
                      ]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(DQ ($ VSub_Name '$cmd'))} {(Lit_Other '=')} {(mv)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(-d)} {(d)})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:fail)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [193]
                                    )
                                  ]
                                  spids: [193]
                                )
                              ]
                            )
                          ]
                          spids: [16777215 182]
                        )
                      ]
                      else_action: [
                        (AndOr
                          ops: [Op_DPipe]
                          children: [
                            (C {(test)} {(-d)} {(d)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:fail)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [208]
                                )
                              ]
                              spids: [208]
                            )
                          ]
                        )
                      ]
                      spids: [197 212]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(test)} {(-d)} {(e)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:fail)
                              op: Equal
                              rhs: {(1)}
                              spids: [223]
                            )
                          ]
                          spids: [223]
                        )
                      ]
                    )
                  ]
                  spids: [129 227]
                )
              spids: [120 127]
            )
          ]
          spids: [112 229]
        )
      spids: [104 110]
    )
    (SimpleCommand
      words: [
        {(printf)}
        {(SQ <'%s\\n'>)}
        {(DQ ("cp: cannot create regular file 'no-such/': Not a directory"))}
      ]
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(expected-err)} spids:[267])]
    )
    (C {(touch)} {(b)})
    (AndOr
      ops: [Op_DAmp]
      children: [
        (SimpleCommand
          words: [{(cp)} {(b)} {(no-such/)}]
          redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(err)} spids:[281])]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[287])]
          spids: [287]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (SimpleCommand
          words: [{(sed)} {(SQ <'s/No such file or directory/Not a directory/'>)} {(err)}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(k)} spids:[302])]
        )
        (C {(mv)} {(k)} {(err)})
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(compare)} {(expected-err)} {(err)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[323])]
          spids: [323]
        )
      ]
    )
    (C {(Exit)} {($ VSub_Name '$fail')})
  ]
)