(command.CommandList children: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:DO_OPTIMIZE) op:Equal rhs:{(0)})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:DO_DARTIUM) op:Equal rhs:{(0)})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:TESTS_FAILED) op:Equal rhs:{(0)})] ) (command.ShFunction name: usage body: (command.BraceGroup children: [ (C {(echo)} {(DQ ('usage: ') ($ VSub_Number '$0') (' [ --help ] [ --optimize ] [ --dartium ] '))} ) (C {(echo)}) (C {(echo)} {(DQ ('Runs a quick set of tests on runtime, client, and compiler dirs'))}) (C {(echo)}) (C {(echo)} {(DQ (' --optimize: Also run dartc and client tests in release mode'))}) (C {(echo)} {(DQ (' --dartium : Also run dartium/debug tests'))}) (C {(echo)}) ] ) ) (command.ShFunction name: doBuild body: (command.BraceGroup children: [ (C {(./tools/build.py)} {(--arch)} {($ VSub_Number '$1')} {(--mode)} {($ VSub_Number '$2')}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {($ VSub_QMark '$?')} {(KW_Bang '!') (Lit_Equals '=')} {(0)} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (DQ ('Build of ') ($ VSub_Number '$1') (' - ') ($ VSub_Number '$2') (' failed')) } ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] ) ] ) ] ) ) (command.ShFunction name: doTest body: (command.BraceGroup children: [ (C {(./tools/test.py)} {(--component)} {($ VSub_Number '$2')} {(--mode)} {($ VSub_Number '$3')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:RESULT) op: Equal rhs: {($ VSub_QMark '$?')} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(${ VSub_Name RESULT)} {(KW_Bang '!') (Lit_Equals '=')} {(0)} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:TESTS_FAILED) op:Equal rhs:{(1)})] ) ] ) ] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(${ VSub_Name RESULT)} ) ] ) ) (command.WhileUntil keyword: <KW_While while> cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Number '$1'))} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] body: (command.DoGroup children: [ (command.Case to_match: {($ VSub_Number '$1')} arms: [ (case_arm pat_list: [{(DQ (-h))} {(DQ ('-?'))} {(DQ (-help))} {(DQ (--help))}] action: [ (C {(usage)}) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] ) (case_arm pat_list: [{(DQ (--optimize))}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:DO_OPTIMIZE) op:Equal rhs:{(1)})] ) ] ) (case_arm pat_list: [{(DQ (--dartium))}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:DO_DARTIUM) op:Equal rhs:{(1)})] ) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (C {(echo)} {(DQ ('Unrecognized argument: ') ($ VSub_Number '$1'))}) (C {(usage)}) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] ) ] ) (C {(shift)}) ] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(KW_Bang '!')} {(-d)} {(compiler)} {(-o)} {(KW_Bang '!')} {(-d)} {(runtime)} {(-o)} {(KW_Bang '!')} {(-d)} {(tests)} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ("This doesn't look like the dart source tree."))}) (C {(echo)} {(DQ ('Change your directory to the dart trunk source'))}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) ] ) (C {(echo)}) (C {(echo)} {(DQ ('--- Building release ---'))}) (C {(doBuild)} {(ia32)} {(release)}) (C {(echo)}) (C {(echo)} {(DQ ('--- Building debug ---'))}) (C {(doBuild)} {(ia32)} {(debug)}) (C {(echo)}) (C {(echo)} {(DQ ('=== Runtime tests === '))}) (C {(echo)} {(DQ (' Debug (Ctrl-C to skip this set of tests)'))}) (C {(doTest)} {(runtime)} {(vm)} {(debug)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:RUNTIME_RESULT) op: Equal rhs: {($ VSub_QMark '$?')} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(${ VSub_Name RUNTIME_RESULT)} {(Lit_Equals '=') (Lit_Equals '=')} {(0)} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ (' Release (Ctrl-C to skip this set of tests)'))}) (C {(doTest)} {(runtime)} {(vm)} {(release)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:RUNTIME_RESULT) op: Equal rhs: {($ VSub_QMark '$?')} ) ] ) ] ) ] ) (C {(echo)}) (C {(echo)} {(DQ ('=== dartc tests ==='))}) (C {(echo)} {(DQ (' Debug mode (Ctrl-C to skip this set of tests)'))}) (C {(doTest)} {(compiler)} {(dartc)} {(debug)}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:DARTC_RESULT) op:Equal rhs:{($ VSub_QMark '$?')})] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(${ VSub_Name DO_OPTIMIZE)} {(Lit_Equals '=') (Lit_Equals '=')} {(1)} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ (' Release mode (--optimize)'))}) (C {(doTest)} {(compiler)} {(dartc)} {(release)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:RESULT) op: Equal rhs: {($ VSub_QMark '$?')} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(${ VSub_Name RESULT)} {(KW_Bang '!') (Lit_Equals '=')} {(0)} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DARTC_RESULT) op: Equal rhs: {(${ VSub_Name RESULT)} ) ] ) ] ) ] ) ] ) ] ) (C {(echo)}) (C {(echo)} {(DQ ('=== Client tests ==='))}) (C {(echo)} {(DQ (' Chromium (Ctrl-C to skip this set of tests)'))}) (C {(doTest)} {(client)} {(chromium)} {(debug)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CLIENT_RESULT) op: Equal rhs: {($ VSub_QMark '$?')} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(${ VSub_Name DO_OPTIMIZE)} {(Lit_Equals '=') (Lit_Equals '=')} {(1)} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ (' Chromium Release mode (--optimize)'))}) (C {(doTest)} {(compiler)} {(chromium)} {(release)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:RESULT) op: Equal rhs: {($ VSub_QMark '$?')} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(${ VSub_Name RESULT)} {(KW_Bang '!') (Lit_Equals '=')} {(0)} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CLIENT_RESULT) op: Equal rhs: {(${ VSub_Name RESULT)} ) ] ) ] ) ] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(${ VSub_Name DO_DARTIUM)} {(Lit_Equals '=') (Lit_Equals '=')} {(1)} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ (' Dartium (Ctrl-C to skip this set of tests)'))}) (C {(doTest)} {(client)} {(dartium)} {(release)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:RESULT) op: Equal rhs: {($ VSub_QMark '$?')} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(${ VSub_Name RESULT)} {(KW_Bang '!') (Lit_Equals '=')} {(0)} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CLIENT_RESULT) op: Equal rhs: {(${ VSub_Name RESULT)} ) ] ) ] ) ] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(${ VSub_Name RUNTIME_RESULT)} {(KW_Bang '!') (Lit_Equals '=')} {(0)} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ ('*** vm tests failed'))})] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(${ VSub_Name DARTC_RESULT)} {(KW_Bang '!') (Lit_Equals '=')} {(0)} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ ('*** dartc tests failed'))})] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(${ VSub_Name CLIENT_RESULT)} {(KW_Bang '!') (Lit_Equals '=')} {(0)} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ ('*** client tests failed'))})] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(${ VSub_Name TESTS_FAILED)} {(Lit_Equals '=') (Lit_Equals '=')} {(0)} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ ('All presubmit tests passed!'))})] ) ] ) ] )