summaryrefslogtreecommitdiff
path: root/Tools/Scripts/run-javascriptcore-tests
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/Scripts/run-javascriptcore-tests')
-rwxr-xr-xTools/Scripts/run-javascriptcore-tests214
1 files changed, 0 insertions, 214 deletions
diff --git a/Tools/Scripts/run-javascriptcore-tests b/Tools/Scripts/run-javascriptcore-tests
deleted file mode 100755
index 8b79f2514..000000000
--- a/Tools/Scripts/run-javascriptcore-tests
+++ /dev/null
@@ -1,214 +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.6.js",
- "ecma_3/Date/15.9.5.7.js",
- # These three fail on Linux in certain time zones, at certain times
- # of the year (!): https://bugs.webkit.org/show_bug.cgi?id=71371
- "ecma/Date/15.9.5.14.js",
- "ecma/Date/15.9.5.31-1.js",
- "ecma/Date/15.9.5.34-1.js",
-);
-
-my $jsDriverArgs = "-L " . join(" ", @testsToSkip);
-# These variables are intentionally left undefined.
-my $root;
-my $showHelp;
-
-my $buildJSC = 1;
-
-my $programName = basename($0);
-my $buildJSCDefault = $buildJSC ? "will check" : "will not check";
-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
- --[no-]build Check (or don't check) to see if the jsc build is up-to-date (default: $buildJSCDefault)
-EOF
-
-GetOptions(
- 'j|jsDriver-args=s' => \$jsDriverArgs,
- 'root=s' => \$root,
- 'build!' => \$buildJSC,
- '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) && $buildJSC) {
- chdirWebKit();
-
- push(@buildArgs, argumentsForConfiguration());
-
- print "Running: build-jsc " . join(" ", @buildArgs) . "\n";
- my $buildResult = system "perl", "Tools/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 "Failed to switch directory to '$productDir'\n";
- 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("Source/JavaScriptCore");
-chdir "tests/mozilla" or die "Failed to switch directory to 'tests/mozilla'\n";
-printf "Running: jsDriver.pl -e squirrelfish -s %s -f actual.html %s\n", jscPath($productDir), join(" ", @jsArgs);
-my @jsDriverCmd = ("perl", "jsDriver.pl", "-e", "squirrelfish", "-s", jscPath($productDir), "-f", "actual.html", @jsArgs);
-if (isGtk() || isEfl()) {
- my @jhbuildPrefix = sourceDir() . "/Tools/jhbuild/jhbuild-wrapper";
-
- if (isEfl()) {
- push(@jhbuildPrefix, '--efl');
- } elsif (isGtk()) {
- push(@jhbuildPrefix, '--gtk');
- }
- push(@jhbuildPrefix, 'run');
-
- unshift(@jsDriverCmd, @jhbuildPrefix);
-}
-my $result = system(@jsDriverCmd);
-exit exitStatus($result) if $result;
-
-my %failures;
-
-open EXPECTED, "expected.html" or die "Failed to open 'expected.html'\n";
-while (<EXPECTED>) {
- last if /failures reported\.$/;
-}
-while (<EXPECTED>) {
- chomp;
- $failures{$_} = 1;
-}
-close EXPECTED;
-
-my %newFailures;
-
-open ACTUAL, "actual.html" or die "Failed to open 'actual.html'";
-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;