(List (Com {[LIT_CHARS .]} {[DQ [ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub 0]]})][LIT_CHARS /../../GIT-BUILD-OPTIONS]]}) (Com {[LIT_OTHER ":"]} {[VarSub TEST_OUTPUT_DIRECTORY test_op=VS_TEST_EQUALS {[ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub 0]]})] [LIT_SLASH /] [LIT_CHARS ..]}]}) (= scope= flags=0 words=[] bindings=[('output', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('count', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('total_count', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('missing_message', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('new_line', {[SQ ]})]) (FunctionDef start_output [] (List (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub output]]}) (Com {[LIT_CHARS return]}) ) (= scope= flags=0 words=[] bindings=[('total_count', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub total_count]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -t]} {[LIT_CHARS 2]}) (Com {[LIT_CHARS printf]} {[DQ [\ LIT_ESCAPED_CHAR "\\r"][LIT_CHARS "Found %d errors"]]} {[VarSub total_count]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) ) (= scope= flags=0 words=[] bindings=[('count', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub count]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) (= scope= flags=0 words=[] bindings=[('output', {[VarSub out_prefix] [LIT_CHARS .] [VarSub count]})]) (Com {[LIT_OTHER ":"]} < (FilenameRedirectNode filename={[VarSub output]} "> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "*** "][VarSub 1][LIT_CHARS " ***"]]} < (FilenameRedirectNode filename={[VarSub output] [LIT_CHARS .message]} "> 1), > ) ) ) (FunctionDef finish_output [] (List (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_OTHER "!"]} {[LIT_CHARS -z]} {[DQ [VarSub output]]}) (Com {[LIT_CHARS return]}) ) (= scope= flags=0 words=[] bindings=[('output', {[SQ ]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub missing_message]]}) (List (While (Com {[LIT_CHARS test]} {[VarSub missing_message]} {[LIT_CHARS -lt]} {[VarSub count]}) (List (Com {[LIT_CHARS cp]} {[VarSub out_prefix] [LIT_CHARS .] [VarSub count] [LIT_CHARS .message]} {[VarSub out_prefix] [LIT_CHARS .] [VarSub missing_message] [LIT_CHARS .message]}) (= scope= flags=0 words=[] bindings=[('missing_message', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub missing_message]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) ) ) (= scope= flags=0 words=[] bindings=[('missing_message', {[SQ ]})]) ) ) ) ) (FunctionDef output_all [] (List (= scope= flags=0 words=[] bindings=[('last_line', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('j', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('i', {[LIT_CHARS 1]})]) (Pipeline (While (Com {[LIT_CHARS test]} {[VarSub i]} {[LIT_CHARS -le]} {[VarSub count]}) (List (Com {[LIT_CHARS echo]} {[DQ [VarSub i][LIT_CHARS " "][ComSub (Com redirects=[(FilenameRedirectNode filename={[VarSub out_prefix] [LIT_CHARS .] [VarSub i]} 0)]{[LIT_CHARS tr]} {[SQ ]} {[SQ ]})]]}) (= scope= flags=0 words=[] bindings=[('i', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) ) ) (Com {[LIT_CHARS sort]} {[LIT_CHARS -t]} {[SQ ]} {[LIT_CHARS -k]} {[LIT_CHARS 2]}) (While (Com {[LIT_CHARS read]} {[LIT_CHARS number]} {[LIT_CHARS line]}) (List (If (Com {[LIT_CHARS test]} {[DQ [VarSub line]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [VarSub last_line]]}) (List (= scope= flags=0 words=[] bindings=[('last_line', {[VarSub line]})]) (= scope= flags=0 words=[] bindings=[('j', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub j]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) (Com {[LIT_CHARS printf]} {[DQ [\ LIT_ESCAPED_CHAR "\\n"][LIT_CHARS "Valgrind error "][VarSub j][LIT_CHARS ":"][\ LIT_ESCAPED_CHAR "\\n"][\ LIT_ESCAPED_CHAR "\\n"]]}) (Com {[LIT_CHARS cat]} {[VarSub out_prefix] [LIT_CHARS .] [VarSub number]}) (Com {[LIT_CHARS printf]} {[DQ [\ LIT_ESCAPED_CHAR "\\n"][LIT_CHARS "found in:"][\ LIT_ESCAPED_CHAR "\\n"]]}) ) ) (Com {[LIT_CHARS printf]} {[DQ [\ LIT_ESCAPED_CHAR "\\n"]]}) (Com {[LIT_CHARS cat]} {[VarSub out_prefix] [LIT_CHARS .] [VarSub number] [LIT_CHARS .message]}) ) ) ) ) ) (FunctionDef handle_one [] (List (= scope= flags=0 words=[] bindings=[('OLDIFS', {[VarSub IFS]})]) (= scope= flags=0 words=[] bindings=[('IFS', {[DQ [VarSub new_line]]})]) (While (Com {[LIT_CHARS read]} {[LIT_CHARS line]}) (Case to_match={[DQ [VarSub line]]}, pat_word_list=[[{[LIT_OTHER "="] [LIT_OTHER "="] [LIT_OTHER "["] [LIT_CHARS 0-9] [LIT_OTHER "]"] [LIT_OTHER "*"]}], [{[SQ ]}], [{[SQ ]}], [{[LIT_OTHER "*"]}]] (List (Case to_match={[DQ [VarSub output]]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_CHARS .message]}]] (List (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub missing_message]]}) (= scope= flags=0 words=[] bindings=[('missing_message', {[VarSub count]})]) ) (= scope= flags=0 words=[] bindings=[('output', {[SQ ]})]) ) ) (Com {[LIT_CHARS start_output]} {[ComSub (Com {[LIT_CHARS basename]} {[VarSub 1]})]}) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub line]]}) (Com {[LIT_CHARS sed]} {[SQ ]} < (FilenameRedirectNode filename={[VarSub output]} >"> 1), > ) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub output]]}) (List (Com {[LIT_CHARS echo]} {[DQ [VarSub line]]} < (FilenameRedirectNode filename={[VarSub output]} >"> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[VarSub output]} {[LIT_OTHER "="]} {[VarSub output transform_ops=[VS_UNARY_PERCENT {[LIT_CHARS .message]}]]}) (= scope= flags=0 words=[] bindings=[('output', {[VarSub output] [LIT_CHARS .message]})]) ) ) ) (Com {[LIT_CHARS finish_output]}) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub output]]}) (Com {[LIT_CHARS echo]} {[DQ [VarSub line]]} < (FilenameRedirectNode filename={[VarSub output]} >"> 1), > ) ) ) ) (= scope= flags=0 words=[] bindings=[('IFS', {[VarSub OLDIFS]})]) (Com {[LIT_CHARS finish_output]}) ) ) (For test_script [{[DQ [VarSub TEST_OUTPUT_DIRECTORY]] [LIT_CHARS /test-results/] [LIT_OTHER "*"] [LIT_CHARS .out]}]) (Com {[LIT_CHARS handle_one]} {[VarSub test_script]}) ) (Com {[LIT_CHARS output_all]}) )