(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:failed_tests spids:[4]) op: Equal rhs: (EmptyWord) spids: [4] ) ] spids: [4] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fixed spids:[6]) op:Equal rhs:{(0)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:success spids:[9]) op:Equal rhs:{(0)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed spids:[12]) op:Equal rhs:{(0)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:broken spids:[15]) op:Equal rhs:{(0)} spids:[15])] spids: [15] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:total spids:[18]) op:Equal rhs:{(0)} spids:[18])] spids: [18] ) (WhileUntil keyword: <KW_While while> cond: [(C {(read)} {(file)})] body: (DoGroup children: [ (WhileUntil keyword: <KW_While while> cond: [(C {(read)} {(type)} {(value)})] body: (DoGroup children: [ (Case to_match: {($ VSub_Name '$type')} arms: [ (case_arm pat_list: [{(SQ )}] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [50 52 57 16777215] ) (case_arm pat_list: [{(fixed)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fixed spids:[64]) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$fixed')}) right: (ArithWord w:{($ VSub_Name '$value')}) ) spids: [65 72] ) } spids: [64] ) ] spids: [64] ) ] spids: [60 61 74 16777215] ) (case_arm pat_list: [{(success)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:success spids:[81]) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$success')}) right: (ArithWord w:{($ VSub_Name '$value')}) ) spids: [82 89] ) } spids: [81] ) ] spids: [81] ) ] spids: [77 78 91 16777215] ) (case_arm pat_list: [{(failed)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:failed spids:[98]) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$failed')}) right: (ArithWord w:{($ VSub_Name '$value')}) ) spids: [99 106] ) } spids: [98] ) ] spids: [98] ) (If arms: [ (if_arm cond: [ (C {(test)} {($ VSub_Name '$value')} {(KW_Bang '!') (Lit_Other '=')} {(0)} ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:testnum spids:[124]) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {(DQ ($ VSub_Name '$file'))} {(Lit_Other ':')} {(SQ <'test-results/\\(t[0-9]*\\)-'>)} ) ] ) left_token: <Left_CommandSub '$('> spids: [125 137] ) } spids: [124] ) ] spids: [124] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:failed_tests spids:[140]) op: Equal rhs: { (DQ ($ VSub_Name '$failed_tests') (' ') ($ VSub_Name '$testnum') ) } spids: [140] ) ] spids: [140] ) ] spids: [16777215 121] ) ] spids: [16777215 148] ) ] spids: [94 95 151 16777215] ) (case_arm pat_list: [{(broken)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:broken spids:[158]) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$broken')}) right: (ArithWord w:{($ VSub_Name '$value')}) ) spids: [159 166] ) } spids: [158] ) ] spids: [158] ) ] spids: [154 155 168 16777215] ) (case_arm pat_list: [{(total)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:total spids:[175]) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$total')}) right: (ArithWord w:{($ VSub_Name '$value')}) ) spids: [176 183] ) } spids: [175] ) ] spids: [175] ) ] spids: [171 172 185 16777215] ) ] spids: [43 47 188] ) ] spids: [40 191] ) redirects: [(Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(DQ ($ VSub_Name '$file'))})] ) ] spids: [28 198] ) ) (If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name '$failed_tests'))})] action: [ (C {(printf)} { (DQ (Lit_Other '\\') ('nfailed test(s):') ($ VSub_Name '$failed_tests') (Lit_Other '\\') (n) (Lit_Other '\\') (n) ) } ) ] spids: [16777215 211] ) ] spids: [16777215 226] ) (C {(printf)} {(DQ ('%-8s%d') (Lit_Other '\\') (n))} {(fixed)} {($ VSub_Name '$fixed')}) (C {(printf)} {(DQ ('%-8s%d') (Lit_Other '\\') (n))} {(success)} {($ VSub_Name '$success')}) (C {(printf)} {(DQ ('%-8s%d') (Lit_Other '\\') (n))} {(failed)} {($ VSub_Name '$failed')}) (C {(printf)} {(DQ ('%-8s%d') (Lit_Other '\\') (n))} {(broken)} {($ VSub_Name '$broken')}) (C {(printf)} {(DQ ('%-8s%d') (Lit_Other '\\') (n))} {(total)} {($ VSub_Name '$total')}) ] )