morgand 01/08/17 13:11:17 Added: latka/doc processWatchdogJSP.pl Log: perl script for converting Watchdog gtests to a Latka suite Revision Changes Path 1.1 jakarta-commons-sandbox/latka/doc/processWatchdogJSP.pl Index: processWatchdogJSP.pl =================================================================== while (<STDIN>) { $doc .= $_; } print qq'<?xml version="1.0" standalone="no"?>\n'; print qq'<!DOCTYPE suite SYSTEM "../conf/suite.dtd">\n'; print qq'<suite default_host="localhost" default_port="8080" label="Watchdog JSP tests">'; # remove junk $doc =~ s#<property .*?/>##sg; $doc =~ s#<taskdef .*?/>##sg; $doc =~ s#</?target.*?>##sg; $doc =~ s#</?project.*?>##sg; # fix me - create sessions for each test category $doc =~ s#testName=\".*?\"##sg; # this is never relevant - latka has other ways to handle this $doc =~ s#debug="0" host="\${host}" port ?="\${port}"##sg; # make every gtest into a request $doc =~ s#<gtest request="GET (.*?) HTTP/1.0"(.*?)assertion="(.*?)"\s*?testStrategy="(.*?)"\s*?/>#<request path="$1" label="$3">\n<validate>\n<TEMPLABLE>$4</TEMPLABLE>\n$2</validate>\n</request>#sg; $doc =~ s#returncode="200"#<status_code/>#sgi; $doc =~ s#returncode="HTTP/1.0 200 OK"#<status_code/>#sgi; $doc =~ s#returncode="500"#<status_code code="500"/>#sgi; $doc =~ s#goldenFile="(.*?)"#<golden_file file_name="$1" ignore_whitespace="true"/>#sg; $doc =~ s#responseMatch="(.*?)"#<regexp pattern="$1"/>#sg; # apply the label to the first test $doc =~ s#<validate>\s*<TEMPLABLE>(.*?)</TEMPLABLE>\s*?(<[^>]*?)/>#<validate>\n$2 label="$1"/>#sg; print $doc; print "\n</suite>"; #now someone beautify me and we're done