2009-06-25 Dimitri Glazkov <dglazkov@chromium.org>
[webbrowser.git] / SunSpider / make-hosted
blob303de561684c95996656c15056e27a751347b919
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 my @tests = ();
33 my @categories = ();
34 my %uniqueCategories = ();
36 open TESTLIST, "<./tests/LIST";
37 while (<TESTLIST>) {
38 chomp;
39 next unless $_;
40 push @tests, $_;
41 my $category = $_;
42 $category =~ s/-.*//;
43 if (!$uniqueCategories{$category}) {
44 push @categories, $category;
45 $uniqueCategories{$category} = $category;
48 close TESTLIST;
50 for my $test (@tests) {
51 my $name = "${test}";
53 open SCRIPT, "<tests/${test}.js";
54 my $script = do { local $/; <SCRIPT> };
55 close SCRIPT;
57 my $output = $template;
58 $output =~ s/\@NAME\@/${name}/g;
59 $output =~ s/\@SCRIPT\@/${script}/g;
61 open OUTPUT, ">hosted/${test}.html";
62 print OUTPUT $output;
63 close OUTPUT;
67 my $prefix = "var tests = [ " . join(", ", map { '"' . $_ . '"' } @tests) . " ];\n";
68 $prefix .= "var categories = [ " . join(", ", map { '"' . $_ . '"' } @categories) . " ];\n";
70 open PREFIX, ">hosted/sunspider-test-prefix.js";
71 print PREFIX $prefix;
72 close PREFIX;
74 system("cp resources/sunspider-analyze-results.js hosted");
75 system("cp resources/sunspider-compare-results.js hosted");
77 print "hosted/sunspider.html is ready to use.\n";