diff options
Diffstat (limited to 'SunSpider/sunspider-compare-results')
-rwxr-xr-x | SunSpider/sunspider-compare-results | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/SunSpider/sunspider-compare-results b/SunSpider/sunspider-compare-results deleted file mode 100755 index f23fb24..0000000 --- a/SunSpider/sunspider-compare-results +++ /dev/null @@ -1,142 +0,0 @@ -#!/usr/bin/perl -w - -# Copyright (C) 2007 Apple Inc. All rights reserved. -# -# 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 Getopt::Long; -use File::Basename; - -my $showHelp = 0; -my $jsShellPath; - -my $programName = basename($0); -my $usage = <<EOF; -Usage: $programName --shell=[path] [options] FILE FILE - --help Show this help message - --shell Path to javascript shell -EOF - -GetOptions('shell=s' => \$jsShellPath, - 'help' => \$showHelp); - -if ((scalar @ARGV != 0 && scalar @ARGV != 2) || !$jsShellPath || $showHelp) { - print STDERR $usage; - exit 1; -} - -sub readResultsFile($) -{ - my ($filename) = @_; - open FILE, "<", $filename or die; - my $foundStart = 0; - my $foundOutput = 0; - my $foundEnd = 0; - my $result = ""; - while (<FILE>) { - if (!$foundStart) { - if (/^\[\{$/) { - $foundStart = 1; - $result .= $_; - } elsif (/^var \w+ = \[$/) { - $foundOutput = 1; - } elsif ($foundOutput && /^\{$/) { - $foundOutput = 0; - $foundStart = 1; - $result = "[{\n"; - } - } else { - if (/\];?$/) { - $foundEnd = 1; - chomp; - s/;$//; - $result .= $_; - last; - } else { - $result .= $_; - } - } - } - close FILE; - - die "Cound not find data in ${filename} - needs to start with [{" unless $foundStart; - die "Cound not find data in ${filename} - needs to end with }]" unless $foundEnd; - - return $result; -} - -sub dumpToFile($$) -{ - my ($contents, $path) = @_; - open FILE, ">", $path or die; - print FILE $contents; - close FILE; -} - -sub readFile($) -{ - my ($path) = @_; - open FILE, "<", $path or die; - my $result = <FILE>; - close FILE; - return $result; -} - -sub newestFile($$) -{ - my ($dir, $pattern) = @_; - - my $newestAge; - my $newestFile = ""; - opendir DIR, $dir or die; - for my $file (readdir DIR) { - if ($file =~ $pattern) { - my $age = -M "$dir/$file"; - if (!defined $newestAge || $age < $newestAge) { - $newestFile = $file; - $newestAge = $age; - } - } - } - closedir DIR; - - return "$dir/$newestFile"; -} - -my $file1; -my $file2; - -if (scalar @ARGV == 2) { - $file1 = $ARGV[0]; - $file2 = $ARGV[1]; -} else { - $file1 = readFile("tmp/baseline-filename.txt"); - $file2 = newestFile("tmp", qr/sunspider-results-.+\.js$/); -} - -my $output = "var output1 = " . readResultsFile($file1) . ";\n"; -$output .= "var output2 = " . readResultsFile($file2) . ";\n"; - -dumpToFile($output, "tmp/sunspider-comparison-data.js"); - -system($jsShellPath, "-f", "tmp/sunspider-test-prefix.js", "-f", "tmp/sunspider-comparison-data.js", "-f", "resources/sunspider-compare-results.js", "-f", "resources/sunspider-standalone-compare.js"); |