(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:tid) op:Equal rhs:{(DQ ('sftp in chroot'))} spids:[7])]
      spids: [7]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CHROOT) op:Equal rhs:{(/var/run)} spids:[13])]
      spids: [13]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:FILENAME)
          op: Equal
          rhs: {(testdata_) (${ VSub_Name USER)}
          spids: [16]
        )
      ]
      spids: [16]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:PRIVDATA)
          op: Equal
          rhs: {(${ VSub_Name CHROOT) (/) (${ VSub_Name FILENAME)}
          spids: [22]
        )
      ]
      spids: [22]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$SUDO'))} {(-a)} {(KW_Bang '!')} {(-w)} 
                  {(/var/run)} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} 
              {(DQ ("skipped: need SUDO to create file in /var/run, test won't work without"))}
            )
            (C {(exit)} {(0)})
          ]
          spids: [-1 53]
        )
      ]
      spids: [-1 67]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (Pipeline
                  children: [
                    (C {($ VSub_Name '$OBJ') (/check-perm)} {(-m)} {(chroot)} 
                      {(DQ ($ VSub_Name '$CHROOT'))}
                    )
                  ]
                  negated: True
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} 
              {(DQ ('skipped: ') ($ VSub_Name '$CHROOT') (' is unsuitable as ChrootDirectory'))}
            )
            (C {(exit)} {(0)})
          ]
          spids: [-1 87]
        )
      ]
      spids: [-1 103]
    )
    (AndOr
      children: [
        (C {($ VSub_Name '$SUDO')} {(sh)} {(-c)} 
          {(DQ ('echo mekmitastdigoat > ') ($ VSub_Name '$PRIVDATA'))}
        )
        (C {(fatal)} {(DQ ('create ') ($ VSub_Name '$PRIVDATA') (' failed'))})
      ]
      op_id: Op_DPipe
    )
    (C {(start_sshd)} {(-oChrootDirectory) (Lit_Other '=') ($ VSub_Name '$CHROOT')} 
      {(-oForceCommand) (Lit_Other '=') (DQ ('internal-sftp -d /'))}
    )
    (C {(verbose)} {(DQ ('test ') ($ VSub_Name '$tid') (': get'))})
    (AndOr
      children: [
        (SimpleCommand
          words: [
            {(${ VSub_Name SFTP)}
            {(-S)}
            {(DQ ($ VSub_Name '$SSH'))}
            {(-F)}
            {($ VSub_Name '$OBJ') (/ssh_config)}
            {(host) (Lit_Other ':') (/) (${ VSub_Name FILENAME)}
            {($ VSub_Name '$COPY')}
          ]
          redirects: [
            (Redir
              op_id: Redir_DGreat
              fd: -1
              arg_word: {($ VSub_Name '$TEST_REGRESS_LOGFILE')}
              spids: [177]
            )
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[180])
          ]
        )
        (C {(fatal)} {(DQ ('Fetch ') (${ VSub_Name FILENAME) (' failed'))})
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (C {(cmp)} {($ VSub_Name '$PRIVDATA')} {($ VSub_Name '$COPY')})
        (C {(fail)} {(DQ ($ VSub_Name '$PRIVDATA') (' ') ($ VSub_Name '$COPY') (' differ'))})
      ]
      op_id: Op_DPipe
    )
    (C {($ VSub_Name '$SUDO')} {(rm)} {($ VSub_Name '$PRIVDATA')})
  ]
)