(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OUTPUT_ROOT='> name:OUTPUT_ROOT)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number 1)}
          spids: [73]
        )
      ]
      redirects: []
    )
    (C {<shift>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ROOT='> name:ROOT)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.CommandList
                    children: [
                      (command.Sentence
                        child: 
                          (C {<cd>} 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: (C {<dirname>} {($ Id.VSub_DollarName BASH_SOURCE)})
                                right: <Id.Eof_RParen _>
                              ) <'/..'>
                            }
                          )
                        terminator: <Id.Op_Semi _>
                      )
                      (C {<pwd>})
                    ]
                  )
                right: <Id.Eof_RParen _>
              )
            }
          spids: [78]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEST_LOGDIR='> name:TEST_LOGDIR)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName OUTPUT_ROOT) <'/build/'> ($ Id.VSub_Number 1) <-logs>}
          spids: [94]
        )
      ]
      redirects: []
    )
    (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName TEST_LOGDIR)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RUN_TYPE='> name:RUN_TYPE)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number 1)}
          spids: [107]
        )
      ]
      redirects: []
    )
    (C {<shift>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEST_DEBUGDIR='> name:TEST_DEBUGDIR)
          op: assign_op.Equal
          rhs: 
            {($ Id.VSub_DollarName OUTPUT_ROOT) <'/build/'> ($ Id.VSub_DollarName RUN_TYPE) <-debug>}
          spids: [112]
        )
      ]
      redirects: []
    )
    (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName TEST_DEBUGDIR)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEST_DIRNAME='> name:TEST_DIRNAME)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.CommandList
                    children: [
                      (command.Sentence
                        child: 
                          (C {<cd>} 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: (C {<dirname>} {($ Id.VSub_Number 1)})
                                right: <Id.Eof_RParen _>
                              )
                            }
                          )
                        terminator: <Id.Op_Semi _>
                      )
                      (C {<pwd>})
                    ]
                  )
                right: <Id.Eof_RParen _>
              )
            }
          spids: [125]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEST_FILENAME='> name:TEST_FILENAME)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: (C {<basename>} {($ Id.VSub_Number 1)})
                right: <Id.Eof_RParen _>
              )
            }
          spids: [139]
        )
      ]
      redirects: []
    )
    (C {<shift>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEST_EXECUTABLE='> name:TEST_EXECUTABLE)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName TEST_DIRNAME) <'/'> ($ Id.VSub_DollarName TEST_FILENAME))}
          spids: [148]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEST_NAME='> name:TEST_NAME)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<echo>} {($ Id.VSub_DollarName TEST_FILENAME)})
                      (C {<perl>} {<-pe>} {(SQ <'s/\\..+?$//'>)})
                    ]
                    negated: F
                    stderr_indices: []
                  )
                right: <Id.Eof_RParen _>
              )
            }
          spids: [155]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEST_WORKDIR='> name:TEST_WORKDIR)
          op: assign_op.Equal
          rhs: 
            {($ Id.VSub_DollarName OUTPUT_ROOT) <'/build/test-work/'> ($ Id.VSub_DollarName TEST_NAME)}
          spids: [179]
        )
      ]
      redirects: []
    )
    (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName TEST_WORKDIR)})
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (command.Simple
          words: [{<pushd>} {($ Id.VSub_DollarName TEST_WORKDIR)}]
          redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})]
          more_env: []
          do_fork: T
        )
        (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
      ]
    )
    (C {<rm>} {<-f>} {<Id.Lit_Star '*'>})
    (C {<set>} {<-o>} {<pipefail>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LOGFILE='> name:LOGFILE)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName TEST_LOGDIR) <'/'> ($ Id.VSub_DollarName TEST_NAME) <.txt>}
          spids: [217]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'XMLFILE='> name:XMLFILE)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName TEST_LOGDIR) <'/'> ($ Id.VSub_DollarName TEST_NAME) <.xml>}
          spids: [223]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'TEST_EXECUTION_ATTEMPTS='>
              name: TEST_EXECUTION_ATTEMPTS
            )
          op: assign_op.Equal
          rhs: {<1>}
          spids: [230]
        )
      ]
      redirects: []
    )
    (C {<rm>} {<-f>} {($ Id.VSub_DollarName LOGFILE)} {($ Id.VSub_DollarName LOGFILE) <.gz>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pipe_cmd='> name:pipe_cmd)
          op: assign_op.Equal
          rhs: {<cat>}
          spids: [250]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'ARROW_TEST_ULIMIT_CORE='>
              name: ARROW_TEST_ULIMIT_CORE
            )
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                left: <Id.Left_DollarBrace '${'>
                token: <Id.VSub_Name ARROW_TEST_ULIMIT_CORE>
                var_name: ARROW_TEST_ULIMIT_CORE
                suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<0>})
                right: <Id.Right_DollarBrace '}'>
              )
            }
          spids: [257]
        )
      ]
      redirects: []
    )
    (C {<ulimit>} {<-c>} {($ Id.VSub_DollarName ARROW_TEST_ULIMIT_CORE)})
    (command.ShFunction
      name: setup_sanitizers
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TSAN_OPTIONS='> name:TSAN_OPTIONS)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName TSAN_OPTIONS) <' detect_deadlocks=0'>)}
                  spids: [314]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TSAN_OPTIONS='> name:TSAN_OPTIONS)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ ($ Id.VSub_DollarName TSAN_OPTIONS) <' suppressions='> 
                        ($ Id.VSub_DollarName ROOT) <'/build-support/tsan-suppressions.txt'>
                      )
                    }
                  spids: [321]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TSAN_OPTIONS='> name:TSAN_OPTIONS)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName TSAN_OPTIONS) <' history_size=7'>)}
                  spids: [330]
                )
              ]
              redirects: []
            )
            (C {<export>} {<TSAN_OPTIONS>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LSAN_OPTIONS='> name:LSAN_OPTIONS)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ ($ Id.VSub_DollarName LSAN_OPTIONS) <' suppressions='> 
                        ($ Id.VSub_DollarName ROOT) <'/build-support/lsan-suppressions.txt'>
                      )
                    }
                  spids: [364]
                )
              ]
              redirects: []
            )
            (C {<export>} {<LSAN_OPTIONS>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-z>} 
                              {(DQ ($ Id.VSub_DollarName ASAN_SYMBOLIZER_PATH))} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<export>} 
                      {<Id.Lit_VarLike 'ASAN_SYMBOLIZER_PATH='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (C {<find>} {($ Id.VSub_DollarName NATIVE_TOOLCHAIN) <'/llvm-3.7.0/bin'>} 
                              {<-name>} {<llvm-symbolizer>}
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                  ]
                  spids: [387 400]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: run_test
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<rm>} {<-f>} {($ Id.VSub_DollarName XMLFILE)})
            (command.Pipeline
              children: [
                (command.Simple
                  words: [{($ Id.VSub_DollarName TEST_EXECUTABLE)} {(DQ ($ Id.VSub_At '@'))}]
                  redirects: [(redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>})]
                  more_env: []
                  do_fork: T
                )
                (C {($ Id.VSub_DollarName ROOT) <'/build-support/asan_symbolize.py'>})
                (C {<c> <Id.Lit_Other '+'> <Id.Lit_Other '+'> <filt>})
                (C {($ Id.VSub_DollarName ROOT) <'/build-support/stacktrace_addr2line.pl'>} 
                  {($ Id.VSub_DollarName TEST_EXECUTABLE)}
                )
                (command.Simple
                  words: [{($ Id.VSub_DollarName pipe_cmd)}]
                  redirects: [(redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>})]
                  more_env: []
                  do_fork: T
                )
                (C {<tee>} {($ Id.VSub_DollarName LOGFILE)})
              ]
              negated: F
              stderr_indices: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'STATUS='> name:STATUS)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [503]
                )
              ]
              redirects: []
            )
            (C {<export>} 
              {<Id.Lit_VarLike 'GREP='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: (C {<which>} {<egrep>})
                  right: <Id.Eof_RParen _>
                )
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<zgrep>} {<--silent>} 
                              {(DQ <'ThreadSanitizer|Leak check.*detected leaks'>)} {($ Id.VSub_DollarName LOGFILE)}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} {<ThreadSanitizer>} {<or>} {<leak>} {<check>} {<failures>} {<Id.KW_In in>} 
                      {($ Id.VSub_DollarName LOGFILE)}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'STATUS='> name:STATUS)
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [584]
                        )
                      ]
                      redirects: []
                    )
                    (C {<rm>} {<-f>} {($ Id.VSub_DollarName XMLFILE)})
                  ]
                  spids: [550 564]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: post_process_tests
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<zgrep>} {<--silent>} 
                              {(DQ <'ERROR: LeakSanitizer: detected memory leaks'>)} {($ Id.VSub_DollarName LOGFILE)}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} {<Test>} {<had>} {<memory>} {<leaks.>} {<Editing>} {<XML>})
                    (C {<perl>} {<-p>} {<-i>} {<-e>} 
                      {
                        (SQ <'\n'> <'      if (m#</testsuite>#) {\n'> 
                          <
'        print "<testcase name=\\"LeakSanitizer\\" status=\\"run\\" classname=\\"LSAN\\">\\n";\n'
                          > <'        print "  <failure message=\\"LeakSanitizer failed\\" type=\\"\\">\\n";\n'> 
                          <'        print "    See txt log file for details\\n";\n'> <'        print "  </failure>\\n";\n'> <'        print "</testcase>\\n";\n'> <'      }'>
                        )
                      } {($ Id.VSub_DollarName XMLFILE)}
                    )
                  ]
                  spids: [621 635]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: run_other
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Pipeline
              children: [
                (command.Simple
                  words: [{($ Id.VSub_DollarName TEST_EXECUTABLE)} {(DQ ($ Id.VSub_At '@'))}]
                  redirects: [(redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>})]
                  more_env: []
                  do_fork: T
                )
                (command.Simple
                  words: [{($ Id.VSub_DollarName pipe_cmd)}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName LOGFILE)}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'STATUS='> name:STATUS)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [711]
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName RUN_TYPE)} {<Id.Lit_Equals '='>} 
                      {(DQ <test>)} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [(C {<setup_sanitizers>})]
          spids: [717 732]
        )
      ]
      else_action: []
      redirects: []
    )
    (command.ForEach
      iter_names: [ATTEMPT_NUMBER]
      iterable: 
        (for_iter.Words
          words: [
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: (C {<seq>} {<1>} {($ Id.VSub_DollarName TEST_EXECUTION_ATTEMPTS)})
                right: <Id.Eof_RParen _>
              )
            }
          ]
        )
      body: 
        (command.DoGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName ATTEMPT_NUMBER)} {<-lt>} 
                              {($ Id.VSub_DollarName TEST_EXECUTION_ATTEMPTS)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'TEST_TMPDIR_BEFORE='>
                              name: TEST_TMPDIR_BEFORE
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {<find>} {($ Id.VSub_DollarName TEST_TMPDIR)} {<-maxdepth>} 
                                        {<1>} {<-type>} {<d>}
                                      )
                                      (C {<sort>})
                                    ]
                                    negated: F
                                    stderr_indices: []
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [802]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [762 775]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName ATTEMPT_NUMBER)} {<-lt>} 
                              {($ Id.VSub_DollarName TEST_EXECUTION_ATTEMPTS)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'TEST_TMPDIR_AFTER='>
                              name: TEST_TMPDIR_AFTER
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {<find>} {($ Id.VSub_DollarName TEST_TMPDIR)} {<-maxdepth>} 
                                        {<1>} {<-type>} {<d>}
                                      )
                                      (C {<sort>})
                                    ]
                                    negated: F
                                    stderr_indices: []
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [846]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DIFF='> name:DIFF)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (C {<comm>} {<-13>} 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_ProcSubIn '<('>
                                        child: 
                                          (C {<echo>} {(DQ ($ Id.VSub_DollarName TEST_TMPDIR_BEFORE))})
                                        right: <Id.Eof_RParen _>
                                      )
                                    } 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_ProcSubIn '<('>
                                        child: 
                                          (C {<echo>} {(DQ ($ Id.VSub_DollarName TEST_TMPDIR_AFTER))})
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [866]
                        )
                      ]
                      redirects: []
                    )
                    (command.ForEach
                      iter_names: [DIR]
                      iterable: (for_iter.Words words:[{($ Id.VSub_DollarName DIFF)}])
                      body: 
                        (command.DoGroup
                          children: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DBracket
                                              expr: 
                                                (bool_expr.Binary
                                                  op_id: Id.BoolBinary_EqualTilde
                                                  left: {($ Id.VSub_DollarName DIR)}
                                                  right: 
                                                    {<Id.Lit_Other '^'> 
                                                      ($ Id.VSub_DollarName TEST_TMPDIR) <'/'> ($ Id.VSub_DollarName TEST_NAME)
                                                    }
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<echo>} {<Deleting>} {<leftover>} {<flaky>} {<test>} {<directory>} 
                                      {(DQ ($ Id.VSub_DollarName DIR))}
                                    )
                                    (C {<rm>} {<-Rf>} {(DQ ($ Id.VSub_DollarName DIR))})
                                  ]
                                  spids: [928 944]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                  ]
                  spids: [826 839]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<echo>} 
              {
                (DQ <'Running '> ($ Id.VSub_DollarName TEST_NAME) <', redirecting output into '> 
                  ($ Id.VSub_DollarName LOGFILE)
                )
              } 
              {
                (DQ <'(attempt '> (${ Id.VSub_Name ATTEMPT_NUMBER) <'/'> 
                  ($ Id.VSub_DollarName TEST_EXECUTION_ATTEMPTS) <')'>
                )
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName RUN_TYPE)} 
                              {<Id.Lit_Equals '='>} {(DQ <test>)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<run_test>} {($ Id.VSub_Star '*')})]
                  spids: [1004 1019]
                )
              ]
              else_action: [(C {<run_other>} {($ Id.VSub_Star '*')})]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName STATUS))} {<-eq>} 
                              {(DQ <0>)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(command.ControlFlow token:<Id.ControlFlow_Break break>)]
                  spids: [1038 1055]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName ATTEMPT_NUMBER))} 
                              {<-lt>} {(DQ ($ Id.VSub_DollarName TEST_EXECUTION_ATTEMPTS))} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} {<Test>} {<failed>} {<attempt>} {<number>} 
                      {($ Id.VSub_DollarName ATTEMPT_NUMBER)}
                    )
                    (C {<echo>} {<Will>} {<retry...>})
                  ]
                  spids: [1061 1078]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
        )
      redirects: []
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName RUN_TYPE)} {<Id.Lit_Equals '='>} 
                      {(DQ <test>)} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [(C {<post_process_tests>})]
          spids: [1106 1121]
        )
      ]
      else_action: []
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'COREFILES='> name:COREFILES)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.Pipeline
                    children: [(C {<ls>}) (C {<grep>} {<Id.Lit_Other '^'> <core>})]
                    negated: F
                    stderr_indices: []
                  )
                right: <Id.Eof_RParen _>
              )
            }
          spids: [1132]
        )
      ]
      redirects: []
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName COREFILES))} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {<Found>} {<core>} {<dump.>} {<Saving>} {<executable>} {<and>} {<core>} {<files.>})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (command.Simple
                  words: [{<gzip>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Less '<'>
                      loc: (redir_loc.Fd fd:0)
                      arg: {($ Id.VSub_DollarName TEST_EXECUTABLE)}
                    )
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: 
                        {
                          (DQ ($ Id.VSub_DollarName TEST_DEBUGDIR) <'/'> 
                            ($ Id.VSub_DollarName TEST_NAME) <.gz>
                          )
                        }
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Exit exit>
                  arg_word: {($ Id.VSub_QMark '?')}
                )
              ]
            )
            (command.ForEach
              iter_names: [COREFILE]
              iterable: (for_iter.Words words:[{($ Id.VSub_DollarName COREFILES)}])
              body: 
                (command.DoGroup
                  children: [
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (command.Simple
                          words: [{<gzip>}]
                          redirects: [
                            (redir
                              op: <Id.Redir_Less '<'>
                              loc: (redir_loc.Fd fd:0)
                              arg: {($ Id.VSub_DollarName COREFILE)}
                            )
                            (redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: 
                                {
                                  (DQ ($ Id.VSub_DollarName TEST_DEBUGDIR) <'/'> 
                                    ($ Id.VSub_DollarName TEST_NAME) <.> ($ Id.VSub_DollarName COREFILE) <.gz>
                                  )
                                }
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                        (command.ControlFlow
                          token: <Id.ControlFlow_Exit exit>
                          arg_word: {($ Id.VSub_QMark '?')}
                        )
                      ]
                    )
                  ]
                )
              redirects: []
            )
            (command.ForEach
              iter_names: [LIB]
              iterable: 
                (for_iter.Words
                  words: [
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<ldd>} {($ Id.VSub_DollarName TEST_EXECUTABLE)})
                              (C {<grep>} {($ Id.VSub_DollarName ROOT)})
                              (C {<awk>} {(SQ <'{print $3}'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  ]
                )
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LIB_NAME='> name:LIB_NAME)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: (C {<basename>} {($ Id.VSub_DollarName LIB)})
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [1274]
                        )
                      ]
                      redirects: []
                    )
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (command.Simple
                          words: [{<gzip>}]
                          redirects: [
                            (redir
                              op: <Id.Redir_Less '<'>
                              loc: (redir_loc.Fd fd:0)
                              arg: {($ Id.VSub_DollarName LIB)}
                            )
                            (redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: 
                                {
                                  (DQ ($ Id.VSub_DollarName TEST_DEBUGDIR) <'/'> 
                                    ($ Id.VSub_DollarName LIB_NAME) <.gz>
                                  )
                                }
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                        (command.ControlFlow
                          token: <Id.ControlFlow_Exit exit>
                          arg_word: {($ Id.VSub_QMark '?')}
                        )
                      ]
                    )
                  ]
                )
              redirects: []
            )
          ]
          spids: [1144 1157]
        )
      ]
      else_action: []
      redirects: []
    )
    (C {<popd>})
    (C {<rm>} {<-Rf>} {($ Id.VSub_DollarName TEST_WORKDIR)})
    (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{($ Id.VSub_DollarName STATUS)})
  ]
)