(command.CommandList children: [ (C {<export>} {<Id.Lit_VarLike 'DYLD_FRAMEWORK_PATH='> ($ Id.VSub_DollarName '$BUILT_PRODUCTS_DIR')} ) (C {<export>} {<Id.Lit_VarLike 'DYLD_LIBRARY_PATH='> ($ Id.VSub_DollarName '$BUILT_PRODUCTS_DIR')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_executables) op: assign_op.Equal rhs: {($ Id.VSub_At '$@')} spids: [112] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:succeeded) op: assign_op.Equal rhs: {<0>} spids: [119] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<0>} spids: [122] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed_list) op: assign_op.Equal rhs: {(sh_array_literal left:<Id.Op_LParen _>)} spids: [125] ) ] ) (command.ForEach iter_name: test iter_words: [ { (braced_var_sub token: <Id.VSub_Name test_executables> bracket_op: (bracket_op.WholeArray op_id:Id.Arith_Star) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (C {(DQ ($ Id.VSub_DollarName '$test'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [151] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$result')} {<-eq>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:succeeded) op: assign_op.Equal rhs: { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Plus left: {($ Id.VSub_DollarName '$succeeded')} right: {<Id.Lit_Digits 1>} ) ) } spids: [171] ) ] ) ] spids: [155 168] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Plus left: <Id.Lit_ArithVarLike failed> right: {<Id.Lit_Digits 1>} ) ) } spids: [187] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed_list) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$failed_list') <' '> ($ Id.VSub_DollarName '$test') ) } spids: [200] ) ] ) ] ) ] ) ) (C {<echo>} { (DQ <'Tests complete with '> ($ Id.VSub_DollarName '$succeeded') <' successes and '> ($ Id.VSub_DollarName '$failed') <' failures.'> ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$failed')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ <'The following tests failed:'>)}) (C {<echo>} {($ Id.VSub_DollarName '$failed_list')}) ] spids: [226 239] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName '$failed')} ) ] )