(command.CommandList
  children: [
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.AndOr
                  ops: [Id.Op_DAmp]
                  children: [
                    (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$BASH'))})
                    (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$POSIXLY_CORRECT'))})
                  ]
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(C {<true>})]
          spids: [10 31]
        )
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.Simple
                  words: [{<type>} {<bash>}]
                  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>}
                    )
                  ]
                  do_fork: T
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<unset>} {<POSIXLY_CORRECT>})
            (C {<exec>} {<bash>} {(DQ ($ Id.VSub_Number '$0'))} {(DQ ($ Id.VSub_At '$@'))})
          ]
          spids: [40 53]
        )
      ]
      else_action: [
        (C {<echo>} {(SQ <'1..0 #SKIP skipping bash completion tests; bash not available'>)})
        (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})
      ]
    )
    (C {<.>} {<'./test-lib.sh'>})
  ]
)