(List (FunctionDef replace_expected_with_actual [] (List (If (Com {[LIT_OTHER "["]} {[VarSub #]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS 1]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "replace_expected_with_actual requires exactly 1 parameter, got "][VarSub #]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('EXPECTED_FILES', {[ComSub (Pipeline (Com {[LIT_CHARS find]} {[VarSub 1] [LIT_CHARS /] [LIT_OTHER "*"] [LIT_CHARS /output-expected]} {[LIT_CHARS -type]} {[LIT_CHARS f]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS -v]} {[LIT_CHARS /] [\ LIT_ESCAPED_CHAR "\\."] [LIT_CHARS svn/]}) )]})]) (For EXPECTED_FILE [{[VarSub EXPECTED_FILES]}]) (Com {[LIT_CHARS rm]} {[VarSub EXPECTED_FILE]}) ) (= scope= flags=0 words=[] bindings=[('ACTUAL_FILES', {[ComSub (Pipeline (Com {[LIT_CHARS find]} {[VarSub 1] [LIT_CHARS /] [LIT_OTHER "*"] [LIT_CHARS /output-actual]} {[LIT_CHARS -type]} {[LIT_CHARS f]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS -v]} {[LIT_CHARS /] [\ LIT_ESCAPED_CHAR "\\."] [LIT_CHARS svn/]}) )]})]) (For ACTUAL_FILE [{[VarSub ACTUAL_FILES]}]) (List (= scope= flags=0 words=[] bindings=[('EXPECTED_FILE', {[VarSub ACTUAL_FILE transform_ops=[PatSub {[LIT_CHARS actual]} {[LIT_CHARS expected]} do_all]]})]) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[ComSub (Com {[LIT_CHARS dirname]} {[VarSub EXPECTED_FILE]})]}) (Com {[LIT_CHARS cp]} {[VarSub ACTUAL_FILE]} {[VarSub EXPECTED_FILE]}) ) ) ) ) (FunctionDef svn_add_new_files [] (List (If (Com {[LIT_OTHER "["]} {[VarSub #]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS 1]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "svn_add_new_files requires exactly 1 parameter, got "][VarSub #]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub 1] [LIT_CHARS /] [LIT_OTHER "*"] [LIT_CHARS /output-actual]} {[VarSub 1] [LIT_CHARS /] [LIT_OTHER "*"] [LIT_CHARS /raw-bench-data]}) (= scope= flags=0 words=[] bindings=[('FILES', {[ComSub (Pipeline (Com {[LIT_CHARS svn]} {[LIT_CHARS stat]} {[VarSub 1] [LIT_CHARS /] [LIT_OTHER "*"]}) (Com {[LIT_CHARS grep]} {[LIT_OTHER "^"] [\ LIT_ESCAPED_CHAR "\\?"]}) (Com {[LIT_CHARS awk]} {[SQ ]}) )]})]) (For FILE [{[VarSub FILES]}]) (Com {[LIT_CHARS svn]} {[LIT_CHARS add]} {[VarSub FILE]}) ) (= scope= flags=0 words=[] bindings=[('FILES', {[ComSub (Pipeline (Com {[LIT_CHARS svn]} {[LIT_CHARS stat]} {[VarSub 1] [LIT_CHARS /] [LIT_OTHER "*"] [LIT_CHARS /output-expected]}) (Com {[LIT_CHARS grep]} {[LIT_OTHER "^"] [\ LIT_ESCAPED_CHAR "\\?"]}) (Com {[LIT_CHARS awk]} {[SQ ]}) )]})]) (For FILE [{[VarSub FILES]}]) (Com {[LIT_CHARS svn]} {[LIT_CHARS add]} {[VarSub FILE]}) ) ) ) (FunctionDef svn_delete_old_files [] (List (If (Com {[LIT_OTHER "["]} {[VarSub #]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS 1]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "svn_delete_old_files requires exactly 1 parameter, got "][VarSub #]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('FILES', {[ComSub (Pipeline (Com {[LIT_CHARS svn]} {[LIT_CHARS stat]} {[VarSub 1] [LIT_CHARS /] [LIT_OTHER "*"] [LIT_CHARS /output-expected]}) (Com {[LIT_CHARS grep]} {[LIT_OTHER "^"] [\ LIT_ESCAPED_CHAR "\\!"]}) (Com {[LIT_CHARS awk]} {[SQ ]}) )]})]) (For FILE [{[VarSub FILES]}]) (Com {[LIT_CHARS svn]} {[LIT_CHARS rm]} {[VarSub FILE]}) ) (= scope= flags=0 words=[] bindings=[('FILES', {[ComSub (Pipeline (Com {[LIT_CHARS svn]} {[LIT_CHARS stat]} {[VarSub 1] [LIT_CHARS /] [LIT_OTHER "*"]}) (Com {[LIT_CHARS grep]} {[LIT_OTHER "^"] [\ LIT_ESCAPED_CHAR "\\!"]}) (Com {[LIT_CHARS awk]} {[SQ ]}) )]})]) (For FILE [{[VarSub FILES]}]) (Com {[LIT_CHARS svn]} {[LIT_CHARS rm]} {[VarSub FILE]}) ) ) ) (Com {[LIT_CHARS cd]} {[ComSub (Com {[LIT_CHARS dirname]} {[VarSub 0]})]}) (Com {[LIT_CHARS ./run.sh]}) (= scope= flags=0 words=[] bindings=[('SELFTEST_RESULT', {[VarSub ?]})]) (= scope= flags=0 words=[] bindings=[('SUBDIRS', {[DQ [LIT_CHARS "skdiff benchgraphs rebaseline/output jsondiff/output"]]})]) (Com {[LIT_CHARS echo]}) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub SELFTEST_RESULT]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [LIT_CHARS 0]]} {[LIT_OTHER "]"]}) (List (For SUBDIR [{[VarSub SUBDIRS]}]) (Com {[LIT_CHARS replace_expected_with_actual]} {[VarSub SUBDIR]}) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Self-tests still failing, you should probably run this again..."]]}) ) (ElseTrue) (List (For SUBDIR [{[VarSub SUBDIRS]}]) (List (Com {[LIT_CHARS svn_add_new_files]} {[VarSub SUBDIR]}) (Com {[LIT_CHARS svn_delete_old_files]} {[VarSub SUBDIR]}) ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Self-tests succeeded this time, you should be done!"]]}) ) ) (Com {[LIT_CHARS exit]} {[VarSub SELFTEST_RESULT]}) )