(command.CommandList
  children: [
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.Pipeline
                      children: [
                        (command.Simple
                          words: [{<sysctl>} {<vfs.zfs.version.spa>}]
                          redirects: [
                            (redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<'/dev/null'>}
                            )
                            (redir
                              op: <Id.Redir_GreatAnd '2>&'>
                              loc: (redir_loc.Fd fd:2)
                              arg: {<1>}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                      negated: T
                      stderr_indices: []
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ <'1..0 # SKIP system doesn\'t have ZFS loaded'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})
          ]
          spids: [104 119]
        )
      ]
      else_action: []
      redirects: []
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} 
                      {
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<id>} {<-u>})
                          right: <Id.Eof_RParen _>
                        )
                      } {<-ne>} {<0>} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ <'1..0 # SKIP you must be root'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})
          ]
          spids: [135 152]
        )
      ]
      else_action: []
      redirects: []
    )
    (C {<echo>} {(DQ <1..5>)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TESTDIR='> name:TESTDIR)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (C {<dirname>} 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: (C {<realpath>} {($ Id.VSub_Number 0)})
                        right: <Id.Eof_RParen _>
                      )
                    }
                  )
                right: <Id.Eof_RParen _>
              )
            }
          spids: [176]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MNTROOT='> name:MNTROOT)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: (C {<mktemp>} {<-dt>} {<acltools>})
                right: <Id.Backtick_Right '`'>
              )
            }
          spids: [187]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MD1='> name:MD1)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: (C {<mdconfig>} {<-at>} {<swap>} {<-s>} {<64m>})
                right: <Id.Backtick_Right '`'>
              )
            }
          spids: [202]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MNT1='> name:MNT1)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName MNTROOT) <'/nfs4'>}
          spids: [217]
        )
      ]
      redirects: []
    )
    (C {<mkdir>} {($ Id.VSub_DollarName MNT1)})
    (C {<zpool>} {<create>} {<-m>} {($ Id.VSub_DollarName MNT1)} {<acltools>} 
      {<'/dev/'> ($ Id.VSub_DollarName MD1)}
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ <'not ok 1 - \'zpool create\' failed.'>)})
            (C {<echo>} {(SQ <'Bail out!'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [238 251]
        )
      ]
      else_action: []
      redirects: []
    )
    (C {<echo>} {(DQ <'ok 1'>)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MD2='> name:MD2)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: (C {<mdconfig>} {<-at>} {<swap>} {<-s>} {<10m>})
                right: <Id.Backtick_Right '`'>
              )
            }
          spids: [282]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MNT2='> name:MNT2)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName MNTROOT) <'/posix'>}
          spids: [297]
        )
      ]
      redirects: []
    )
    (C {<mkdir>} {($ Id.VSub_DollarName MNT2)})
    (command.Simple
      words: [{<newfs>} {<'/dev/'> ($ Id.VSub_DollarName MD2)}]
      redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})]
      more_env: []
      do_fork: T
    )
    (C {<mount>} {<-o>} {<acls>} {<'/dev/'> ($ Id.VSub_DollarName MD2)} {($ Id.VSub_DollarName MNT2)})
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ <'not ok 2 - mount failed.'>)})
            (C {<echo>} {(SQ <'Bail out!'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [325 338]
        )
      ]
      else_action: []
      redirects: []
    )
    (C {<echo>} {(DQ <'ok 2'>)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MD3='> name:MD3)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: (C {<mdconfig>} {<-at>} {<swap>} {<-s>} {<10m>})
                right: <Id.Backtick_Right '`'>
              )
            }
          spids: [369]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MNT3='> name:MNT3)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName MNTROOT) <'/none'>}
          spids: [384]
        )
      ]
      redirects: []
    )
    (C {<mkdir>} {($ Id.VSub_DollarName MNT3)})
    (command.Simple
      words: [{<newfs>} {<'/dev/'> ($ Id.VSub_DollarName MD3)}]
      redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})]
      more_env: []
      do_fork: T
    )
    (C {<mount>} {<'/dev/'> ($ Id.VSub_DollarName MD3)} {($ Id.VSub_DollarName MNT3)})
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ <'not ok 3 - mount failed.'>)})
            (C {<echo>} {(SQ <'Bail out!'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [408 421]
        )
      ]
      else_action: []
      redirects: []
    )
    (C {<echo>} {(DQ <'ok 3'>)})
    (C {<cd>} {($ Id.VSub_DollarName MNTROOT)})
    (command.Simple
      words: [
        {<perl>}
        {($ Id.VSub_DollarName TESTDIR) <'/run'>}
        {($ Id.VSub_DollarName TESTDIR) <'/tools-crossfs.test'>}
      ]
      redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
      more_env: []
      do_fork: T
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-eq>} {<0>} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [(C {<echo>} {(DQ <'ok 4'>)})]
          spids: [469 482]
        )
      ]
      else_action: [(C {<echo>} {(DQ <'not ok 4'>)})]
      redirects: []
    )
    (C {<cd>} {<'/'>})
    (C {<umount>} {<-f>} {($ Id.VSub_DollarName MNT3)})
    (C {<rmdir>} {($ Id.VSub_DollarName MNT3)})
    (C {<mdconfig>} {<-du>} {($ Id.VSub_DollarName MD3)})
    (C {<umount>} {<-f>} {($ Id.VSub_DollarName MNT2)})
    (C {<rmdir>} {($ Id.VSub_DollarName MNT2)})
    (C {<mdconfig>} {<-du>} {($ Id.VSub_DollarName MD2)})
    (C {<zpool>} {<destroy>} {<-f>} {<acltools>})
    (C {<rmdir>} {($ Id.VSub_DollarName MNT1)})
    (C {<mdconfig>} {<-du>} {($ Id.VSub_DollarName MD1)})
    (C {<rmdir>} {($ Id.VSub_DollarName MNTROOT)})
    (C {<echo>} {(DQ <'ok 5'>)})
  ]
)