(command.CommandList
  children: [
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<.>} 
              {
                (DQ 
                  (braced_var_sub
                    token: <Id.VSub_Name srcdir>
                    suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<.>})
                  ) <'/tests/init.sh'>
                )
              }
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<path_prepend_>} {<'./src'>})
      ]
    )
    (C {<print_ver_>} {<mv>} {<getfacl>} {<setfacl>})
    (C {<require_acl_>})
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (command.Simple
          words: [{<grep>} {(SQ <'^#define USE_ACL 1'>)} {($ Id.VSub_DollarName '$CONFIG_HEADER')}]
          redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})]
          do_fork: T
        )
        (C {<skip_>} {(DQ <'insufficient ACL support'>)})
      ]
    )
    (command.ShFunction
      name: cleanup_
      body: 
        (BraceGroup
          children: [
            (command.Sentence
              child: (C {<rm>} {<-rf>} {(DQ ($ Id.VSub_DollarName '$other_partition_tmpdir'))})
              terminator: <Id.Op_Semi _>
            )
          ]
        )
    )
    (C {<.>} {(DQ ($ Id.VSub_DollarName '$abs_srcdir') <'/tests/other-fs-tmpdir'>)})
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [(C {<touch>} {<file>}) (C {<framework_failure_>})]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:t1)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName '$other_partition_tmpdir') <'/t1'>}
          spids: [133]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [(C {<touch>} {($ Id.VSub_DollarName '$t1')}) (C {<framework_failure_>})]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:skip_partition)
          op: assign_op.Equal
          rhs: {<none>}
          spids: [146]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (command.Simple
          words: [{<setfacl>} {<-m>} {<user> <Id.Lit_Colon ':'> <bin> <Id.Lit_Colon ':'> <rw->} {<file>}]
          redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})]
          do_fork: T
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:skip_partition)
              op: assign_op.Equal
              rhs: {<.>}
              spids: [170]
            )
          ]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<setfacl>} {<-m>} {<user> <Id.Lit_Colon ':'> <bin> <Id.Lit_Colon ':'> <rw->} 
          {($ Id.VSub_DollarName '$t1')}
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:skip_partition)
              op: assign_op.Equal
              rhs: {($ Id.VSub_DollarName '$other_partition_tmpdir')}
              spids: [190]
            )
          ]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:acl1)
              op: assign_op.Equal
              rhs: {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<getfacl>} {<file>}))}
              spids: [193]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:skip_partition)
              op: assign_op.Equal
              rhs: {<.>}
              spids: [202]
            )
          ]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {<test>} {($ Id.VSub_DollarName '$skip_partition')} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} 
          {<none>}
        )
        (C {<skip_>} 
          {
            (DQ <'\''> ($ Id.VSub_DollarName '$skip_partition') 
              <'\' is not on a suitable file system for this test'>
            )
          }
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<mv>} {<file>} {(DQ ($ Id.VSub_DollarName '$other_partition_tmpdir'))})
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:fail)
              op: assign_op.Equal
              rhs: {<1>}
              spids: [240]
            )
          ]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:acl2)
              op: assign_op.Equal
              rhs: 
                {
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.AndOr
                        ops: [Id.Op_DAmp]
                        children: [
                          (C {<cd>} {(DQ ($ Id.VSub_DollarName '$other_partition_tmpdir'))})
                          (C {<getfacl>} {<file>})
                        ]
                      )
                  )
                }
              spids: [243]
            )
          ]
        )
        (C {<framework_failure_>})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<test>} {(DQ ($ Id.VSub_DollarName '$acl1'))} {<Id.Lit_Equals '='>} 
          {(DQ ($ Id.VSub_DollarName '$acl2'))}
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:fail)
              op: assign_op.Equal
              rhs: {<1>}
              spids: [276]
            )
          ]
        )
      ]
    )
    (command.AndOr ops:[Id.Op_DPipe] children:[(C {<mkdir>} {<dir>}) (C {<framework_failure_>})])
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<setfacl>} {<-m>} {<user> <Id.Lit_Colon ':'> <bin> <Id.Lit_Colon ':'> <rw->} {<dir>})
        (C {<framework_failure_>})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:acl1)
              op: assign_op.Equal
              rhs: {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<getfacl>} {<dir>}))}
              spids: [307]
            )
          ]
        )
        (C {<framework_failure_>})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<mv>} {<dir>} {(DQ ($ Id.VSub_DollarName '$other_partition_tmpdir'))})
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:fail)
              op: assign_op.Equal
              rhs: {<1>}
              spids: [328]
            )
          ]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:acl2)
              op: assign_op.Equal
              rhs: 
                {
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.AndOr
                        ops: [Id.Op_DAmp]
                        children: [
                          (C {<cd>} {(DQ ($ Id.VSub_DollarName '$other_partition_tmpdir'))})
                          (C {<getfacl>} {<dir>})
                        ]
                      )
                  )
                }
              spids: [331]
            )
          ]
        )
        (C {<framework_failure_>})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<test>} {(DQ ($ Id.VSub_DollarName '$acl1'))} {<Id.Lit_Equals '='>} 
          {(DQ ($ Id.VSub_DollarName '$acl2'))}
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:fail)
              op: assign_op.Equal
              rhs: {<1>}
              spids: [364]
            )
          ]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [(C {<mkdir>} {<dir2>}) (C {<framework_failure_>})]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<setfacl>} {<-d>} {<-m>} {<user> <Id.Lit_Colon ':'> <bin> <Id.Lit_Colon ':'> <rw->} {<dir2>})
        (C {<framework_failure_>})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:acl1)
              op: assign_op.Equal
              rhs: {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<getfacl>} {<dir2>}))}
              spids: [397]
            )
          ]
        )
        (C {<framework_failure_>})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<mv>} {<dir2>} {(DQ ($ Id.VSub_DollarName '$other_partition_tmpdir'))})
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:fail)
              op: assign_op.Equal
              rhs: {<1>}
              spids: [418]
            )
          ]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:acl2)
              op: assign_op.Equal
              rhs: 
                {
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.AndOr
                        ops: [Id.Op_DAmp]
                        children: [
                          (C {<cd>} {(DQ ($ Id.VSub_DollarName '$other_partition_tmpdir'))})
                          (C {<getfacl>} {<dir2>})
                        ]
                      )
                  )
                }
              spids: [421]
            )
          ]
        )
        (C {<framework_failure_>})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<test>} {(DQ ($ Id.VSub_DollarName '$acl1'))} {<Id.Lit_Equals '='>} 
          {(DQ ($ Id.VSub_DollarName '$acl2'))}
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:fail)
              op: assign_op.Equal
              rhs: {<1>}
              spids: [454]
            )
          ]
        )
      ]
    )
    (C {<Exit>} {($ Id.VSub_DollarName '$fail')})
  ]
)