(List (FunctionDef replace_expected_with_actual [] (List (= scope= flags=0 words=[] bindings=[('EXPECTED_FILES', {[ComSub (Pipeline (Com {[LIT_CHARS find]} {[LIT_CHARS outputs/] [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]} {[LIT_CHARS outputs/] [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 (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[LIT_CHARS outputs/] [LIT_OTHER "*"] [LIT_CHARS /output-actual]}) (= scope= flags=0 words=[] bindings=[('FILES', {[ComSub (Pipeline (Com {[LIT_CHARS svn]} {[LIT_CHARS stat]} {[LIT_CHARS outputs/] [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]} {[LIT_CHARS outputs/] [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 (= scope= flags=0 words=[] bindings=[('FILES', {[ComSub (Pipeline (Com {[LIT_CHARS svn]} {[LIT_CHARS stat]} {[LIT_CHARS outputs/] [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]} {[LIT_CHARS outputs/] [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 ?]})]) (Com {[LIT_CHARS echo]}) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub SELFTEST_RESULT]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [LIT_CHARS 0]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS replace_expected_with_actual]}) (Com {[LIT_CHARS svn_add_new_files]}) (Com {[LIT_CHARS svn_delete_old_files]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Rebaseline completed. If you run run.sh now, it should succeed."]]}) ) (ElseTrue) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Self-tests succeeded, nothing to rebaseline."]]}) ) (Com {[LIT_CHARS exit]} {[VarSub SELFTEST_RESULT]}) )