(List (= scope= flags=0 words=[] bindings=[('LAYOUT_URL', {[DQ [LIT_CHARS "http://build.chromium.org/p/chromium.memory.fyi/builders/Webkit%20Linux%20(valgrind%20layout)"]]})]) (= scope= flags=0 words=[] bindings=[('LAYOUT_COUNT', {[LIT_CHARS 250]})]) (= scope= flags=0 words=[] bindings=[('PATTERN', {[DQ [LIT_CHARS "are definitely|uninitialised|Unhandled exception|"][LIT_CHARS "Invalid read|Invalid write|Invalid free|Source and desti|Mismatched free|"][LIT_CHARS "unaddressable byte|vex x86|the 'impossible' happened|"][LIT_CHARS "valgrind:.*: Assertion.*failed|VALGRIND INTERNAL ERROR"]]})]) (FunctionDef usage [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Usage: regrind.sh [--noscrape][--norepro][--keep]"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "--noscrape: don't scrape bots, just use old regrind-failed.txt"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "--norepro: don't reproduce locally"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "--keep: keep temp files"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (FunctionDef layout_list_failed_tests [] (Pipeline (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS "Command:.*LayoutTests"]]}) (Com {[LIT_CHARS sed]} {[SQ //">]}) (Com {[LIT_CHARS sed]} {[SQ ]}) (Com {[LIT_CHARS sort]} {[LIT_CHARS -u]}) (Com {[LIT_CHARS tr]} {[LIT_CHARS -d]} {[SQ ]}) ) ) (FunctionDef scrape_layout [] (List (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_CHARS regrind-] [LIT_OTHER "*"] [LIT_CHARS .tmp] [LIT_OTHER "*"]} {[LIT_CHARS regrind-failed.txt]} {[LIT_CHARS regrind-failed-map.txt]}) (Com {[LIT_CHARS touch]} {[LIT_CHARS regrind-failed.txt]}) (Com {[LIT_CHARS wget]} {[LIT_CHARS -q]} {[LIT_CHARS -O]} {[LIT_CHARS regrind-builds.html]} {[DQ [VarSub LAYOUT_URL]]}) (= scope= flags=0 words=[] bindings=[('latest', {[ComSub (Pipeline (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS regrind-builds.html]} 0)]{[LIT_CHARS grep]} {[DQ [LIT_CHARS "
  • ]}) )]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Fetching "][VarSub LAYOUT_COUNT][LIT_CHARS " logs from bot"]]}) (= scope= flags=0 words=[] bindings=[('first', {[ComSub (Com {[LIT_CHARS expr]} {[VarSub latest]} {[LIT_CHARS -]} {[VarSub LAYOUT_COUNT]})]})]) (= scope= flags=0 words=[] bindings=[('i', {[VarSub latest]})]) (While (Com {[LIT_CHARS test]} {[VarSub i]} {[LIT_CHARS -ge]} {[VarSub first]}) (List (= scope= flags=0 words=[] bindings=[('url', {[DQ [VarSub LAYOUT_URL][LIT_CHARS /builds/][VarSub i][LIT_CHARS "/steps/valgrind%20test:%20layout/logs/stdio"]]})]) (Com {[LIT_CHARS wget]} {[LIT_CHARS -q]} {[LIT_CHARS -O]} {[LIT_CHARS regrind-] [VarSub i] [LIT_CHARS .tmp]} {[DQ [VarSub url]]}) (Com {[LIT_CHARS layout_list_failed_tests]} < (FilenameRedirectNode filename={[LIT_CHARS regrind-] [VarSub i] [LIT_CHARS .tmp]} 0), (FilenameRedirectNode filename={[LIT_CHARS regrind-] [VarSub i] [LIT_CHARS .tmp.failed]} "> 1), > ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -s]} {[LIT_CHARS regrind-] [VarSub i] [LIT_CHARS .tmp.failed]}) (List (Com {[LIT_CHARS echo]} {[DQ [VarSub url]]}) (Com {[LIT_CHARS cat]} {[LIT_CHARS regrind-] [VarSub i] [LIT_CHARS .tmp.failed]}) (Pipeline (Com {[LIT_CHARS cat]} {[LIT_CHARS regrind-] [VarSub i] [LIT_CHARS .tmp.failed]}) (Com {[LIT_CHARS sed]} {[DQ [LIT_CHARS "s,^,"][VarSub url][LIT_CHARS " ,"]]} < (FilenameRedirectNode filename={[LIT_CHARS regrind-failed-map.txt]} >"> 1), > ) ) (For test [{[ComSub (Com {[LIT_CHARS cat]} {[LIT_CHARS regrind-] [VarSub i] [LIT_CHARS .tmp.failed]})]}]) (AndOr OP_OR_IF (Com {[LIT_CHARS fgrep]} {[DQ [VarSub test]]} {[LIT_CHARS regrind-failed.txt]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS echo]} {[DQ [VarSub test]]} < (FilenameRedirectNode filename={[LIT_CHARS regrind-failed.txt]} >"> 1), > ) ) ) ) (ElseTrue) (Com {[LIT_CHARS rm]} {[LIT_CHARS regrind-] [VarSub i] [LIT_CHARS .tmp.failed]}) ) (Case to_match={[VarSub i]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_OTHER "["] [LIT_CHARS 036] [LIT_OTHER "]"]}]] (Com {[LIT_CHARS sleep]} {[LIT_CHARS 1]}) ) (= scope= flags=0 words=[] bindings=[('i', {[ComSub (Com {[LIT_CHARS expr]} {[VarSub i]} {[LIT_CHARS -]} {[LIT_CHARS 1]})]})]) ) ) (Com {[LIT_CHARS sh]} {[LIT_CHARS c.sh]} {[LIT_CHARS -l]} {[LIT_CHARS regrind-] [LIT_OTHER "*"] [LIT_CHARS .tmp]} < (FilenameRedirectNode filename={[LIT_CHARS regrind-errfiles.txt]} "> 1), > ) (Pipeline (Com {[LIT_CHARS cat]} {[ComSub (Com {[LIT_CHARS cat]} {[LIT_CHARS regrind-errfiles.txt]})]}) (Com {[LIT_CHARS layout_list_failed_tests]} < (FilenameRedirectNode filename={[LIT_CHARS regrind-failed.txt]} "> 1), > ) ) ) ) (FunctionDef repro_layout [] (List (Com {[LIT_CHARS echo]} {[LIT_CHARS Running]} {[ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS regrind-failed.txt]} 0)]{[LIT_CHARS wc]} {[LIT_CHARS -l]})]} {[LIT_CHARS layout]} {[LIT_CHARS tests.]}) (For test [{[ComSub (Com {[LIT_CHARS cat]} {[LIT_CHARS regrind-failed.txt]})]}]) (List (= scope= flags=0 words=[] bindings=[('logname', {[DQ [ComSub (Pipeline (Com {[LIT_CHARS echo]} {[VarSub test]}) (Com {[LIT_CHARS tr]} {[LIT_CHARS /]} {[LIT_CHARS _]}) )]]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "sh tools/valgrind/valgrind_webkit_tests.sh "][VarSub test]]}) (Com {[LIT_CHARS sh]} {[LIT_CHARS tools/valgrind/valgrind_webkit_tests.sh]} {[DQ [VarSub test]]} < (FilenameRedirectNode filename={[LIT_CHARS regrind-] [DQ [VarSub logname]] [LIT_CHARS .log]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Pipeline (Com {[LIT_CHARS egrep]} {[DQ [VarSub PATTERN]]} < (FilenameRedirectNode filename={[LIT_CHARS regrind-] [DQ [VarSub logname]] [LIT_CHARS .log]} 0), > ) (Com {[LIT_CHARS sed]} {[SQ ]}) ) ) ) ) ) (= scope= flags=0 words=[] bindings=[('do_repro', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('do_scrape', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('do_cleanup', {[LIT_CHARS 1]})]) (While (Com {[LIT_CHARS test]} {[LIT_OTHER "!"]} {[LIT_CHARS -z]} {[DQ [VarSub 1]]}) (List (Case to_match={[DQ [VarSub 1]]}, pat_word_list=[[{[LIT_CHARS --noscrape]}], [{[LIT_CHARS --norepro]}], [{[LIT_CHARS --keep]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('do_scrape', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('do_repro', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('do_cleanup', {[LIT_CHARS 0]})]) (Com {[LIT_CHARS usage]}) ) (Com {[LIT_CHARS shift]}) ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "WARNING: This script is not supported and may be out of date"]]}) (If (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[VarSub do_scrape]} {[LIT_OTHER "="]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS test]} {[VarSub do_repro]} {[LIT_OTHER "="]} {[LIT_CHARS 0]}) ) (Com {[LIT_CHARS usage]}) ) (If (Com {[LIT_CHARS test]} {[VarSub do_scrape]} {[LIT_OTHER "="]} {[LIT_CHARS 1]}) (Com {[LIT_CHARS scrape_layout]}) ) (If (Com {[LIT_CHARS test]} {[VarSub do_repro]} {[LIT_OTHER "="]} {[LIT_CHARS 1]}) (Com {[LIT_CHARS repro_layout]}) ) (If (Com {[LIT_CHARS test]} {[VarSub do_cleanup]} {[LIT_OTHER "="]} {[LIT_CHARS 1]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_CHARS regrind-errfiles.txt]} {[LIT_CHARS regrind-] [LIT_OTHER "*"] [LIT_CHARS .tmp] [LIT_OTHER "*"]}) ) )