Move parseFontFaceDescriptor to CSSPropertyParser.cpp
[chromium-blink-merge.git] / third_party / WebKit / PerformanceTests / SunSpider / make-hosted
blob1dd58ffc95e129db6c2737e9a81daa38af48ab40
1 #!/usr/bin/perl -w
3 # Copyright (C) 2007 Apple Inc. All rights reserved.
5 # Redistribution and use in source and binary forms, with or without
6 # modification, are permitted provided that the following conditions
7 # are met:
8 # 1. Redistributions of source code must retain the above copyright
9 # notice, this list of conditions and the following disclaimer.
10 # 2. Redistributions in binary form must reproduce the above copyright
11 # notice, this list of conditions and the following disclaimer in the
12 # documentation and/or other materials provided with the distribution.
14 # THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
15 # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
18 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 use strict;
28 open TEMPLATE, "<resources/TEMPLATE.html";
29 my $template = do { local $/; <TEMPLATE> };
30 close TEMPLATE;
32 open DRIVER_TEMPLATE, "<resources/driver-TEMPLATE.html";
33 my $driverTemplate = do { local $/; <DRIVER_TEMPLATE> };
34 close DRIVER_TEMPLATE;
36 open RESULTS_TEMPLATE, "<resources/results-TEMPLATE.html";
37 my $resultsTemplate = do { local $/; <RESULTS_TEMPLATE> };
38 close RESULTS_TEMPLATE;
40 my @suites = ("sunspider-0.9", "sunspider-0.9.1", "sunspider-1.0");
42 foreach my $suite (@suites) {
44 my @tests = ();
45 my @categories = ();
46 my %uniqueCategories = ();
48 mkdir "hosted/${suite}";
50 open TESTLIST, "<./tests/${suite}/LIST";
51 while (<TESTLIST>) {
52 chomp;
53 next unless $_;
54 push @tests, $_;
55 my $category = $_;
56 $category =~ s/-.*//;
57 if (!$uniqueCategories{$category}) {
58 push @categories, $category;
59 $uniqueCategories{$category} = $category;
62 close TESTLIST;
64 my @testContents = ();
65 for my $test (@tests) {
66 my $name = "${test}";
68 open SCRIPT, "<tests/${suite}/${test}.js";
69 my $script = do { local $/; <SCRIPT> };
70 close SCRIPT;
72 my $output = $template;
73 $output =~ s/\@NAME\@/${name}/g;
74 $output =~ s/\@SCRIPT\@/${script}/g;
75 $output =~ s/\\/\\\\/g;
76 $output =~ s/"/\\"/g;
77 $output =~ s/\n/\\n\\\n/g;
78 $output = $output;
79 push @testContents, $output;
82 my $output = $driverTemplate;
83 $output =~ s/\@SUITE\@/${suite}/g;
85 open OUTPUT, ">hosted/${suite}/driver.html";
86 print OUTPUT $output;
87 close OUTPUT;
89 $output = $resultsTemplate;
90 $output =~ s/\@SUITE\@/${suite}/g;
92 open OUTPUT, ">hosted/${suite}/results.html";
93 print OUTPUT $output;
94 close OUTPUT;
96 my $prefix = "var tests = [ " . join(", ", map { '"' . $_ . '"' } @tests) . " ];\n";
97 $prefix .= "var categories = [ " . join(", ", map { '"' . $_ . '"' } @categories) . " ];\n";
99 open PREFIX, ">hosted/${suite}/sunspider-test-prefix.js";
100 print PREFIX $prefix;
101 close PREFIX;
103 my $contents = "var testContents = [ " . join(", ", map { '"' . $_ . '"' } @testContents) . " ];\n";
105 open CONTENTS, ">hosted/${suite}/sunspider-test-contents.js";
106 print CONTENTS $contents;
107 close CONTENTS;
110 system("cp resources/sunspider-analyze-results.js hosted");
111 system("cp resources/sunspider-compare-results.js hosted");
112 print "hosted/sunspider.html is ready to use.\n";