(CommandList
  children: [
    (C {(set)} {(-o)} {(nounset)})
    (C {(set)} {(-o)} {(pipefail)})
    (C {(set)} {(-o)} {(errexit)})
    (C {(source)} {(test/common.sh)})
    (C {(export)} {(Lit_VarLike 'PYTHONPATH=') (.)})
    (FuncDef
      name: one
      body: (BraceGroup children:[(C {(DQ ($ VSub_At '$@'))})] spids:[71])
      spids: [67 70]
    )
    (FuncDef
      name: unit
      body: (BraceGroup children:[(C {(DQ ($ VSub_At '$@'))})] spids:[88])
      spids: [84 87]
    )
    (FuncDef
      name: _log-one
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:name)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [107]
                )
              ]
              spids: [105]
            )
            (SimpleCommand
              words: [{($ VSub_Name '$name')}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(_tmp/unit/) (${ VSub_Name name) (.log.txt)}
                  spids: [113]
                )
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[121])
              ]
            )
          ]
          spids: [102]
        )
      spids: [98 101]
    )
    (FuncDef
      name: _all
      body: 
        (BraceGroup
          children: [
            (C {(mkdir)} {(-p)} {(_tmp/unit)})
            (ForEach
              iter_name: t
              iter_words: [
                (BracedWordTree
                  parts: [
                    (BracedAltPart
                      words: [{(build)} {(test)} {(native)} {(asdl)} {(core)} {(osh)} {(tools)}]
                    )
                    (/)
                    (Lit_Other '*')
                    (_test.py)
                  ]
                )
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {($ VSub_Name '$t')}
                                      right: {(Lit_Other '*') (arith_parse_test.py)}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [-1 198]
                        )
                      ]
                      spids: [-1 204]
                    )
                    (C {(echo)} {($ VSub_Name '$t')})
                    (C {(mkdir)} {(-p)} 
                      {(_tmp/unit/) 
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(dirname)} {($ VSub_Name '$t')})])
                          left_token: <Left_CommandSub '$('>
                          spids: [218 222]
                        )
                      }
                    )
                    (C {(run-task-with-status)} {(_tmp/unit/) (${ VSub_Name t) (.task.txt)} 
                      {($ VSub_Number '$0')} {(_log-one)} {($ VSub_Name '$t')}
                    )
                  ]
                  spids: [177 240]
                )
              spids: [156 175]
            )
          ]
          spids: [131]
        )
      spids: [127 130]
    )
    (FuncDef
      name: _html-summary
      body: 
        (BraceGroup
          children: [
            (Pipeline
              children: [
                (C {(find)} {(_tmp/unit)} {(-name)} {(SQ <'*.task.txt'>)})
                (C {(awk)} 
                  {
                    (SQ <'\n'> <'  { path = $0\n'> <'    getline < path\n'> <'    status = $1\n'> 
                      <'    wall_secs = $2\n'> <'\n'> <'    if (status == 0) {\n'> <'      num_passed += 1\n'> <'    } else {\n'> 
                      <'      num_failed = 1\n'> <'      print path " failed"\n'> <'    }\n'> <'  }\n'> <'  END {\n'> <'    if (num_failed == 0) {\n'> 
                      <'      print ""\n'> <'      print "ALL " num_passed " TESTS PASSED"\n'> <'    }\n'> <'  }\n'> <'  '>
                    )
                  }
                )
              ]
              negated: False
            )
          ]
          spids: [255]
        )
      spids: [251 254]
    )
    (FuncDef
      name: html-summary
      body: (BraceGroup children:[(C {(_html-summary)})] spids:[302])
      spids: [298 301]
    )
    (FuncDef
      name: all
      body: 
        (BraceGroup
          children: [(TimeBlock pipeline:(C {($ VSub_Number '$0')} {(_all)})) (C {(html-summary)})]
          spids: [314]
        )
      spids: [310 313]
    )
    (C {(DQ ($ VSub_At '$@'))})
  ]
)