(CommandList children: [ (C {(.)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(dirname)} {(DQ ($ VSub_Number "$0"))})]) left_token: <Left_CommandSub "$("> spids: [10 16] ) (/../../GIT-BUILD-OPTIONS) ) } ) (C {(Lit_Other ":")} { (BracedVarSub token: <VSub_Name TEST_OUTPUT_DIRECTORY> suffix_op: (StringUnary op_id: VTest_Equals arg_word: { (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {(DQ ($ VSub_Number "$0"))})] ) left_token: <Left_CommandSub "$("> spids: [28 34] ) (Lit_Slash /) (..) } ) spids: [25 37] ) } ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:output) op:Equal rhs:{(SQ )} spids:[40])] spids: [40] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:count) op:Equal rhs:{(0)} spids:[42])] spids: [42] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:total_count) op:Equal rhs:{(0)} spids:[45])] spids: [45] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:missing_message) op:Equal rhs:{(SQ )} spids:[48])] spids: [48] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:new_line) op:Equal rhs:{(SQ <"\n">)} spids:[50])] spids: [50] ) (FuncDef name: start_output body: (BraceGroup children: [ (AndOr children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name "$output"))}) (ControlFlow token:<ControlFlow_Return return>) ] op_id: Op_DPipe ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:total_count) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name "$total_count")}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [89 94] ) } spids: [88] ) ] spids: [88] ) (AndOr children: [ (C {(test)} {(-t)} {(2)}) (SimpleCommand words: [ {(printf)} {(DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\r">) ("Found %d errors"))} {($ VSub_Name "$total_count")} ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[114])] ) ] op_id: Op_DAmp ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:count) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name "$count")}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [120 125] ) } spids: [119] ) ] spids: [119] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:output) op: Equal rhs: {($ VSub_Name "$out_prefix") (.) ($ VSub_Name "$count")} spids: [128] ) ] spids: [128] ) (SimpleCommand words: [{(Lit_Other ":")}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name "$output")} spids: [136] ) ] ) (SimpleCommand words: [{(echo)} {(DQ ("*** ") ($ VSub_Number "$1") (" ***"))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name "$output") (.message)} spids: [150] ) ] ) ] spids: [67] ) spids: [62 66] ) (FuncDef name: finish_output body: (BraceGroup children: [ (AndOr children: [ (C {(test)} {(KW_Bang "!")} {(-z)} {(DQ ($ VSub_Name "$output"))}) (ControlFlow token:<ControlFlow_Return return>) ] op_id: Op_DPipe ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:output) op:Equal rhs:{(SQ )} spids:[181])] spids: [181] ) (AndOr children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name "$missing_message"))}) (BraceGroup children: [ (While cond: [ (C {(test)} {($ VSub_Name "$missing_message")} {(-lt)} {($ VSub_Name "$count")}) ] body: (DoGroup children: [ (C {(cp)} {($ VSub_Name "$out_prefix") (.) ($ VSub_Name "$count") (.message)} {($ VSub_Name "$out_prefix") (.) ($ VSub_Name "$missing_message") (.message)} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:missing_message) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name "$missing_message")}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [236 241] ) } spids: [235] ) ] spids: [235] ) ] spids: [217 244] ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:missing_message) op: Equal rhs: {(SQ )} spids: [247] ) ] spids: [247] ) ] spids: [203] ) ] op_id: Op_DPipe ) ] spids: [163] ) spids: [158 162] ) (FuncDef name: output_all body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:last_line) op:Equal rhs:{(SQ )} spids:[266])] spids: [266] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:j) op:Equal rhs:{(0)} spids:[269])] spids: [269] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:i) op:Equal rhs:{(1)} spids:[273])] spids: [273] ) (Pipeline children: [ (While cond: [(C {(test)} {($ VSub_Name "$i")} {(-le)} {($ VSub_Name "$count")})] body: (DoGroup children: [ (C {(echo)} { (DQ ($ VSub_Name "$i") (" ") (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(tr)} {(SQ <"\\n">)} {(SQ <" ">)}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {($ VSub_Name "$out_prefix") (.) ($ VSub_Name "$i")} spids: [311] ) ] ) ] ) left_token: <Left_CommandSub "$("> spids: [300 316] ) ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name "$i")}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [321 326] ) } spids: [320] ) ] spids: [320] ) ] spids: [288 329] ) ) (C {(sort)} {(-t)} {(SQ <" ">)} {(-k)} {(2)}) (While cond: [(C {(read)} {(number)} {(line)})] body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (C {(test)} {(DQ ($ VSub_Name "$line"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$last_line"))} ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:last_line) op: Equal rhs: {($ VSub_Name "$line")} spids: [387] ) ] spids: [387] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:j) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name "$j")}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [392 397] ) } spids: [391] ) ] spids: [391] ) (C {(printf)} { (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("Valgrind error ") ($ VSub_Name "$j") (":") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) (EscapedLiteralPart token: <Lit_EscapedChar "\\n"> ) ) } ) (C {(cat)} {($ VSub_Name "$out_prefix") (.) ($ VSub_Name "$number")}) (C {(printf)} { (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("found in:") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ) } ) ] spids: [-1 384] ) ] spids: [-1 428] ) (C {(printf)} {(DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\n">))}) (C {(cat)} {($ VSub_Name "$out_prefix") (.) ($ VSub_Name "$number") (.message)}) ] spids: [361 450] ) ) ] negated: False ) ] spids: [263] ) spids: [258 262] ) (FuncDef name: handle_one body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OLDIFS) op: Equal rhs: {($ VSub_Name "$IFS")} spids: [463] ) ] spids: [463] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ ($ VSub_Name "$new_line"))} spids: [467] ) ] spids: [467] ) (While cond: [(C {(read)} {(line)})] body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Name "$line"))} arms: [ (case_arm pat_list: [ {(Lit_Other "=") (Lit_Other "=") (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "*") } ] action: [ (Case to_match: {(DQ ($ VSub_Name "$output"))} arms: [ (case_arm pat_list: [{(Lit_Other "*") (.message)}] action: [ (AndOr children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name "$missing_message"))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:missing_message) op: Equal rhs: {($ VSub_Name "$count")} spids: [535] ) ] spids: [535] ) ] op_id: Op_DAmp ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:output) op: Equal rhs: {(SQ )} spids: [539] ) ] spids: [539] ) ] spids: [519 521 -1 542] ) ] spids: [510 516 542] ) (C {(start_output)} { (CommandSubPart command_list: (CommandList children: [(C {(basename)} {($ VSub_Number "$1")})] ) left_token: <Left_CommandSub "$("> spids: [548 552] ) } ) (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name "$line"))}) (SimpleCommand words: [{(sed)} {(SQ <"s/==[0-9]*==/==valgrind==/">)}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name "$output")} spids: [570] ) ] ) ] negated: False ) ] spids: [496 502 575 -1] ) (case_arm pat_list: [{(SQ <"}">)}] action: [ (AndOr children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name "$output"))}) (BraceGroup children: [ (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name "$line"))}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name "$output")} spids: [607] ) ] ) (AndOr children: [ (C {(test)} {($ VSub_Name "$output")} {(Lit_Other "=")} { (BracedVarSub token: <VSub_Name output> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(.message)} ) spids: [618 622] ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:output) op: Equal rhs: {($ VSub_Name "$output") (.message)} spids: [627] ) ] spids: [627] ) ] op_id: Op_DAmp ) ] spids: [598] ) ] op_id: Op_DPipe ) ] spids: [583 585 635 -1] ) (case_arm pat_list: [{(SQ )}] action: [(C {(finish_output)})] spids: [-1 644 650 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (AndOr children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name "$output"))}) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name "$line"))}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name "$output")} spids: [677] ) ] ) ] op_id: Op_DPipe ) ] spids: [657 658 682 -1] ) ] spids: [483 489 685] ) ] spids: [480 688] ) redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{($ VSub_Number "$1")} spids:[690])] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {($ VSub_Name "$OLDIFS")} spids: [695] ) ] spids: [695] ) (C {(finish_output)}) ] spids: [460] ) spids: [455 459] ) (ForEach iter_name: test_script iter_words: [ {(DQ ($ VSub_Name "$TEST_OUTPUT_DIRECTORY")) (/test-results/) (Lit_Other "*") (.out)} ] do_arg_iter: False body: (DoGroup children:[(C {(handle_one)} {($ VSub_Name "$test_script")})] spids:[722729]) spids: [714 -1] ) (C {(output_all)}) ] )