(CommandList
  children: [
    (C {(set)} {(-e)})
    (FuncDef
      name: fail
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(-e)} {(DQ ("\u001b[31mSome tests failed\u001b[0m"))})
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
          ]
          spids: [15]
        )
      spids: [11 14]
    )
    (C {(cd)} 
      {
        (CommandSubPart
          command_list: 
            (CommandList
              children: [
                (C {(dirname)} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name BASH_SOURCE>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)}))
                        spids: [47 52]
                      )
                    )
                  }
                )
              ]
            )
          left_token: <Left_CommandSub "$(">
          spids: [42 55]
        ) (/..)
      }
    )
    (AndOr
      children: [(C {(./tool/sdk_version_check.dart)} {(1.9.0-dev.4.0)}) (C {(fail)})]
      op_id: Op_DPipe
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other "[")} {(-d)} {(test/codegen/expect)} {(Lit_Other "]")})
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (AndOr
              children: [(C {(rm)} {(-r)} {(test/codegen/expect)}) (C {(fail)})]
              op_id: Op_DPipe
            )
          ]
          spids: [-1 88]
        )
      ]
      spids: [-1 101]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other "[")} {(-d)} {(gen/codegen_input)} {(Lit_Other "]")})
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (AndOr
              children: [(C {(rm)} {(-r)} {(gen/codegen_input)}) (C {(fail)})]
              op_id: Op_DPipe
            )
          ]
          spids: [-1 115]
        )
      ]
      spids: [-1 128]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other "[")} {(-d)} {(gen/codegen_output)} {(Lit_Other "]")})
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (AndOr
              children: [(C {(rm)} {(-r)} {(gen/codegen_output)}) (C {(fail)})]
              op_id: Op_DPipe
            )
          ]
          spids: [-1 142]
        )
      ]
      spids: [-1 155]
    )
    (C {(./tool/build_test_pkgs.sh)})
    (C {(unset)} {(COVERALLS_TOKEN)})
    (AndOr children:[(C {(dart)} {(test/all_tests.dart)})(C {(fail)})] op_id:Op_DPipe)
    (BraceGroup
      children: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:fc)
              op: Equal
              rhs: 
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (Pipeline
                            children: [
                              (C {(find)} {(test)} {(-name)} {(DQ ("*.dart"))})
                              (C {(xargs)} {(grep)} 
                                {
                                  (DQ (/) (EscapedLiteralPart token:<Lit_EscapedChar "\\*">) 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar "\\S">
                                    ) ("* should be ") (EscapedLiteralPart token:<Lit_EscapedChar "\\S">) ("*") 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar "\\*">
                                    ) (/)
                                  )
                                }
                              )
                              (C {(wc)} {(-l)})
                            ]
                            negated: False
                          )
                        ]
                      )
                    left_token: <Left_Backtick "`">
                    spids: [196 230]
                  )
                }
              spids: [195]
            )
          ]
          spids: [195]
        )
        (C {(echo)} {(DQ ("There are"))} {($ VSub_Name "$fc")} {(DQ ("tests marked as known failures."))})
      ]
      spids: [192]
    )
    (C {(echo)} {(-e)} 
      {(DQ ("\u001b[32mAll tests built - run tool/browser_test.sh to run tests\u001b[0m"))}
    )
  ]
)