(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_)} {(mv)})
    (FuncDef
      name: cleanup_
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: (C {(rm)} {(-rf)} {(DQ ($ VSub_Name '$other_partition_tmpdir'))})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [68]
        )
      spids: [64 67]
    )
    (C {(.)} {(DQ ($ VSub_Name '$abs_srcdir') (/tests/other-fs-tmpdir))})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:null) op:Equal rhs:{(mv-null)} spids:[89])]
      spids: [89]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:dir) op:Equal rhs:{(mv-dir)} spids:[92])]
      spids: [92]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [(C {(rm)} {(-f)} {($ VSub_Name '$null')}) (C {(framework_failure_)})]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [(C {(mknod)} {($ VSub_Name '$null')} {(p)}) (C {(framework_failure_)})]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [(C {(test)} {(-p)} {($ VSub_Name '$null')}) (C {(framework_failure_)})]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(mkdir)} {(-p)} {($ VSub_Name '$dir') (/a/b/c)} {($ VSub_Name '$dir') (/d/e/f)})
        (C {(framework_failure_)})
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(touch)} {($ VSub_Name '$dir') (/a/b/c/file1)} {($ VSub_Name '$dir') (/d/e/f/file2)})
        (C {(framework_failure_)})
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [
            {(mv)}
            {(--verbose)}
            {($ VSub_Name '$null')}
            {($ VSub_Name '$dir')}
            {(DQ ($ VSub_Name '$other_partition_tmpdir'))}
          ]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(out)} spids:[181])]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[187])]
          spids: [187]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {(-p)} {($ VSub_Name '$null')})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[201])]
          spids: [201]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {(-d)} {($ VSub_Name '$dir')})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[212])]
          spids: [212]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {(-p)} {(DQ ($ VSub_Name '$other_partition_tmpdir') (/) ($ VSub_Name '$null'))})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[230])]
          spids: [230]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {(-d)} 
          {(DQ ($ VSub_Name '$other_partition_tmpdir') (/) ($ VSub_Name '$dir') (/a/b/c))}
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[246])]
          spids: [246]
        )
      ]
    )
    (Pipeline
      children: [
        (C {(sed)} 
          {
            (DQ ('\n') ('  /^removed /d\n') ('  s,') ($ VSub_Name '$other_partition_tmpdir') (',XXX,\n'))
          } {(out)}
        )
        (SimpleCommand
          words: [{(sort)}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(out2)} spids:[272])]
        )
      ]
      negated: F
    )
    (Pipeline
      children: [
        (SimpleCommand
          words: [{(cat)}]
          redirects: [
            (HereDoc
              op_id: Redir_DLess
              fd: 16777215
              body: 
                {
                  (DQ ("'") ($ VSub_Name '$null') ("' -> 'XXX/") ($ VSub_Name '$null') ("'\n") ("'") 
                    ($ VSub_Name '$dir') ("' -> 'XXX/") ($ VSub_Name '$dir') ("'\n") ("'") ($ VSub_Name '$dir') ("/a' -> 'XXX/") 
                    ($ VSub_Name '$dir') ("/a'\n") ("'") ($ VSub_Name '$dir') ("/a/b' -> 'XXX/") ($ VSub_Name '$dir') ("/a/b'\n") ("'") 
                    ($ VSub_Name '$dir') ("/a/b/c' -> 'XXX/") ($ VSub_Name '$dir') ("/a/b/c'\n") ("'") ($ VSub_Name '$dir') 
                    ("/a/b/c/file1' -> 'XXX/") ($ VSub_Name '$dir') ("/a/b/c/file1'\n") ("'") ($ VSub_Name '$dir') ("/d' -> 'XXX/") ($ VSub_Name '$dir') 
                    ("/d'\n") ("'") ($ VSub_Name '$dir') ("/d/e' -> 'XXX/") ($ VSub_Name '$dir') ("/d/e'\n") ("'") ($ VSub_Name '$dir') 
                    ("/d/e/f' -> 'XXX/") ($ VSub_Name '$dir') ("/d/e/f'\n") ("'") ($ VSub_Name '$dir') ("/d/e/f/file2' -> 'XXX/") 
                    ($ VSub_Name '$dir') ("/d/e/f/file2'\n")
                  )
                }
              do_expansion: True
              here_end: EOF
              was_filled: T
              spids: [279]
            )
          ]
        )
        (SimpleCommand
          words: [{(sort)}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(exp)} spids:[286])]
        )
      ]
      negated: F
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(compare)} {(exp)} {(out2)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[350])]
          spids: [350]
        )
      ]
    )
    (C {(Exit)} {($ VSub_Name '$fail')})
  ]
)