~ubuntu-branches/ubuntu/raring/qtwebkit-source/raring-proposed

« back to all changes in this revision

Viewing changes to Tools/Scripts/run-pageloadtest

  • Committer: Package Import Robot
  • Author(s): Jonathan Riddell
  • Date: 2013-02-18 14:24:18 UTC
  • Revision ID: package-import@ubuntu.com-20130218142418-eon0jmjg3nj438uy
Tags: upstream-2.3
ImportĀ upstreamĀ versionĀ 2.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/perl
 
2
 
 
3
# Copyright (C) 2006 Eric Seidel (eric@webkit.org)
 
4
#
 
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
#
 
9
# 1.  Redistributions of source code must retain the above copyright
 
10
#     notice, this list of conditions and the following disclaimer. 
 
11
# 2.  Redistributions in binary form must reproduce the above copyright
 
12
#     notice, this list of conditions and the following disclaimer in the
 
13
#     documentation and/or other materials provided with the distribution. 
 
14
# 3.  Neither the name of Apple Computer, Inc. ("Apple") nor the names of
 
15
#     its contributors may be used to endorse or promote products derived
 
16
#     from this software without specific prior written permission. 
 
17
#
 
18
# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
 
19
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 
20
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 
21
# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
 
22
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 
23
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 
24
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 
25
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 
26
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 
27
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
28
 
 
29
# Script to run the WebKit Open Source Project page load tests (PLTs).
 
30
 
 
31
# Run all the tests passed in on the command line.
 
32
 
 
33
use strict;
 
34
use warnings;
 
35
 
 
36
use File::Basename;
 
37
use File::Spec;
 
38
use FindBin;
 
39
use Getopt::Long;
 
40
 
 
41
use lib $FindBin::Bin;
 
42
use webkitdirs;
 
43
 
 
44
# Argument handling
 
45
my $testName = 'svg';
 
46
my $showHelp = 0;
 
47
 
 
48
my $usage =
 
49
    "Usage: " . basename($0) . "[options] testName\n" .
 
50
    "  --help                  Show this help message\n";
 
51
 
 
52
my $getOptionsResult = GetOptions('help' => \$showHelp);
 
53
 
 
54
if (!$getOptionsResult || $showHelp) {
 
55
    print STDERR $usage;
 
56
    exit 1;
 
57
}
 
58
 
 
59
$testName = shift @ARGV if (@ARGV);
 
60
 
 
61
my $safariExecutablePath = safariPath();
 
62
my $safariResourcePath = File::Spec->catdir(dirname(dirname($safariExecutablePath)), "Resources");
 
63
 
 
64
# Check to see that all the frameworks are built.
 
65
checkFrameworks();
 
66
 
 
67
chdirWebKit();
 
68
 
 
69
if ($testName eq 'svg') {
 
70
    my $suiteFile = "PerformanceTests/PageLoad/$testName/$testName.pltsuite";
 
71
    my $webkitPath = sourceDir();
 
72
    `cat "$suiteFile" | perl -pe 's|WEBKIT_PATH|$webkitPath|' > $safariResourcePath/$testName.pltsuite`
 
73
}
 
74
 
 
75
die "Please copy ${testName}.pltsuite to ${safariResourcePath}/${testName}.pltsuite"
 
76
    if (! -f "${safariResourcePath}/${testName}.pltsuite");
 
77
 
 
78
setConfiguration();
 
79
 
 
80
my $productDir = productDir();
 
81
 
 
82
# Set up DYLD_FRAMEWORK_PATH to point to the product directory.
 
83
print "Starting Safari with DYLD_FRAMEWORK_PATH set to point to built WebKit in $productDir.\n";
 
84
$ENV{DYLD_FRAMEWORK_PATH} = $productDir;
 
85
$ENV{WEBKIT_UNSET_DYLD_FRAMEWORK_PATH} = "YES";
 
86
 
 
87
my @testCommands = ('activate');
 
88
# Autovicki would clear history, we skip that here as this is likely an active user account
 
89
@testCommands = (@testCommands, ("run $testName", 'emptyCache', 'wait 30'));
 
90
@testCommands = (@testCommands, (("run $testName", 'wait 10') x 3));
 
91
my $testCommandsString = join('; ', @testCommands);
 
92
exec $safariExecutablePath, '--test-commands', $testCommandsString or die;