(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:{(EmptyPart)} 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:{(EmptyPart)} 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 ops: [Op_DPipe] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$output'))}) (ControlFlow token:<ControlFlow_Return return>) ] ) (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 ops: [Op_DAmp] children: [ (C {(test)} {(-t)} {(2)}) (SimpleCommand words: [ {(printf)} {(DQ (Lit_Other '\\') ('rFound %d errors'))} {($ VSub_Name '$total_count')} ] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[114])] ) ] ) (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: 16777215 arg_word: {($ VSub_Name '$output')} spids: [136] ) ] ) (SimpleCommand words: [{(echo)} {(DQ ('*** ') ($ VSub_Number '$1') (' ***'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$output') (.message)} spids: [150] ) ] ) ] spids: [67] ) spids: [62 66] ) (FuncDef name: finish_output body: (BraceGroup children: [ (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$output'))}) (ControlFlow token:<ControlFlow_Return return>) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:output) op:Equal rhs:{(EmptyPart)} spids:[181])] spids: [181] ) (AndOr ops: [Op_DPipe] 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: {(EmptyPart)} spids: [247] ) ] spids: [247] ) ] spids: [203] ) ] ) ] 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: {(EmptyPart)} 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: 16777215 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 (Lit_Other '\\') ('nValgrind error ') ($ VSub_Name '$j') (':') (Lit_Other '\\') (n) (Lit_Other '\\') (n) ) } ) (C {(cat)} {($ VSub_Name '$out_prefix') (.) ($ VSub_Name '$number')}) (C {(printf)} {(DQ (Lit_Other '\\') ('nfound in:') (Lit_Other '\\') (n))} ) ] spids: [16777215 384] ) ] spids: [16777215 431] ) (C {(printf)} {(DQ (Lit_Other '\\') (n))}) (C {(cat)} {($ VSub_Name '$out_prefix') (.) ($ VSub_Name '$number') (.message)}) ] spids: [361 454] ) ) ] negated: F ) ] 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: [467] ) ] spids: [467] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ ($ VSub_Name '$new_line'))} spids: [471] ) ] spids: [471] ) (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 ops: [Op_DAmp] 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: [539] ) ] spids: [539] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:output) op: Equal rhs: {(EmptyPart)} spids: [543] ) ] spids: [543] ) ] spids: [523 525 16777215 546] ) ] spids: [514 520 546] ) (C {(start_output)} { (CommandSubPart command_list: (CommandList children: [(C {(basename)} {($ VSub_Number '$1')})] ) left_token: <Left_CommandSub '$('> spids: [552 556] ) } ) (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$line'))}) (SimpleCommand words: [{(sed)} {(SQ <'s/==[0-9]*==/==valgrind==/'>)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$output')} spids: [574] ) ] ) ] negated: F ) ] spids: [500 506 579 16777215] ) (case_arm pat_list: [{(SQ <'}'>)}] action: [ (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$output'))}) (BraceGroup children: [ (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$line'))}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$output')} spids: [611] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {($ VSub_Name '$output')} {(Lit_Other '=')} { (BracedVarSub token: <VSub_Name output> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(.message)} ) spids: [622 626] ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:output) op: Equal rhs: {($ VSub_Name '$output') (.message)} spids: [631] ) ] spids: [631] ) ] ) ] spids: [602] ) ] ) ] spids: [587 589 639 16777215] ) (case_arm pat_list: [{(SQ )}] action: [(C {(finish_output)})] spids: [16777215 648 654 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$output'))}) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$line'))}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$output')} spids: [681] ) ] ) ] ) ] spids: [661 662 686 16777215] ) ] spids: [487 493 689] ) ] spids: [484 692] ) redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {($ VSub_Number '$1')} spids: [694] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {($ VSub_Name '$OLDIFS')} spids: [699] ) ] spids: [699] ) (C {(finish_output)}) ] spids: [464] ) spids: [459 463] ) (ForEach iter_name: test_script iter_words: [ {(DQ ($ VSub_Name '$TEST_OUTPUT_DIRECTORY')) (/test-results/) (Lit_Other '*') (.out)} ] do_arg_iter: F body: (DoGroup children:[(C {(handle_one)} {($ VSub_Name '$test_script')})] spids:[726 733]) spids: [718 16777215] ) (C {(output_all)}) ] )