diff options
Diffstat (limited to 'WebKitTools/Scripts/run-javascriptcore-tests')
-rwxr-xr-x | WebKitTools/Scripts/run-javascriptcore-tests | 191 |
1 files changed, 0 insertions, 191 deletions
diff --git a/WebKitTools/Scripts/run-javascriptcore-tests b/WebKitTools/Scripts/run-javascriptcore-tests deleted file mode 100755 index cbf8cbc..0000000 --- a/WebKitTools/Scripts/run-javascriptcore-tests +++ /dev/null @@ -1,191 +0,0 @@ -#!/usr/bin/perl -w - -# Copyright (C) 2005 Apple Computer, Inc. All rights reserved. -# Copyright (C) 2007 Eric Seidel <eric@webkit.org> -# -# 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. - -# Script to run the WebKit Open Source Project JavaScriptCore tests (adapted from Mozilla). - -use strict; -use FindBin; -use Getopt::Long qw(:config pass_through); -use lib $FindBin::Bin; -use webkitdirs; -use POSIX; - -# determine configuration -setConfiguration(); -my $configuration = configuration(); - -my @testsToSkip = ( - # Various ecma/Date tests sometimes fail on Windows (but not Mac) https://bugs.webkit.org/show_bug.cgi?id=25160 - "ecma/Date/15.9.2.1.js", - "ecma/Date/15.9.2.2-1.js", - "ecma/Date/15.9.2.2-2.js", - "ecma/Date/15.9.2.2-3.js", - "ecma/Date/15.9.2.2-4.js", - "ecma/Date/15.9.2.2-5.js", - "ecma/Date/15.9.2.2-6.js", - # ecma_3/Date/15.9.5.7.js fails on Mac (but not Windows) https://bugs.webkit.org/show_bug.cgi?id=25161 - "ecma_3/Date/15.9.5.7.js", -); - -my $jsDriverArgs = "-L " . join(" ", @testsToSkip); -my $root; # intentionally left undefined -my $skipBuild = 0; -my $showHelp = 0; - -my $programName = basename($0); -my $usage = <<EOF; -Usage: $programName [options] [options to pass to build system] - --help Show this help message - --jsDriver-args= A string of arguments to pass to jsDriver.pl - --root= Path to pre-built root containing jsc -EOF - -GetOptions( - 'j|jsDriver-args=s' => \$jsDriverArgs, - 'root=s' => \$root, - 'skip-build' => \$skipBuild, - 'help' => \$showHelp -); - -# Assume any arguments left over from GetOptions are assumed to be build arguments -my @buildArgs = @ARGV; - -# Arguments passed to --jsDriver-args (if any) are passed to jsDriver.pl -my @jsArgs = split(" ", $jsDriverArgs); - -if ($showHelp) { - print STDERR $usage; - exit 1; -} - -setConfigurationProductDir(Cwd::abs_path($root)) if (defined($root)); - -if (!defined($root) && !$skipBuild) { - chdirWebKit(); - - push(@buildArgs, argumentsForConfiguration()); - - print "Running: build-jsc " . join(" ", @buildArgs) . "\n"; - my $buildResult = system "perl", "WebKitTools/Scripts/build-jsc", @buildArgs; - if ($buildResult) { - print STDERR "Compiling jsc failed!\n"; - exit exitStatus($buildResult); - } -} - - -my $productDir = jscProductDir(); -$ENV{DYLD_FRAMEWORK_PATH} = $productDir; -setPathForRunningWebKitApp(\%ENV) if isCygwin(); - -sub testapiPath($) -{ - my ($productDir) = @_; - my $jscName = "testapi"; - $jscName .= "_debug" if configurationForVisualStudio() eq "Debug_All"; - return "$productDir/$jscName"; -} - -#run api tests -if (isAppleMacWebKit() || isAppleWinWebKit()) { - chdirWebKit(); - chdir($productDir) or die; - my $path = testapiPath($productDir); - # Use an "indirect object" so that system() won't get confused if the path - # contains spaces (see perldoc -f exec). - my $testapiResult = system { $path } $path; - exit exitStatus($testapiResult) if $testapiResult; -} - -# Find JavaScriptCore directory -chdirWebKit(); -chdir("JavaScriptCore"); -chdir "tests/mozilla" or die; -printf "Running: jsDriver.pl -e squirrelfish -s %s -f actual.html %s\n", jscPath($productDir), join(" ", @jsArgs); -my $result = system "perl", "jsDriver.pl", "-e", "squirrelfish", "-s", jscPath($productDir), "-f", "actual.html", @jsArgs; -exit exitStatus($result) if $result; - -my %failures; - -open EXPECTED, "expected.html" or die; -while (<EXPECTED>) { - last if /failures reported\.$/; -} -while (<EXPECTED>) { - chomp; - $failures{$_} = 1; -} -close EXPECTED; - -my %newFailures; - -open ACTUAL, "actual.html" or die; -while (<ACTUAL>) { - last if /failures reported\.$/; -} -while (<ACTUAL>) { - chomp; - if ($failures{$_}) { - delete $failures{$_}; - } else { - $newFailures{$_} = 1; - } -} -close ACTUAL; - -my $numNewFailures = keys %newFailures; -if ($numNewFailures) { - print "\n** Danger, Will Robinson! Danger! The following failures have been introduced:\n"; - foreach my $failure (sort keys %newFailures) { - print "\t$failure\n"; - } -} - -my $numOldFailures = keys %failures; -if ($numOldFailures) { - print "\nYou fixed the following test"; - print "s" if $numOldFailures != 1; - print ":\n"; - foreach my $failure (sort keys %failures) { - print "\t$failure\n"; - } -} - -print "\n"; - -print "$numNewFailures regression"; -print "s" if $numNewFailures != 1; -print " found.\n"; - -print "$numOldFailures test"; -print "s" if $numOldFailures != 1; -print " fixed.\n"; - -print "OK.\n" if $numNewFailures == 0; -exit(1) if $numNewFailures; |