(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed_tests) op:Equal rhs:{(EmptyPart)} spids:[4])] spids: [4] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fixed) op:Equal rhs:{(0)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:success) op:Equal rhs:{(0)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:broken) op:Equal rhs:{(0)} spids:[15])] spids: [15] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:total) op:Equal rhs:{(0)} spids:[18])] spids: [18] ) (While cond: [(C {(read)} {(file)})] body: (DoGroup children: [ (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: [16777215 52 57 16777215] ) (case_arm pat_list: [{(fixed)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fixed) 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) 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) 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) 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) 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) 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) 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_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$file'))} spids: [193] ) ] ) ] 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')}) ] )