diff options
author | Cary Clark <> | 2009-03-24 21:14:25 -0700 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-24 21:14:25 -0700 |
commit | 5ec837f49e9c57d4394ce64b853fd86269c8b340 (patch) | |
tree | de89879b3a2cb0d713abc3c1fac766cb17706245 /WebKitTools/Scripts/run-iexploder-tests | |
parent | 02ba42cb469e2f0e26216fe434dbb912cf48d248 (diff) | |
download | external_webkit-5ec837f49e9c57d4394ce64b853fd86269c8b340.zip external_webkit-5ec837f49e9c57d4394ce64b853fd86269c8b340.tar.gz external_webkit-5ec837f49e9c57d4394ce64b853fd86269c8b340.tar.bz2 |
Automated import from //branches/master/...@141953,141953
Diffstat (limited to 'WebKitTools/Scripts/run-iexploder-tests')
-rwxr-xr-x | WebKitTools/Scripts/run-iexploder-tests | 172 |
1 files changed, 0 insertions, 172 deletions
diff --git a/WebKitTools/Scripts/run-iexploder-tests b/WebKitTools/Scripts/run-iexploder-tests deleted file mode 100755 index f5e8a6c..0000000 --- a/WebKitTools/Scripts/run-iexploder-tests +++ /dev/null @@ -1,172 +0,0 @@ -#!/usr/bin/perl - -# Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com) -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of -# its contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY -# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# A script to semi-automatically run iExploder tests. - -use strict; -use warnings; - -use Cwd; -use FindBin; -use Getopt::Long; -use IPC::Open2; - -use lib $FindBin::Bin; -use webkitdirs; - -sub openHTTPDIfNeeded(); -sub closeHTTPD(); -sub runSafariWithIExploder(); - -# Argument handling -my $guardMalloc = ''; -my $httpdPort = 8000; -my $downloadTest; - -GetOptions( - 'guard-malloc|g' => \$guardMalloc, - 'get=s' => \$downloadTest, - 'port=i' => \$httpdPort -); - - -setConfiguration(); -my $productDir = productDir(); - -chdirWebKit(); - -checkFrameworks(); - -my $httpdOpen = 0; -openHTTPDIfNeeded(); - -if ($downloadTest) { - system "/usr/bin/curl -o ~/Desktop/iexploder$downloadTest.html \"http://127.0.0.1:$httpdPort/iexploder.cgi?lookup=1&test=$downloadTest\""; - print "Saved the test as iexploder$downloadTest.html on the desktop\n"; -} else { - runSafariWithIExploder(); - print "Last generated tests:\n"; - system "grep 'iexploder.cgi' /tmp/WebKit/access_log.txt | tail -n -5 | awk -F'[ =&\\?]' '{if (\$8 == \"lookup\") print \$11; else print \$9}'"; -} - -closeHTTPD(); - - -sub runSafariWithIExploder() -{ - my $redirectTo; - if (@ARGV) { - $redirectTo = "http://127.0.0.1:$httpdPort/iexploder.cgi?lookup=1&test=$ARGV[0]"; - } else { - $redirectTo = "http://127.0.0.1:$httpdPort/index.html"; - } - - open REDIRECT_HTML, ">", "/tmp/WebKit/redirect.html" or die; - print REDIRECT_HTML "<html>\n"; - print REDIRECT_HTML " <head>\n"; - print REDIRECT_HTML " <meta http-equiv=\"refresh\" content=\"1;URL=$redirectTo\" />\n"; - print REDIRECT_HTML " <script type=\"text/javascript\">\n"; - print REDIRECT_HTML " document.location = \"$redirectTo\";\n"; - print REDIRECT_HTML " </script>\n"; - print REDIRECT_HTML " </head>\n"; - print REDIRECT_HTML " <body>\n"; - print REDIRECT_HTML " </body>\n"; - print REDIRECT_HTML "</html>\n"; - close REDIRECT_HTML; - - local %ENV; - $ENV{DYLD_INSERT_LIBRARIES} = "/usr/lib/libgmalloc.dylib" if $guardMalloc; - system "WebKitTools/Scripts/run-safari", "-NSOpen", "/tmp/WebKit/redirect.html"; -} - -sub openHTTPDIfNeeded() -{ - return if $httpdOpen; - - mkdir "/tmp/WebKit"; - - if (-f "/tmp/WebKit/httpd.pid") { - my $oldPid = `cat /tmp/WebKit/httpd.pid`; - chomp $oldPid; - if (0 != kill 0, $oldPid) { - print "\nhttpd is already running: pid $oldPid, killing...\n"; - kill 15, $oldPid; - - my $retryCount = 20; - while ((0 != kill 0, $oldPid) && $retryCount) { - sleep 1; - --$retryCount; - } - - die "Timed out waiting for httpd to quit" unless $retryCount; - } - } - - my $testDirectory = getcwd() . "/LayoutTests"; - my $iExploderDirectory = getcwd() . "/WebKitTools/iExploder"; - my $httpdPath = "/usr/sbin/httpd"; - my $httpdConfig = "$testDirectory/http/conf/httpd.conf"; - $httpdConfig = "$testDirectory/http/conf/apache2-httpd.conf" if `$httpdPath -v` =~ m|Apache/2|; - my $documentRoot = "$iExploderDirectory/htdocs"; - my $typesConfig = "$testDirectory/http/conf/mime.types"; - my $sslCertificate = "$testDirectory/http/conf/webkit-httpd.pem"; - my $listen = "127.0.0.1:$httpdPort"; - - open2(\*HTTPDIN, \*HTTPDOUT, $httpdPath, - "-f", "$httpdConfig", - "-C", "DocumentRoot \"$documentRoot\"", - "-C", "Listen $listen", - "-c", "TypesConfig \"$typesConfig\"", - "-c", "CustomLog \"/tmp/WebKit/access_log.txt\" common", - "-c", "ErrorLog \"/tmp/WebKit/error_log.txt\"", - "-c", "SSLCertificateFile \"$sslCertificate\"", - # Apache wouldn't run CGIs with permissions==700 otherwise - "-c", "User \"#$<\""); - - my $retryCount = 20; - while (system("/usr/bin/curl -q --silent --stderr - --output /dev/null $listen") && $retryCount) { - sleep 1; - --$retryCount; - } - - die "Timed out waiting for httpd to start" unless $retryCount; - - $httpdOpen = 1; -} - -sub closeHTTPD() -{ - return if !$httpdOpen; - - close HTTPDIN; - close HTTPDOUT; - - kill 15, `cat /tmp/WebKit/httpd.pid` if -f "/tmp/WebKit/httpd.pid"; - - $httpdOpen = 0; -} |