(CommandList
  children: [
    (Sentence
      child: 
        (C {(.)} 
          {
            (DQ 
              (BracedVarSub
                token: <VSub_Name srcdir>
                suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(.)})
                spids: [50 54]
              ) (/tests/init.sh)
            )
          }
        )
      terminator: <Op_Semi ';'>
    )
    (C {(path_prepend_)} {(./src)})
    (C {(print_ver_)} {(mv)} {(getfacl)} {(setfacl)})
    (C {(require_acl_)})
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(grep)} {(SQ <'^#define USE_ACL 1'>)} {($ VSub_Name '$CONFIG_HEADER')}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[86])]
        )
        (C {(skip_)} {(DQ ('insufficient ACL support'))})
      ]
    )
    (FuncDef
      name: cleanup_
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: (C {(rm)} {(-rf)} {(DQ ($ VSub_Name '$other_partition_tmpdir'))})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [104]
        )
      spids: [100 103]
    )
    (C {(.)} {(DQ ($ VSub_Name '$abs_srcdir') (/tests/other-fs-tmpdir))})
    (AndOr ops:[Op_DPipe] children:[(C {(touch)} {(file)}) (C {(framework_failure_)})])
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:t1)
          op: Equal
          rhs: {($ VSub_Name '$other_partition_tmpdir') (/t1)}
          spids: [133]
        )
      ]
      spids: [133]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [(C {(touch)} {($ VSub_Name '$t1')}) (C {(framework_failure_)})]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:skip_partition) op:Equal rhs:{(none)} spids:[146])]
      spids: [146]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(setfacl)} {(-m)} {(user) (Lit_Other ':') (bin) (Lit_Other ':') (rw-)} {(file)}]
          redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[164])]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:skip_partition) op:Equal rhs:{(.)} spids:[170])]
          spids: [170]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(setfacl)} {(-m)} {(user) (Lit_Other ':') (bin) (Lit_Other ':') (rw-)} {($ VSub_Name '$t1')})
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:skip_partition)
              op: Equal
              rhs: {($ VSub_Name '$other_partition_tmpdir')}
              spids: [190]
            )
          ]
          spids: [190]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:acl1)
              op: Equal
              rhs: 
                {
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(getfacl)} {(file)})])
                    left_token: <Left_CommandSub '$('>
                    spids: [194 198]
                  )
                }
              spids: [193]
            )
          ]
          spids: [193]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:skip_partition) op:Equal rhs:{(.)} spids:[202])]
          spids: [202]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {($ VSub_Name '$skip_partition')} {(KW_Bang '!') (Lit_Other '=')} {(none)})
        (C {(skip_)} 
          {
            (DQ ("'") ($ VSub_Name '$skip_partition') 
              ("' is not on a suitable file system for this test")
            )
          }
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(mv)} {(file)} {(DQ ($ VSub_Name '$other_partition_tmpdir'))})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[240])]
          spids: [240]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:acl2)
              op: Equal
              rhs: 
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (AndOr
                            ops: [Op_DAmp]
                            children: [
                              (C {(cd)} {(DQ ($ VSub_Name '$other_partition_tmpdir'))})
                              (C {(getfacl)} {(file)})
                            ]
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [244 256]
                  )
                }
              spids: [243]
            )
          ]
          spids: [243]
        )
        (C {(framework_failure_)})
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {(DQ ($ VSub_Name '$acl1'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$acl2'))})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[276])]
          spids: [276]
        )
      ]
    )
    (AndOr ops:[Op_DPipe] children:[(C {(mkdir)} {(dir)}) (C {(framework_failure_)})])
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(setfacl)} {(-m)} {(user) (Lit_Other ':') (bin) (Lit_Other ':') (rw-)} {(dir)})
        (C {(framework_failure_)})
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:acl1)
              op: Equal
              rhs: 
                {
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(getfacl)} {(dir)})])
                    left_token: <Left_CommandSub '$('>
                    spids: [308 312]
                  )
                }
              spids: [307]
            )
          ]
          spids: [307]
        )
        (C {(framework_failure_)})
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(mv)} {(dir)} {(DQ ($ VSub_Name '$other_partition_tmpdir'))})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[328])]
          spids: [328]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:acl2)
              op: Equal
              rhs: 
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (AndOr
                            ops: [Op_DAmp]
                            children: [
                              (C {(cd)} {(DQ ($ VSub_Name '$other_partition_tmpdir'))})
                              (C {(getfacl)} {(dir)})
                            ]
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [332 344]
                  )
                }
              spids: [331]
            )
          ]
          spids: [331]
        )
        (C {(framework_failure_)})
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {(DQ ($ VSub_Name '$acl1'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$acl2'))})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[364])]
          spids: [364]
        )
      ]
    )
    (AndOr ops:[Op_DPipe] children:[(C {(mkdir)} {(dir2)}) (C {(framework_failure_)})])
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(setfacl)} {(-d)} {(-m)} {(user) (Lit_Other ':') (bin) (Lit_Other ':') (rw-)} {(dir2)})
        (C {(framework_failure_)})
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:acl1)
              op: Equal
              rhs: 
                {
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(getfacl)} {(dir2)})])
                    left_token: <Left_CommandSub '$('>
                    spids: [398 402]
                  )
                }
              spids: [397]
            )
          ]
          spids: [397]
        )
        (C {(framework_failure_)})
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(mv)} {(dir2)} {(DQ ($ VSub_Name '$other_partition_tmpdir'))})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[418])]
          spids: [418]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:acl2)
              op: Equal
              rhs: 
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (AndOr
                            ops: [Op_DAmp]
                            children: [
                              (C {(cd)} {(DQ ($ VSub_Name '$other_partition_tmpdir'))})
                              (C {(getfacl)} {(dir2)})
                            ]
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [422 434]
                  )
                }
              spids: [421]
            )
          ]
          spids: [421]
        )
        (C {(framework_failure_)})
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {(DQ ($ VSub_Name '$acl1'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$acl2'))})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[454])]
          spids: [454]
        )
      ]
    )
    (C {(Exit)} {($ VSub_Name '$fail')})
  ]
)