From 510332b7b891a0192fc93b1bbd04d793548bc82e Mon Sep 17 00:00:00 2001 From: mjs Date: Wed, 24 Oct 2007 00:40:35 +0000 Subject: [PATCH] SunSpider: Reviewed by Darin. - Don't hardcode my path to testkjs * sunspider-compare-results: WebKitTools: Reviewed by Darin. - add wrapper that finds the right copy of testkjs * Scripts/sunspider-compare-results: Added. git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26935 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- SunSpider/ChangeLog | 8 ++ SunSpider/sunspider-compare-results | 19 ++-- WebKitTools/ChangeLog | 8 ++ WebKitTools/Scripts/sunspider-compare-results | 98 +++++++++++++++++++ 4 files changed, 127 insertions(+), 6 deletions(-) create mode 100755 WebKitTools/Scripts/sunspider-compare-results diff --git a/SunSpider/ChangeLog b/SunSpider/ChangeLog index 5f698d91ef0a..4a2baf7483a1 100644 --- a/SunSpider/ChangeLog +++ b/SunSpider/ChangeLog @@ -1,3 +1,11 @@ +2007-10-23 Maciej Stachowiak + + Reviewed by Darin. + + - Don't hardcode my path to testkjs + + * sunspider-compare-results: + 2007-10-23 Maciej Stachowiak Reviewed by Darin. diff --git a/SunSpider/sunspider-compare-results b/SunSpider/sunspider-compare-results index c6fa337c93a4..218c3940b274 100755 --- a/SunSpider/sunspider-compare-results +++ b/SunSpider/sunspider-compare-results @@ -24,16 +24,25 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. use strict; +use Getopt::Long; use File::Basename; +my $showHelp = 0; +my $jsShellPath; + my $programName = basename($0); my $usage = < \$jsShellPath, + 'help' => \$showHelp); + +if (scalar @ARGV < 2 || !$jsShellPath || $showHelp) { + print STDERR $usage; + exit 1; } sub readResultsFile($) @@ -80,8 +89,6 @@ $output .= "var output2 = " . readResultsFile($ARGV[1]) . ";\n"; dumpToFile($output, "tmp/sunspider-comparison-data.js"); -my $jsShellPath = "/Users/mjs/Work/symroots/Release/testkjs"; - system("$jsShellPath", "-f", "tmp/sunspider-test-prefix.js", "-f", "tmp/sunspider-comparison-data.js", "-f", "resources/sunspider-compare-results.js"); diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog index 1f531eb035b4..cf62d3211048 100644 --- a/WebKitTools/ChangeLog +++ b/WebKitTools/ChangeLog @@ -1,3 +1,11 @@ +2007-10-23 Maciej Stachowiak + + Reviewed by Darin. + + - add wrapper that finds the right copy of testkjs + + * Scripts/sunspider-compare-results: Added. + 2007-10-23 Kevin McCullough Reviewed by Sam. diff --git a/WebKitTools/Scripts/sunspider-compare-results b/WebKitTools/Scripts/sunspider-compare-results new file mode 100755 index 000000000000..ee8410168cd4 --- /dev/null +++ b/WebKitTools/Scripts/sunspider-compare-results @@ -0,0 +1,98 @@ +#!/usr/bin/perl -w + +# Copyright (C) 2007 Apple Inc. All rights reserved. +# Copyright (C) 2007 Eric Seidel +# +# 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. +# +# THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``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 COMPUTER, INC. OR +# 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. + +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 $root; +my $showHelp = 0; + +my $programName = basename($0); +my $usage = < sub { my ($argName, $value); setConfigurationProductDir(Cwd::abs_path($value)); }, + 'help' => \$showHelp); + +if ($showHelp || scalar @ARGV < 2) { + print STDERR $usage; + exit 1; +} + +sub buildTestKJS +{ + if (!defined($root)){ + chdirWebKit(); + my $buildResult = system "WebKitTools/Scripts/build-testkjs", "--" . $configuration; + if ($buildResult) { + print STDERR "Compiling testkjs failed!\n"; + exit WEXITSTATUS($buildResult); + } + } +} + +sub setupEnviromentForExecution($) +{ + my ($productDir) = @_; + print "Starting sunspider-compare-results with DYLD_FRAMEWORK_PATH set to point to built JavaScriptCore in $productDir.\n"; + $ENV{DYLD_FRAMEWORK_PATH} = $productDir; + # FIXME: Other platforms may wish to augment this method to use LD_LIBRARY_PATH, etc. +} + +sub testKJSPath($) +{ + my ($productDir) = @_; + my $testkjsName = "testkjs"; + $testkjsName .= "_debug" if (isCygwin() && ($configuration eq "Debug")); + return "$productDir/$testkjsName"; +} + +buildTestKJS(); + +chdirWebKit(); +chdir("SunSpider"); + +my $productDir = productDir(); +# FIXME: This hack should be pushed down into productDir() +$productDir .= "/JavaScriptCore" if (isQt() or isGtk()); + +setupEnviromentForExecution($productDir); +my @args = ("--shell", testKJSPath($productDir)); +# This code could be removed if we chose to pass extra args to sunspider instead of Xcode + +exec "./sunspider-compare-results", @args, @ARGV; -- 2.36.0