| author | Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> | 
| Mon, 30 Mar 2009 12:54:55 +0300 | |
| changeset 0 | dd21522fd290 | 
| permissions | -rw-r--r-- | 
| 0 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1 | #!/usr/bin/perl | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 2 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 3 | # Copyright (C) 2005, 2006, 2007 Apple Inc. All rights reserved. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 4 | # Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 5 | # Copyright (C) 2007 Matt Lilek (pewtermoose@gmail.com) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 6 | # | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 7 | # Redistribution and use in source and binary forms, with or without | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 8 | # modification, are permitted provided that the following conditions | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 9 | # are met: | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 10 | # | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 11 | # 1. Redistributions of source code must retain the above copyright | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 12 | # notice, this list of conditions and the following disclaimer. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 13 | # 2. Redistributions in binary form must reproduce the above copyright | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 14 | # notice, this list of conditions and the following disclaimer in the | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 15 | # documentation and/or other materials provided with the distribution. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 16 | # 3.  Neither the name of Apple Computer, Inc. ("Apple") nor the names of
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 17 | # its contributors may be used to endorse or promote products derived | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 18 | # from this software without specific prior written permission. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 19 | # | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 20 | # THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 21 | # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 22 | # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 23 | # DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 24 | # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 25 | # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 26 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 27 | # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 28 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 29 | # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 30 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 31 | # Script to run the Web Kit Open Source Project layout tests. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 32 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 33 | # Run all the tests passed in on the command line. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 34 | # If no tests are passed, find all the .html, .shtml, .xml, .xhtml, .pl, .php (and svg) files in the test directory. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 35 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 36 | # Run each text. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 37 | # Compare against the existing file xxx-expected.txt. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 38 | # If there is a mismatch, generate xxx-actual.txt and xxx-diffs.txt. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 39 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 40 | # At the end, report: | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 41 | # the number of tests that got the expected results | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 42 | # the number of tests that ran, but did not get the expected results | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 43 | # the number of tests that failed to run | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 44 | # the number of tests that were run but had no expected results to compare against | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 45 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 46 | use strict; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 47 | use warnings; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 48 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 49 | use Cwd; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 50 | use File::Basename; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 51 | use File::Copy; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 52 | use File::Find; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 53 | use File::Path; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 54 | use File::Spec; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 55 | use File::Spec::Functions; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 56 | use FindBin; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 57 | use Getopt::Long; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 58 | use IPC::Open2; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 59 | use IPC::Open3; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 60 | use Time::HiRes qw(time); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 61 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 62 | use lib $FindBin::Bin; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 63 | use webkitdirs; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 64 | use POSIX; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 65 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 66 | sub openDumpTool(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 67 | sub closeDumpTool(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 68 | sub dumpToolDidCrash(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 69 | sub closeHTTPD(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 70 | sub countAndPrintLeaks($$$); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 71 | sub fileNameWithNumber($$); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 72 | sub numericcmp($$); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 73 | sub openHTTPDIfNeeded(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 74 | sub pathcmp($$); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 75 | sub processIgnoreTests($); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 76 | sub slowestcmp($$); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 77 | sub splitpath($); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 78 | sub stripExtension($); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 79 | sub isTextOnlyTest($); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 80 | sub expectedDirectoryForTest($;$); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 81 | sub printFailureMessageForTest($$); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 82 | sub toURL($); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 83 | sub toWindowsPath($); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 84 | sub closeCygpaths(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 85 | sub validateSkippedArg($$;$); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 86 | sub htmlForExpectedAndActualResults($); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 87 | sub deleteExpectedAndActualResults($); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 88 | sub recordActualResultsAndDiff($$); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 89 | sub buildPlatformHierarchy(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 90 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 91 | # Argument handling | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 92 | my $shouldCheckLeaks = ''; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 93 | my $configuration = configuration(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 94 | my $guardMalloc = ''; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 95 | my $httpdPort = 8000; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 96 | my $httpdSSLPort = 8443; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 97 | my $ignoreTests = ''; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 98 | my $launchSafari = 1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 99 | my $platform; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 100 | my $pixelTests = ''; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 101 | my $quiet = ''; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 102 | my $repaintSweepHorizontally = ''; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 103 | my $repaintTests = ''; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 104 | my $report10Slowest = 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 105 | my $resetResults = 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 106 | my $showHelp = 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 107 | my $testsPerDumpTool = 1000; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 108 | my $testHTTP = 1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 109 | my $testOnlySVGs = ''; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 110 | my $testResultsDirectory = "/tmp/layout-test-results"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 111 | my $threaded = 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 112 | my $treatSkipped = "default"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 113 | my $verbose = 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 114 | my $useValgrind = 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 115 | my $strictTesting = 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 116 | my $generateNewResults = 1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 117 | my $stripEditingCallbacks = isCygwin(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 118 | my $root; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 119 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 120 | my $expectedTag = "expected"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 121 | my $actualTag = "actual"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 122 | my $diffsTag = "diffs"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 123 | my $errorTag = "stderr"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 124 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 125 | if (isTiger()) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 126 | $platform = "mac-tiger"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 127 | } elsif (isLeopard()) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 128 | $platform = "mac-leopard"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 129 | } elsif (isOSX()) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 130 | $platform = "mac"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 131 | } elsif (isQt()) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 132 | $platform = "qt"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 133 | } elsif (isGtk()) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 134 | $platform = "gtk"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 135 | } elsif (isCygwin()) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 136 | $platform = "win"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 137 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 138 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 139 | if (!defined($platform)) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 140 | print "WARNING: Your platform is not recognized. Any platform-specific results will be generated in platform/undefined.\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 141 | $platform = "undefined"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 142 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 143 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 144 | my $programName = basename($0); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 145 | my $launchSafariDefault = $launchSafari ? "launch" : "do not launch"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 146 | my $httpDefault = $testHTTP ? "run" : "do not run"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 147 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 148 | my $usage = <<EOF; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 149 | Usage: $programName [options] [testdir|testpath ...] | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 150 | -c|--configuration config Set DumpRenderTree build configuration | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 151 | -g|--guard-malloc Enable malloc guard | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 152 | --help Show this help message | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 153 | -h|--horizontal-sweep Change repaint to sweep horizontally instead of vertically (implies --repaint-tests) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 154 | --[no-]http Run (or do not run) http tests (default: $httpDefault) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 155 | -i|--ignore-tests Comma-separated list of directories or tests to ignore | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 156 | --[no-]launch-safari Launch (or do not launch) Safari to display test results (default: $launchSafariDefault) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 157 | -l|--leaks Enable leaks checking | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 158 | --[no-]new-test-results Generate results for new tests | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 159 | -p|--pixel-tests Enable pixel tests | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 160 | --platform Override the detected platform to use for tests and results (default: $platform) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 161 | --port Web server port to use with http tests | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 162 | -q|--quiet Less verbose output | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 163 | -r|--repaint-tests Run repaint tests (implies --pixel-tests) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 164 | --reset-results Reset ALL results (including pixel tests if --pixel-tests is set) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 165 | -o|--results-directory Output results directory (default: $testResultsDirectory) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 166 | --root Path to root tools build | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 167 | -1|--singly Isolate each test case run (implies --verbose) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 168 | --skipped=[default|ignore|only] Specifies how to treat the Skipped file | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 169 | default: Tests/directories listed in the Skipped file are not tested | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 170 | ignore: The Skipped file is ignored | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 171 | only: Only those tests/directories listed in the Skipped file will be run | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 172 | --slowest Report the 10 slowest tests | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 173 | --strict Do a comparison with the output on Mac (Qt only) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 174 | --[no-]strip-editing-callbacks Remove editing callbacks from expected results | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 175 | --svg Run only SVG tests (implies --pixel-tests) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 176 | -t|--threaded Run a concurrent JavaScript thead with each test | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 177 | --valgrind Run DumpRenderTree inside valgrind (Qt/Linux only) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 178 | -v|--verbose More verbose output (overrides --quiet) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 179 | EOF | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 180 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 181 | my $getOptionsResult = GetOptions( | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 182 | 'c|configuration=s' => \$configuration, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 183 |     'debug|devel' => sub { $configuration = "Debug" },
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 184 | 'guard-malloc|g' => \$guardMalloc, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 185 | 'help' => \$showHelp, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 186 | 'horizontal-sweep|h' => \$repaintSweepHorizontally, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 187 | 'http!' => \$testHTTP, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 188 | 'ignore-tests|i=s' => \$ignoreTests, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 189 | 'launch-safari!' => \$launchSafari, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 190 | 'leaks|l' => \$shouldCheckLeaks, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 191 | 'pixel-tests|p' => \$pixelTests, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 192 | 'platform=s' => \$platform, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 193 | 'port=i' => \$httpdPort, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 194 | 'quiet|q' => \$quiet, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 195 |     'release|deploy' => sub { $configuration = "Release" },
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 196 | 'repaint-tests|r' => \$repaintTests, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 197 | 'reset-results' => \$resetResults, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 198 | 'new-test-results!' => \$generateNewResults, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 199 | 'results-directory|o=s' => \$testResultsDirectory, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 200 |     'singly|1' => sub { $testsPerDumpTool = 1; },
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 201 | 'nthly=i' => \$testsPerDumpTool, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 202 | 'skipped=s' => \&validateSkippedArg, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 203 | 'slowest' => \$report10Slowest, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 204 | 'svg' => \$testOnlySVGs, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 205 | 'threaded|t' => \$threaded, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 206 | 'verbose|v' => \$verbose, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 207 | 'valgrind' => \$useValgrind, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 208 | 'strict' => \$strictTesting, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 209 | 'strip-editing-callbacks!' => \$stripEditingCallbacks, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 210 | 'root=s' => \$root, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 211 | ); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 212 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 213 | if (!$getOptionsResult || $showHelp) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 214 | print STDERR $usage; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 215 | exit 1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 216 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 217 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 218 | my $ignoreSkipped = $treatSkipped eq "ignore"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 219 | my $skippedOnly = $treatSkipped eq "only"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 220 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 221 | !$skippedOnly || @ARGV == 0 or die "--skipped=only cannot be used when tests are specified on the command line."; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 222 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 223 | setConfiguration($configuration); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 224 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 225 | my $configurationOption = "--" . lc($configuration); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 226 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 227 | $repaintTests = 1 if $repaintSweepHorizontally; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 228 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 229 | $pixelTests = 1 if $testOnlySVGs; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 230 | $pixelTests = 1 if $repaintTests; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 231 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 232 | $verbose = 1 if $testsPerDumpTool == 1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 233 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 234 | if ($shouldCheckLeaks && $testsPerDumpTool > 1000) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 235 | print STDERR "\nWARNING: Running more than 1000 tests at a time with MallocStackLogging enabled may cause a crash.\n\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 236 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 237 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 238 | # Force --no-http for Qt/Linux, for now. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 239 | $testHTTP = 0 if isQt(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 240 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 241 | setConfigurationProductDir(Cwd::abs_path($root)) if (defined($root)); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 242 | my $productDir = productDir(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 243 | $productDir .= "/bin" if (isQt()); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 244 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 245 | chdirWebKit(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 246 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 247 | if(!defined($root)){
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 248 | my $buildResult; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 249 |     if (isCygwin()) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 250 |         $buildResult = buildVisualStudioProject("WebKitTools/DumpRenderTree/DumpRenderTree.sln");
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 251 |     } else {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 252 | # Push the parameters to build-dumprendertree as an array | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 253 | my @args; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 254 | push(@args, $configuration); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 255 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 256 |         if (isQt()) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 257 | push(@args, "--qt"); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 258 |         } elsif (isGtk()) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 259 | push(@args, "--gtk"); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 260 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 261 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 262 | $buildResult = system "WebKitTools/Scripts/build-dumprendertree", @args; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 263 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 264 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 265 |     if ($buildResult) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 266 | print STDERR "Compiling DumpRenderTree failed!\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 267 | exit WEXITSTATUS($buildResult); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 268 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 269 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 270 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 271 | my $dumpToolName = "DumpRenderTree"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 272 | $dumpToolName .= "_debug" if isCygwin() && $configuration ne "Release"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 273 | my $dumpTool = "$productDir/$dumpToolName"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 274 | die "can't find executable $dumpToolName (looked in $productDir)\n" unless -x $dumpTool; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 275 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 276 | my $imageDiffTool = "$productDir/ImageDiff"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 277 | die "can't find executable $imageDiffTool (looked in $productDir)\n" if $pixelTests && !-x $imageDiffTool; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 278 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 279 | checkFrameworks() unless isCygwin(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 280 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 281 | my $layoutTestsName = "LayoutTests"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 282 | my $testDirectory = File::Spec->rel2abs($layoutTestsName); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 283 | my $expectedDirectory = $testDirectory; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 284 | my $platformBaseDirectory = catdir($testDirectory, "platform"); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 285 | my $platformTestDirectory = catdir($platformBaseDirectory, $platform); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 286 | my @platformHierarchy = buildPlatformHierarchy(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 287 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 288 | $expectedDirectory = $ENV{"WebKitExpectedTestResultsDirectory"} if $ENV{"WebKitExpectedTestResultsDirectory"};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 289 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 290 | if ($testOnlySVGs) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 291 | $testDirectory .= "/svg"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 292 | $expectedDirectory .= "/svg"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 293 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 294 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 295 | my $testResults = catfile($testResultsDirectory, "results.html"); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 296 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 297 | print "Running tests from $testDirectory\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 298 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 299 | my @tests = (); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 300 | my %testType = (); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 301 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 302 | system "ln", "-s", $testDirectory, "/tmp/LayoutTests" unless -x "/tmp/LayoutTests"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 303 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 304 | my %ignoredFiles = (); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 305 | my %ignoredDirectories = map { $_ => 1 } qw(platform);
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 306 | my %ignoredLocalDirectories = map { $_ => 1 } qw(.svn _svn resources);
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 307 | my %supportedFileExtensions = map { $_ => 1 } qw(html shtml xml xhtml pl php);
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 308 | if ($testOnlySVGs) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 309 |     %supportedFileExtensions = map { $_ => 1 } qw(svg xml);
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 310 | } elsif (checkWebCoreSVGSupport($testOnlySVGs)) { 
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 311 |     $supportedFileExtensions{'svg'} = 1;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 312 | } elsif (isCygwin()) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 313 | # FIXME: We should fix webkitdirs.pm:hasSVGSupport() to do the correct | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 314 | # check for Windows instead of forcing this here. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 315 |     $supportedFileExtensions{'svg'} = 1;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 316 | } else {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 317 |     $ignoredLocalDirectories{'svg'} = 1;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 318 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 319 | if (!$testHTTP) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 320 |     $ignoredDirectories{'http'} = 1;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 321 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 322 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 323 | if ($ignoreTests) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 324 | processIgnoreTests($ignoreTests); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 325 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 326 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 327 | if (!$ignoreSkipped) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 328 |     foreach my $level (@platformHierarchy) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 329 |         if (open SKIPPED, "<", "$level/Skipped") {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 330 |             if ($verbose && !$skippedOnly) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 331 | my ($dir, $name) = splitpath($level); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 332 | print "Skipped tests in $name:\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 333 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 334 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 335 |             while (<SKIPPED>) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 336 | my $skipped = $_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 337 | chomp $skipped; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 338 | $skipped =~ s/^[ \n\r]+//; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 339 | $skipped =~ s/[ \n\r]+$//; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 340 |                 if ($skipped && $skipped !~ /^#/) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 341 |                     if ($skippedOnly) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 342 | push(@ARGV, $skipped); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 343 |                     } else {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 344 |                         if ($verbose) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 345 | print " $skipped\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 346 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 347 | processIgnoreTests($skipped); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 348 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 349 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 350 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 351 | close SKIPPED; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 352 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 353 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 354 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 355 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 356 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 357 | my $directoryFilter = sub {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 358 |     return () if exists $ignoredLocalDirectories{basename($File::Find::dir)};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 359 |     return () if exists $ignoredDirectories{File::Spec->abs2rel($File::Find::dir, $testDirectory)};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 360 | return @_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 361 | }; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 362 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 363 | my $fileFilter = sub {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 364 | my $filename = $_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 365 |     if ($filename =~ /\.([^.]+)$/) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 366 |         if (exists $supportedFileExtensions{$1}) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 367 | my $path = File::Spec->abs2rel(catfile($File::Find::dir, $filename), $testDirectory); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 368 |             push @tests, $path if !exists $ignoredFiles{$path};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 369 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 370 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 371 | }; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 372 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 373 | for my $test (@ARGV) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 374 | $test =~ s/^($layoutTestsName|$testDirectory)\///; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 375 | my $fullPath = catfile($testDirectory, $test); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 376 |     if (file_name_is_absolute($test)) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 377 | print "can't run test $test outside $testDirectory\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 378 |     } elsif (-f $fullPath) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 379 |         my ($filename, $pathname, $fileExtension) = fileparse($test, qr{\.[^.]+$});
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 380 |         if (!exists $supportedFileExtensions{substr($fileExtension, 1)}) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 381 | print "test $test does not have a supported extension\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 382 |         } elsif ($testHTTP || $pathname !~ /^http\//) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 383 | push @tests, $test; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 384 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 385 |     } elsif (-d $fullPath) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 386 |         find({ preprocess => $directoryFilter, wanted => $fileFilter }, $fullPath);
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 387 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 388 |         for my $level (@platformHierarchy) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 389 | my $platformPath = catfile($level, $test); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 390 |             find({ preprocess => $directoryFilter, wanted => $fileFilter }, $platformPath) if (-d $platformPath);
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 391 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 392 |     } else {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 393 | print "test $test not found\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 394 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 395 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 396 | if (!scalar @ARGV) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 397 |     find({ preprocess => $directoryFilter, wanted => $fileFilter }, $testDirectory);
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 398 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 399 |     for my $level (@platformHierarchy) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 400 |         find({ preprocess => $directoryFilter, wanted => $fileFilter }, $level);
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 401 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 402 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 403 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 404 | die "no tests to run\n" if !@tests; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 405 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 406 | @tests = sort pathcmp @tests; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 407 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 408 | my %counts; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 409 | my %tests; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 410 | my %imagesPresent; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 411 | my %durations; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 412 | my $count = 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 413 | my $leaksOutputFileNumber = 1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 414 | my $totalLeaks = 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 415 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 416 | my @toolArgs = (); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 417 | push @toolArgs, "--dump-all-pixels" if $pixelTests && $resetResults; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 418 | push @toolArgs, "--pixel-tests" if $pixelTests; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 419 | push @toolArgs, "--repaint" if $repaintTests; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 420 | push @toolArgs, "--horizontal-sweep" if $repaintSweepHorizontally; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 421 | push @toolArgs, "--threaded" if $threaded; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 422 | push @toolArgs, "--paint" if $shouldCheckLeaks; # Otherwise, DRT won't exercise painting leaks. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 423 | push @toolArgs, "-"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 424 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 425 | $| = 1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 426 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 427 | my $imageDiffToolPID; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 428 | if ($pixelTests) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 429 | local %ENV; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 430 |     $ENV{MallocStackLogging} = 1 if $shouldCheckLeaks;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 431 | $imageDiffToolPID = open2(\*DIFFIN, \*DIFFOUT, $imageDiffTool, "") or die "unable to open $imageDiffTool\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 432 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 433 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 434 | my $dumpToolPID; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 435 | my $isDumpToolOpen = 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 436 | my $dumpToolCrashed = 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 437 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 438 | my $atLineStart = 1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 439 | my $lastDirectory = ""; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 440 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 441 | my $isHttpdOpen = 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 442 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 443 | sub catch_pipe { $dumpToolCrashed = 1; }
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 444 | $SIG{"PIPE"} = "catch_pipe";
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 445 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 446 | print "Testing ", scalar @tests, " test cases.\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 447 | my $overallStartTime = time; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 448 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 449 | for my $test (@tests) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 450 | next if $test eq 'results.html'; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 451 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 452 | openDumpTool(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 453 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 454 | my $base = stripExtension($test); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 455 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 456 |     if ($verbose) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 457 | print "running $test -> "; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 458 | $atLineStart = 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 459 |     } elsif (!$quiet) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 460 | my $dir = $base; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 461 | $dir =~ s|/[^/]+$||; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 462 |         if ($dir ne $lastDirectory) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 463 | print "\n" unless $atLineStart; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 464 | print "$dir "; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 465 | $lastDirectory = $dir; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 466 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 467 | print "."; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 468 | $atLineStart = 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 469 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 470 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 471 | my $result; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 472 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 473 | my $startTime = time if $report10Slowest; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 474 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 475 |     if ($test !~ /^http\//) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 476 | my $testPath = "$testDirectory/$test"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 477 |         if (isCygwin()) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 478 | $testPath = toWindowsPath($testPath); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 479 |         } else {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 480 | $testPath = canonpath($testPath); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 481 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 482 | print OUT "$testPath\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 483 |     } else {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 484 | openHTTPDIfNeeded(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 485 |         if ($test !~ /^http\/tests\/local\// && $test !~ /^http\/tests\/ssl\//) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 486 | my $path = canonpath($test); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 487 | $path =~ s/^http\/tests\///; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 488 | print OUT "http://127.0.0.1:$httpdPort/$path\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 489 |         } elsif ($test =~ /^http\/tests\/ssl\//) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 490 | my $path = canonpath($test); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 491 | $path =~ s/^http\/tests\///; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 492 | print OUT "https://127.0.0.1:$httpdSSLPort/$path\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 493 |         } else {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 494 | my $testPath = "$testDirectory/$test"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 495 |             if (isCygwin()) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 496 | $testPath = toWindowsPath($testPath); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 497 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 498 |             else {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 499 | $testPath = canonpath($testPath); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 500 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 501 | print OUT "$testPath\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 502 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 503 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 504 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 505 | my $actual = ""; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 506 |     while (<IN>) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 507 | last if /#EOF/; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 508 | $actual .= $_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 509 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 510 | $actual =~ s/\r//g if isCygwin(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 511 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 512 | my $isText = isTextOnlyTest($actual); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 513 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 514 |     $durations{$test} = time - $startTime if $report10Slowest;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 515 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 516 | my $expected; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 517 | my $expectedDir = expectedDirectoryForTest($base, $isText); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 518 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 519 |     if (!$resetResults && open EXPECTED, "<", "$expectedDir/$base-$expectedTag.txt") {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 520 | $expected = ""; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 521 |         while (<EXPECTED>) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 522 | next if $stripEditingCallbacks && $_ =~ /^EDITING DELEGATE:/; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 523 | $expected .= $_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 524 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 525 | close EXPECTED; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 526 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 527 | my $expectedMac; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 528 |     if (!isOSX() && $strictTesting && !$isText) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 529 |       if (!$resetResults && open EXPECTED, "<", "$testDirectory/platform/mac/$base-$expectedTag.txt") {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 530 | $expectedMac = ""; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 531 |         while (<EXPECTED>) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 532 | $expectedMac .= $_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 533 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 534 | close EXPECTED; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 535 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 536 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 537 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 538 |     if ($shouldCheckLeaks && $testsPerDumpTool == 1) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 539 | print " $test -> "; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 540 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 541 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 542 | my $actualPNG = ""; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 543 | my $diffPNG = ""; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 544 | my $diffPercentage = ""; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 545 | my $diffResult = "passed"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 546 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 547 |     if ($pixelTests) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 548 | my $actualHash = ""; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 549 | my $expectedHash = ""; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 550 | my $actualPNGSize = 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 551 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 552 |         while (<IN>) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 553 | last if /#EOF/; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 554 |             if (/ActualHash: ([a-f0-9]{32})/) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 555 | $actualHash = $1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 556 |             } elsif (/BaselineHash: ([a-f0-9]{32})/) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 557 | $expectedHash = $1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 558 |             } elsif (/Content-length: (\d+)\s*/) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 559 | $actualPNGSize = $1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 560 | read(IN, $actualPNG, $actualPNGSize); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 561 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 562 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 563 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 564 |         if ($expectedHash ne $actualHash && -f "$expectedDir/$base-$expectedTag.png") {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 565 | my $expectedPNGSize = -s "$expectedDir/$base-$expectedTag.png"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 566 | my $expectedPNG = ""; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 567 | open EXPECTEDPNG, "$expectedDir/$base-$expectedTag.png"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 568 | read(EXPECTEDPNG, $expectedPNG, $expectedPNGSize); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 569 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 570 | print DIFFOUT "Content-length: $actualPNGSize\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 571 | print DIFFOUT $actualPNG; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 572 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 573 | print DIFFOUT "Content-length: $expectedPNGSize\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 574 | print DIFFOUT $expectedPNG; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 575 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 576 |             while (<DIFFIN>) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 577 | last if /^error/ || /^diff:/; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 578 |                 if (/Content-length: (\d+)\s*/) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 579 | read(DIFFIN, $diffPNG, $1); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 580 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 581 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 582 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 583 |             if (/^diff: (.+)% (passed|failed)/) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 584 | $diffPercentage = $1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 585 | $diffResult = $2; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 586 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 587 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 588 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 589 |         if ($actualPNGSize && ($resetResults || !-f "$expectedDir/$base-$expectedTag.png")) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 590 | mkpath(catfile($expectedDir, dirname($base))) if $testDirectory ne $expectedDir; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 591 | open EXPECTED, ">", "$expectedDir/$base-expected.png" or die "could not create $expectedDir/$base-expected.png\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 592 | print EXPECTED $actualPNG; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 593 | close EXPECTED; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 594 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 595 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 596 | # update the expected hash if the image diff said that there was no difference | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 597 |         if ($actualHash ne "" && ($resetResults || !-f "$expectedDir/$base-$expectedTag.checksum")) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 598 | open EXPECTED, ">", "$expectedDir/$base-$expectedTag.checksum" or die "could not create $expectedDir/$base-$expectedTag.checksum\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 599 | print EXPECTED $actualHash; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 600 | close EXPECTED; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 601 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 602 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 603 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 604 |     if (!isOSX() && $strictTesting && !$isText) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 605 |       if (defined $expectedMac) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 606 | my $simplified_actual; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 607 | $simplified_actual = $actual; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 608 | $simplified_actual =~ s/at \(-?[0-9]+,-?[0-9]+\) *//g; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 609 | $simplified_actual =~ s/size -?[0-9]+x-?[0-9]+ *//g; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 610 | $simplified_actual =~ s/text run width -?[0-9]+: //g; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 611 | $simplified_actual =~ s/text run width -?[0-9]+ [a-zA-Z ]+: //g; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 612 |         $simplified_actual =~ s/RenderButton {BUTTON} .*/RenderButton {BUTTON}/g;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 613 |         $simplified_actual =~ s/RenderImage {INPUT} .*/RenderImage {INPUT}/g;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 614 |         $simplified_actual =~ s/RenderBlock {INPUT} .*/RenderBlock {INPUT}/g;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 615 |         $simplified_actual =~ s/RenderTextControl {INPUT} .*/RenderTextControl {INPUT}/g;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 616 | $simplified_actual =~ s/\([0-9]+px/px/g; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 617 | $simplified_actual =~ s/ *" *\n +" */ /g; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 618 | $simplified_actual =~ s/" +$/"/g; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 619 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 620 | $simplified_actual =~ s/- /-/g; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 621 | $simplified_actual =~ s/\n( *)"\s+/\n$1"/g; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 622 | $simplified_actual =~ s/\s+"\n/"\n/g; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 623 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 624 | $expectedMac =~ s/at \(-?[0-9]+,-?[0-9]+\) *//g; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 625 | $expectedMac =~ s/size -?[0-9]+x-?[0-9]+ *//g; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 626 | $expectedMac =~ s/text run width -?[0-9]+: //g; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 627 | $expectedMac =~ s/text run width -?[0-9]+ [a-zA-Z ]+: //g; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 628 |         $expectedMac =~ s/RenderButton {BUTTON} .*/RenderButton {BUTTON}/g;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 629 |         $expectedMac =~ s/RenderImage {INPUT} .*/RenderImage {INPUT}/g;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 630 |         $expectedMac =~ s/RenderBlock {INPUT} .*/RenderBlock {INPUT}/g;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 631 |         $expectedMac =~ s/RenderTextControl {INPUT} .*/RenderTextControl {INPUT}/g;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 632 | $expectedMac =~ s/\([0-9]+px/px/g; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 633 | $expectedMac =~ s/ *" *\n +" */ /g; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 634 | $expectedMac =~ s/" +$/"/g; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 635 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 636 | $expectedMac =~ s/- /-/g; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 637 | $expectedMac =~ s/\n( *)"\s+/\n$1"/g; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 638 | $expectedMac =~ s/\s+"\n/"\n/g; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 639 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 640 |         if ($simplified_actual ne $expectedMac) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 641 | open ACTUAL, ">", "/tmp/actual.txt" or die; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 642 | print ACTUAL $simplified_actual; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 643 | close ACTUAL; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 644 | open ACTUAL, ">", "/tmp/expected.txt" or die; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 645 | print ACTUAL $expectedMac; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 646 | close ACTUAL; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 647 | system "diff -u \"/tmp/expected.txt\" \"/tmp/actual.txt\" > \"/tmp/simplified.diff\""; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 648 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 649 | $diffResult = "failed"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 650 |           if($verbose) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 651 | print "\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 652 | system "cat /tmp/simplified.diff"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 653 | print "failed!!!!!"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 654 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 655 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 656 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 657 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 658 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 659 |     if (dumpToolDidCrash()) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 660 | $result = "crash"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 661 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 662 | printFailureMessageForTest($test, "crashed"); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 663 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 664 | my $dir = "$testResultsDirectory/$base"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 665 | $dir =~ s|/([^/]+)$|| or die "Failed to find test name from base\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 666 | mkpath $dir; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 667 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 668 | deleteExpectedAndActualResults($base); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 669 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 670 | open CRASH, ">", "$testResultsDirectory/$base-$errorTag.txt" or die; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 671 | print CRASH <ERROR>; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 672 | close CRASH; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 673 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 674 | recordActualResultsAndDiff($base, $actual); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 675 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 676 | closeDumpTool(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 677 |     } elsif (!defined $expected) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 678 |         if ($verbose) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 679 | print "new " . ($resetResults ? "result" : "test") ."\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 680 | $atLineStart = 1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 681 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 682 | $result = "new"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 683 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 684 |         if ($generateNewResults || $resetResults) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 685 | # Create the path if needed | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 686 | mkpath(catfile($expectedDir, dirname($base))) if $testDirectory ne $expectedDir; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 687 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 688 | open EXPECTED, ">", "$expectedDir/$base-$expectedTag.txt" or die "could not create $expectedDir/$base-$expectedTag.txt\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 689 | print EXPECTED $actual; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 690 | close EXPECTED; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 691 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 692 | deleteExpectedAndActualResults($base); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 693 |         unless ($resetResults) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 694 | # Always print the file name for new tests, as they will probably need some manual inspection. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 695 | # in verbose mode we already printed the test case, so no need to do it again. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 696 |             unless ($verbose) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 697 | print "\n" unless $atLineStart; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 698 | print "$test -> "; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 699 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 700 | my $resultsDir = catdir($expectedDir, dirname($base)); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 701 | print "new (results generated in $resultsDir)\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 702 | $atLineStart = 1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 703 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 704 |     } elsif ($actual eq $expected && $diffResult eq "passed") {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 705 |         if ($verbose) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 706 | print "succeeded\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 707 | $atLineStart = 1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 708 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 709 | $result = "match"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 710 | deleteExpectedAndActualResults($base); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 711 |     } else {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 712 | $result = "mismatch"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 713 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 714 | printFailureMessageForTest($test, $actual eq $expected ? "pixel test failed" : "failed"); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 715 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 716 | my $dir = "$testResultsDirectory/$base"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 717 | $dir =~ s|/([^/]+)$|| or die "Failed to find test name from base\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 718 | my $testName = $1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 719 | mkpath $dir; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 720 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 721 | deleteExpectedAndActualResults($base); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 722 | recordActualResultsAndDiff($base, $actual); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 723 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 724 |         if ($pixelTests && $diffPNG && $diffPNG ne "") {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 725 |             $imagesPresent{$base} = 1;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 726 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 727 | open ACTUAL, ">", "$testResultsDirectory/$base-$actualTag.png" or die; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 728 | print ACTUAL $actualPNG; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 729 | close ACTUAL; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 730 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 731 | open DIFF, ">", "$testResultsDirectory/$base-$diffsTag.png" or die; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 732 | print DIFF $diffPNG; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 733 | close DIFF; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 734 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 735 |             copy("$expectedDir/$base-$expectedTag.png", "$testResultsDirectory/$base-$expectedTag.png");
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 736 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 737 | open DIFFHTML, ">$testResultsDirectory/$base-$diffsTag.html" or die; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 738 | print DIFFHTML "<html>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 739 | print DIFFHTML "<head>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 740 | print DIFFHTML "<title>$base Image Compare</title>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 741 | print DIFFHTML "<script language=\"Javascript\" type=\"text/javascript\">\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 742 | print DIFFHTML "var currentImage = 0;\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 743 | print DIFFHTML "var imageNames = new Array(\"Actual\", \"Expected\");\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 744 | print DIFFHTML "var imagePaths = new Array(\"$testName-$actualTag.png\", \"$testName-$expectedTag.png\");\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 745 |             if (-f "$testDirectory/$base-w3c.png") {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 746 |                 copy("$testDirectory/$base-w3c.png", "$testResultsDirectory/$base-w3c.png");
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 747 | print DIFFHTML "imageNames.push(\"W3C\");\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 748 | print DIFFHTML "imagePaths.push(\"$testName-w3c.png\");\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 749 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 750 |             print DIFFHTML "function animateImage() {\n";
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 751 | print DIFFHTML " var image = document.getElementById(\"animatedImage\");\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 752 | print DIFFHTML " var imageText = document.getElementById(\"imageText\");\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 753 | print DIFFHTML " image.src = imagePaths[currentImage];\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 754 | print DIFFHTML " imageText.innerHTML = imageNames[currentImage] + \" Image\";\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 755 | print DIFFHTML " currentImage = (currentImage + 1) % imageNames.length;\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 756 |             print DIFFHTML "    setTimeout('animateImage()',2000);\n";
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 757 | print DIFFHTML "}\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 758 | print DIFFHTML "</script>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 759 | print DIFFHTML "</head>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 760 | print DIFFHTML "<body onLoad=\"animateImage();\">\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 761 | print DIFFHTML "<table>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 762 |             if ($diffPercentage) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 763 | print DIFFHTML "<tr>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 764 | print DIFFHTML "<td>Difference between images: <a href=\"$testName-$diffsTag.png\">$diffPercentage%</a></td>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 765 | print DIFFHTML "</tr>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 766 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 767 | print DIFFHTML "<tr>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 768 | print DIFFHTML "<td id=\"imageText\" style=\"text-weight: bold;\">Actual Image</td>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 769 | print DIFFHTML "</tr>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 770 | print DIFFHTML "<tr>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 771 | print DIFFHTML "<td><img src=\"$testName-$actualTag.png\" id=\"animatedImage\"></td>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 772 | print DIFFHTML "</tr>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 773 | print DIFFHTML "</table>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 774 | print DIFFHTML "</body>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 775 | print DIFFHTML "</html>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 776 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 777 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 778 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 779 |     if (($count + 1) % $testsPerDumpTool == 0 || $count == $#tests) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 780 |         if ($shouldCheckLeaks) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 781 | my $fileName; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 782 |             if ($testsPerDumpTool == 1) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 783 | $fileName = "$testResultsDirectory/$base-leaks.txt"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 784 |             } else {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 785 | $fileName = "$testResultsDirectory/" . fileNameWithNumber($dumpToolName, $leaksOutputFileNumber) . "-leaks.txt"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 786 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 787 | my $leakCount = countAndPrintLeaks($dumpToolName, $dumpToolPID, $fileName); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 788 | $totalLeaks += $leakCount; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 789 | $leaksOutputFileNumber++ if ($leakCount); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 790 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 791 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 792 | closeDumpTool(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 793 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 794 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 795 | $count++; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 796 |     $counts{$result}++;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 797 |     push @{$tests{$result}}, $test;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 798 |     $testType{$test} = $isText;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 799 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 800 | printf "\n%0.2fs total testing time\n", (time - $overallStartTime) . ""; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 801 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 802 | !$isDumpToolOpen || die "Failed to close $dumpToolName.\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 803 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 804 | closeHTTPD(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 805 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 806 | # Because multiple instances of this script are running concurrently we cannot | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 807 | # safely delete this symlink. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 808 | # system "rm /tmp/LayoutTests"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 809 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 810 | # FIXME: Do we really want to check the image-comparison tool for leaks every time? | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 811 | if ($shouldCheckLeaks && $pixelTests) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 812 |     $totalLeaks += countAndPrintLeaks("ImageDiff", $imageDiffToolPID, "$testResultsDirectory/ImageDiff-leaks.txt");
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 813 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 814 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 815 | if ($totalLeaks) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 816 | print "\nWARNING: $totalLeaks total leaks found!\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 817 | print "See above for individual leaks results.\n" if ($leaksOutputFileNumber > 2); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 818 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 819 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 820 | close IN; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 821 | close OUT; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 822 | close ERROR; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 823 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 824 | if ($report10Slowest) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 825 | print "\n\nThe 10 slowest tests:\n\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 826 | my $count = 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 827 |     for my $test (sort slowestcmp keys %durations) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 828 |         printf "%0.2f secs: %s\n", $durations{$test}, $test;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 829 | last if ++$count == 10; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 830 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 831 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 832 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 833 | print "\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 834 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 835 | if ($skippedOnly && $counts{"match"}) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 836 |     print "The following tests are in the Skipped file (" . File::Spec->abs2rel("$platformTestDirectory/Skipped", $testDirectory) . "), but succeeded:\n";
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 837 |     foreach my $test (@{$tests{"match"}}) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 838 | print " $test\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 839 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 840 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 841 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 842 | if ($resetResults || ($counts{match} && $counts{match} == $count)) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 843 | print "all $count test cases succeeded\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 844 | unlink $testResults; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 845 | exit; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 846 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 847 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 848 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 849 | my %text = ( | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 850 | match => "succeeded", | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 851 | mismatch => "had incorrect layout", | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 852 | new => "were new", | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 853 | crash => "crashed", | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 854 | ); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 855 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 856 | for my $type ("match", "mismatch", "new", "crash") {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 857 |     my $c = $counts{$type};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 858 |     if ($c) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 859 |         my $t = $text{$type};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 860 | my $message; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 861 |         if ($c == 1) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 862 | $t =~ s/were/was/; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 863 | $message = sprintf "1 test case (%d%%) %s\n", 1 * 100 / $count, $t; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 864 |         } else {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 865 | $message = sprintf "%d test cases (%d%%) %s\n", $c, $c * 100 / $count, $t; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 866 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 867 | $message =~ s-\(0%\)-(<1%)-; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 868 | print $message; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 869 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 870 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 871 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 872 | mkpath $testResultsDirectory; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 873 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 874 | open HTML, ">", $testResults or die; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 875 | print HTML "<html>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 876 | print HTML "<head>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 877 | print HTML "<title>Layout Test Results</title>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 878 | print HTML "</head>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 879 | print HTML "<body>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 880 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 881 | if ($counts{mismatch}) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 882 | print HTML "<p>Tests where results did not match expected results:</p>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 883 | print HTML "<table>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 884 |     for my $test (@{$tests{mismatch}}) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 885 | my $base = stripExtension($test); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 886 | print HTML "<tr>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 887 |         print HTML "<td><a href=\"" . toURL("$testDirectory/$test") . "\">$test</a></td>\n";
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 888 | print HTML htmlForExpectedAndActualResults($base); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 889 |         if ($pixelTests) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 890 |             if ($imagesPresent{$base}) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 891 | print HTML "<td><a href=\"$base-$expectedTag.png\">expected image</a></td>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 892 | print HTML "<td><a href=\"$base-$diffsTag.html\">image diffs</a></td>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 893 |             } else {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 894 | print HTML "<td></td><td></td>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 895 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 896 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 897 | print HTML "</tr>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 898 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 899 | print HTML "</table>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 900 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 901 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 902 | if ($counts{crash}) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 903 | print HTML "<p>Tests that caused the DumpRenderTree tool to crash:</p>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 904 | print HTML "<table>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 905 |     for my $test (@{$tests{crash}}) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 906 | my $base = stripExtension($test); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 907 | my $expectedDir = expectedDirectoryForTest($base); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 908 | print HTML "<tr>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 909 |         print HTML "<td><a href=\"" . toURL("$testDirectory/$test") . "\">$base</a></td>\n";
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 910 | print HTML htmlForExpectedAndActualResults($base); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 911 | print HTML "<td><a href=\"$base-$errorTag.txt\">stderr</a></td>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 912 | print HTML "</tr>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 913 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 914 | print HTML "</table>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 915 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 916 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 917 | if ($counts{new}) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 918 | print HTML "<p>Tests that had no expected results (probably new):</p>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 919 | print HTML "<table>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 920 |     for my $test (@{$tests{new}}) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 921 | my $base = stripExtension($test); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 922 | my $expectedDir = expectedDirectoryForTest($base); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 923 | print HTML "<tr>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 924 |         print HTML "<td><a href=\"" . toURL("$testDirectory/$test") . "\">$base</a></td>\n";
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 925 |         print HTML "<td><a href=\"" . toURL("$expectedDir/$base-$expectedTag.txt") . "\">results</a></td>\n";
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 926 |         if ($pixelTests && -f "$expectedDir/$base-$expectedTag.png") {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 927 |             print HTML "<td><a href=\"" . toURL("$expectedDir/$base-$expectedTag.png") . "\">image</a></td>\n";
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 928 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 929 | print HTML "</tr>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 930 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 931 | print HTML "</table>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 932 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 933 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 934 | print HTML "</body>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 935 | print HTML "</html>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 936 | close HTML; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 937 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 938 | if(isQt()) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 939 | system "konqueror", $testResults if $launchSafari; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 940 | } elsif (isCygwin()) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 941 | system "cygstart", $testResults if $launchSafari; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 942 | } else {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 943 | system "WebKitTools/Scripts/run-safari", $configurationOption, "-NSOpen", $testResults if $launchSafari; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 944 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 945 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 946 | closeCygpaths() if isCygwin(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 947 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 948 | exit 1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 949 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 950 | sub countAndPrintLeaks($$$) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 951 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 952 | my ($dumpToolName, $dumpToolPID, $leaksFilePath) = @_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 953 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 954 | print "\n" unless $atLineStart; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 955 | $atLineStart = 1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 956 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 957 | # We are excluding the following reported leaks so they don't get in our way when looking for WebKit leaks: | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 958 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 959 | my @typesToExclude = ( | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 960 | ); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 961 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 962 | # callStacksToExclude is a list of strings that if are ever seen in a leaks call stack are ignored by this | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 963 | # script and not reported as leaks. This allows us ignore known leaks and only be alerted when new leaks occur. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 964 | # Some leaks are in the old versions of the system frameworks that are being used by the leaks bots. Even though | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 965 | # the leak has been fixed, they will be listed here until the bot has been updated with the newer frameworks. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 966 | my @callStacksToExclude = ( | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 967 | "Flash_EnforceLocalSecurity" # leaks in Flash plug-in code, Radar 4449747 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 968 | ); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 969 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 970 | # Leak list for the version of Tiger used on the build bot. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 971 |     if (isTiger()) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 972 | push @callStacksToExclude, ( | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 973 | "CFRunLoopRunSpecific \\| malloc_zone_malloc", "CFRunLoopRunSpecific \\| CFAllocatorAllocate ", # leak in CFRunLoopRunSpecific, Radar 4670839 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 974 | "CGImageSourceGetPropertiesAtIndex", # leak in ImageIO, Radar 4628809 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 975 | "FOGetCoveredUnicodeChars", # leak in ATS, Radar 3943604 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 976 | "GetLineDirectionPreference", "InitUnicodeUtilities", # leaks tool falsely reporting leak in CFNotificationCenterAddObserver, Radar 4964790 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 977 | "ICCFPrefWrapper::GetPrefDictionary", # leaks in Internet Config. code, Radar 4449794 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 978 | "NSHTTPURLProtocol setResponseHeader:", # leak in multipart/mixed-replace handling in Foundation, no Radar, but fixed in Leopard | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 979 | "NSURLCache cachedResponseForRequest", # leak in CFURL cache, Radar 4768430 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 980 | "PCFragPrepareClosureFromFile", # leak in Code Fragment Manager, Radar 3426998 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 981 | "WebCore::Selection::toRange", # bug in 'leaks', Radar 4967949 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 982 | "WebCore::SubresourceLoader::create", # bug in 'leaks', Radar 4985806 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 983 | "_CFPreferencesDomainDeepCopyDictionary", # leak in CFPreferences, Radar 4220786 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 984 | "_objc_msgForward", # leak in NSSpellChecker, Radar 4965278 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 985 | "gldGetString" # leak in OpenGL, Radar 5013699 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 986 | ); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 987 | push @typesToExclude, ( | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 988 | "THRD", # bug in 'leaks', Radar 3387783 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 989 | "DRHT" # ditto (endian little hate i) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 990 | ); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 991 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 992 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 993 | # Leak list for the version of Leopard used on the build bot. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 994 |      if (isLeopard()) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 995 | push @callStacksToExclude, ( | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 996 | "CFHTTPMessageAppendBytes", #rdar://problem/5435912 47 leaks possibly under CFHTTPMessageAppendBytes | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 997 | "sendDidReceiveDataCallback", #<rdar://problem/5441619> 7 possible leaks under sendDidReceiveDataCallback | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 998 | "_CFHTTPReadStreamReadMark", #<rdar://problem/5441468> 2 leaks in _CFHTTPReadStreamReadMark | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 999 | "httpProtocolStart", #<rdar://problem/5468837> REGRESSION: 18 leaks in httpProtocolStart | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1000 | "_CFURLConnectionSendCallbacks", #<rdar://problem/5441600> 3 leaks under _CFURLConnectionSendCallbacks potentially in | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1001 | "SSLHandshake", #Unsure of the beg number, althout I think one existed and this leak is not on the current version of Leopard | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1002 | ); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1003 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1004 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1005 | my $leaksTool = sourceDir() . "/WebKitTools/Scripts/run-leaks"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1006 | my $excludeString = "--exclude-callstack '" . (join "' --exclude-callstack '", @callStacksToExclude) . "'"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1007 | $excludeString .= " --exclude-type '" . (join "' --exclude-type '", @typesToExclude) . "'" if @typesToExclude; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1008 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1009 | print " ? checking for leaks in $dumpToolName\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1010 | my $leaksOutput = `$leaksTool $excludeString $dumpToolPID`; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1011 | my ($count, $bytes) = $leaksOutput =~ /Process $dumpToolPID: (\d+) leaks? for (\d+) total/; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1012 | my ($excluded) = $leaksOutput =~ /(\d+) leaks? excluded/; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1013 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1014 | my $adjustedCount = $count; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1015 | $adjustedCount -= $excluded if $excluded; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1016 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1017 |     if (!$adjustedCount) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1018 | print " - no leaks found\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1019 | unlink $leaksFilePath; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1020 | return 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1021 |     } else {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1022 | my $dir = $leaksFilePath; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1023 | $dir =~ s|/[^/]+$|| or die; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1024 | mkpath $dir; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1025 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1026 |         if ($excluded) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1027 | print " + $adjustedCount leaks ($bytes bytes including $excluded excluded leaks) were found, details in $leaksFilePath\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1028 |         } else {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1029 | print " + $count leaks ($bytes bytes) were found, details in $leaksFilePath\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1030 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1031 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1032 | open LEAKS, ">", $leaksFilePath or die; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1033 | print LEAKS $leaksOutput; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1034 | close LEAKS; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1035 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1036 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1037 | return $adjustedCount; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1038 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1039 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1040 | # Break up a path into the directory (with slash) and base name. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1041 | sub splitpath($) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1042 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1043 | my ($path) = @_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1044 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1045 | my $pathSeparator = "/"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1046 | my $dirname = dirname($path) . $pathSeparator; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1047 | $dirname = "" if $dirname eq "." . $pathSeparator; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1048 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1049 | return ($dirname, basename($path)); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1050 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1051 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1052 | # Sort first by directory, then by file, so all paths in one directory are grouped | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1053 | # rather than being interspersed with items from subdirectories. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1054 | # Use numericcmp to sort directory and filenames to make order logical. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1055 | sub pathcmp($$) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1056 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1057 | my ($patha, $pathb) = @_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1058 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1059 | my ($dira, $namea) = splitpath($patha); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1060 | my ($dirb, $nameb) = splitpath($pathb); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1061 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1062 | return numericcmp($dira, $dirb) if $dira ne $dirb; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1063 | return numericcmp($namea, $nameb); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1064 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1065 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1066 | # Sort numeric parts of strings as numbers, other parts as strings. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1067 | # Makes 1.33 come after 1.3, which is cool. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1068 | sub numericcmp($$) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1069 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1070 | my ($aa, $bb) = @_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1071 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1072 | my @a = split /(\d+)/, $aa; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1073 | my @b = split /(\d+)/, $bb; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1074 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1075 | # Compare one chunk at a time. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1076 | # Each chunk is either all numeric digits, or all not numeric digits. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1077 |     while (@a && @b) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1078 | my $a = shift @a; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1079 | my $b = shift @b; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1080 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1081 | # Use numeric comparison if chunks are non-equal numbers. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1082 | return $a <=> $b if $a =~ /^\d/ && $b =~ /^\d/ && $a != $b; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1083 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1084 | # Use string comparison if chunks are any other kind of non-equal string. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1085 | return $a cmp $b if $a ne $b; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1086 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1087 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1088 | # One of the two is now empty; compare lengths for result in this case. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1089 | return @a <=> @b; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1090 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1091 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1092 | # Sort slowest tests first. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1093 | sub slowestcmp($$) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1094 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1095 | my ($testa, $testb) = @_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1096 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1097 |     my $dura = $durations{$testa};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1098 |     my $durb = $durations{$testb};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1099 | return $durb <=> $dura if $dura != $durb; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1100 | return pathcmp($testa, $testb); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1101 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1102 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1103 | sub openDumpTool() | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1104 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1105 | return if $isDumpToolOpen; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1106 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1107 | # Save some requires variables for the linux environment... | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1108 |     my $homeDir = $ENV{'HOME'};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1109 |     my $libraryPath = $ENV{'LD_LIBRARY_PATH'};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1110 |     my $dbusAddress = $ENV{'DBUS_SESSION_BUS_ADDRESS'};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1111 |     my $display = $ENV{'DISPLAY'};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1112 |     my $testfonts = $ENV{'WEBKIT_TESTFONTS'};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1113 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1114 |     my $homeDrive = $ENV{'HOMEDRIVE'};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1115 |     my $homePath = $ENV{'HOMEPATH'};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1116 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1117 | local %ENV; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1118 |     if (isQt()) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1119 |         if (defined $display) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1120 |             $ENV{DISPLAY} = $display;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1121 |         } else {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1122 |             $ENV{DISPLAY} = ":1";
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1123 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1124 |         $ENV{'WEBKIT_TESTFONTS'} = $testfonts;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1125 |         $ENV{HOME} = $homeDir;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1126 |         if (defined $libraryPath) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1127 |             $ENV{LD_LIBRARY_PATH} = $libraryPath;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1128 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1129 |         if (defined $dbusAddress) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1130 |             $ENV{DBUS_SESSION_BUS_ADDRESS} = $dbusAddress;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1131 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1132 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1133 |     $ENV{DYLD_FRAMEWORK_PATH} = $productDir;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1134 |     $ENV{XML_CATALOG_FILES} = ""; # work around missing /etc/catalog <rdar://problem/4292995>
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1135 |     $ENV{MallocStackLogging} = 1 if $shouldCheckLeaks;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1136 |     $ENV{DYLD_INSERT_LIBRARIES} = "/usr/lib/libgmalloc.dylib" if $guardMalloc;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1137 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1138 |     if (isCygwin()) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1139 |         $ENV{HOMEDRIVE} = $homeDrive;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1140 |         $ENV{HOMEPATH} = $homePath;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1141 | setPathForRunningWebKitApp(\%ENV) if isCygwin(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1142 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1143 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1144 | my @args = (); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1145 |     if ($useValgrind) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1146 | push @args, $dumpTool; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1147 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1148 | push @args, @toolArgs; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1149 |     if ($useValgrind) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1150 | $dumpTool = "valgrind"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1151 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1152 | $dumpToolPID = open3(\*OUT, \*IN, \*ERROR, $dumpTool, @args) or die "Failed to start tool: $dumpTool\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1153 | $isDumpToolOpen = 1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1154 | $dumpToolCrashed = 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1155 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1156 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1157 | sub closeDumpTool() | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1158 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1159 | return if !$isDumpToolOpen; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1160 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1161 | close IN; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1162 | close OUT; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1163 | close ERROR; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1164 | waitpid $dumpToolPID, 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1165 | $isDumpToolOpen = 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1166 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1167 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1168 | sub dumpToolDidCrash() | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1169 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1170 | return 1 if $dumpToolCrashed; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1171 | return 0 unless $isDumpToolOpen; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1172 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1173 | my $pid = waitpid(-1, WNOHANG); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1174 | return $pid == $dumpToolPID; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1175 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1176 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1177 | sub openHTTPDIfNeeded() | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1178 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1179 | return if $isHttpdOpen; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1180 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1181 | mkdir "/tmp/WebKit"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1182 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1183 |     if (-f "/tmp/WebKit/httpd.pid") {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1184 | my $oldPid = `cat /tmp/WebKit/httpd.pid`; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1185 | chomp $oldPid; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1186 |         if (0 != kill 0, $oldPid) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1187 | print "\nhttpd is already running: pid $oldPid, killing...\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1188 | kill 15, $oldPid; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1189 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1190 | my $retryCount = 20; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1191 |             while ((0 != kill 0, $oldPid) && $retryCount) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1192 | sleep 1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1193 | --$retryCount; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1194 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1195 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1196 | die "Timed out waiting for httpd to quit" unless $retryCount; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1197 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1198 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1199 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1200 | my $httpdPath = "/usr/sbin/httpd"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1201 | my $httpdConfig; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1202 |     if (isCygwin()) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1203 | my $windowsConfDirectory = "$testDirectory/http/conf/"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1204 |         unless (-x "/usr/lib/apache/libphp4.dll") {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1205 |             copy("$windowsConfDirectory/libphp4.dll", "/usr/lib/apache/libphp4.dll");
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1206 | chmod(0755, "/usr/lib/apache/libphp4.dll"); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1207 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1208 | $httpdConfig = "$windowsConfDirectory/cygwin-httpd.conf"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1209 |     } else {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1210 | $httpdConfig = "$testDirectory/http/conf/httpd.conf"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1211 | $httpdConfig = "$testDirectory/http/conf/apache2-httpd.conf" if `$httpdPath -v` =~ m|Apache/2|; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1212 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1213 | my $documentRoot = "$testDirectory/http/tests"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1214 | my $typesConfig = "$testDirectory/http/conf/mime.types"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1215 | my $listen = "127.0.0.1:$httpdPort"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1216 | my $absTestResultsDirectory = File::Spec->rel2abs(glob $testResultsDirectory); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1217 | my $sslCertificate = "$testDirectory/http/conf/webkit-httpd.pem"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1218 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1219 | mkpath $absTestResultsDirectory; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1220 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1221 | my @args = ( | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1222 | "-f", "$httpdConfig", | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1223 | "-C", "DocumentRoot \"$documentRoot\"", | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1224 | "-C", "Listen $listen", | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1225 | "-c", "TypesConfig \"$typesConfig\"", | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1226 | "-c", "CustomLog \"$absTestResultsDirectory/access_log.txt\" common", | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1227 | "-c", "ErrorLog \"$absTestResultsDirectory/error_log.txt\"", | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1228 | # Apache wouldn't run CGIs with permissions==700 otherwise | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1229 | "-c", "User \"#$<\"" | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1230 | ); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1231 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1232 | # FIXME: Enable this on Windows once <rdar://problem/5345985> is fixed | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1233 | push(@args, "-c", "SSLCertificateFile \"$sslCertificate\"") unless isCygwin(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1234 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1235 | open2(\*HTTPDIN, \*HTTPDOUT, $httpdPath, @args); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1236 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1237 | my $retryCount = 20; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1238 |     while (system("/usr/bin/curl -q --silent --stderr - --output /dev/null $listen") && $retryCount) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1239 | sleep 1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1240 | --$retryCount; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1241 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1242 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1243 | die "Timed out waiting for httpd to start" unless $retryCount; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1244 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1245 | $isHttpdOpen = 1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1246 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1247 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1248 | sub closeHTTPD() | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1249 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1250 | return if !$isHttpdOpen; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1251 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1252 | close HTTPDIN; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1253 | close HTTPDOUT; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1254 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1255 | kill 15, `cat /tmp/WebKit/httpd.pid` if -f "/tmp/WebKit/httpd.pid"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1256 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1257 | $isHttpdOpen = 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1258 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1259 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1260 | sub fileNameWithNumber($$) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1261 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1262 | my ($base, $number) = @_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1263 | return "$base$number" if ($number > 1); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1264 | return $base; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1265 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1266 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1267 | sub processIgnoreTests($) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1268 | my @ignoreList = split(/\s*,\s*/, shift); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1269 |     my $addIgnoredDirectories = sub {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1270 |         return () if exists $ignoredLocalDirectories{basename($File::Find::dir)};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1271 |         $ignoredDirectories{File::Spec->abs2rel($File::Find::dir, $testDirectory)} = 1;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1272 | return @_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1273 | }; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1274 |     foreach my $item (@ignoreList) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1275 | my $path = catfile($testDirectory, $item); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1276 |         if (-d $path) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1277 |             $ignoredDirectories{$item} = 1;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1278 |             find({ preprocess => $addIgnoredDirectories, wanted => sub {} }, $path);
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1279 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1280 |         elsif (-f $path) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1281 |             $ignoredFiles{$item} = 1;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1282 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1283 |         else {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1284 | print "ignoring '$item' on ignore-tests list\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1285 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1286 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1287 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1288 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1289 | sub stripExtension($) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1290 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1291 | my ($test) = @_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1292 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1293 | $test =~ s/\.[a-zA-Z]+$//; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1294 | return $test; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1295 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1296 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1297 | sub isTextOnlyTest($) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1298 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1299 | my ($actual) = @_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1300 | my $isText; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1301 |     if ($actual =~ /^layer at/ms) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1302 | $isText = 0; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1303 |     } else {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1304 | $isText = 1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1305 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1306 | return $isText; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1307 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1308 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1309 | sub expectedDirectoryForTest($;$) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1310 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1311 | my ($base, $isText) = @_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1312 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1313 | my @directories = @platformHierarchy; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1314 |     push @directories, map { catdir($platformBaseDirectory, $_) } qw(mac-leopard mac) if isCygwin();
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1315 | push @directories, $expectedDirectory; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1316 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1317 | # If we already have expected results, just return their location. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1318 |     foreach my $directory (@directories) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1319 | return $directory if (-f "$directory/$base-$expectedTag.txt"); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1320 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1321 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1322 | # For platform-specific tests, the results should go right next to the test itself. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1323 | # Note: The return value of this subroutine will be concatenated with $base | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1324 | # to determine the location of the new results, so returning $expectedDirectory | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1325 | # will put the results right next to the test. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1326 | return $expectedDirectory if $base =~ /^platform/; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1327 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1328 | # For cross-platform tests, text-only results should go in the cross-platform directory, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1329 | # while render tree dumps should go in the least-specific platform directory. | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1330 | return $isText ? $expectedDirectory : $platformHierarchy[$#platformHierarchy]; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1331 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1332 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1333 | sub printFailureMessageForTest($$) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1334 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1335 | my ($test, $description) = @_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1336 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1337 |     unless ($verbose) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1338 | print "\n" unless $atLineStart; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1339 | print "$test -> "; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1340 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1341 | print "$description\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1342 | $atLineStart = 1; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1343 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1344 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1345 | my %cygpaths = (); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1346 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1347 | sub openCygpathIfNeeded($) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1348 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1349 | my ($options) = @_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1350 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1351 | return unless isCygwin(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1352 |     return $cygpaths{$options} if $cygpaths{$options} && $cygpaths{$options}->{"open"};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1353 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1354 | local (*CYGPATHIN, *CYGPATHOUT); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1355 | my $pid = open2(\*CYGPATHIN, \*CYGPATHOUT, "cygpath -f - $options"); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1356 |     my $cygpath =  {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1357 | "pid" => $pid, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1358 | "in" => *CYGPATHIN, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1359 | "out" => *CYGPATHOUT, | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1360 | "open" => 1 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1361 | }; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1362 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1363 |     $cygpaths{$options} = $cygpath;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1364 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1365 | return $cygpath; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1366 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1367 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1368 | sub closeCygpaths() | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1369 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1370 | return unless isCygwin(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1371 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1372 |     foreach my $cygpath (values(%cygpaths)) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1373 |         close $cygpath->{"in"};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1374 |         close $cygpath->{"out"};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1375 |         waitpid($cygpath->{"pid"}, 0);
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1376 |         $cygpath->{"open"} = 0;
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1377 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1378 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1379 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1380 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1381 | sub convertPathUsingCygpath($$) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1382 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1383 | my ($path, $options) = @_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1384 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1385 | my $cygpath = openCygpathIfNeeded($options); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1386 |     local *inFH = $cygpath->{"in"};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1387 |     local *outFH = $cygpath->{"out"};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1388 | print outFH $path . "\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1389 | chomp(my $convertedPath = <inFH>); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1390 | return $convertedPath; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1391 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1392 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1393 | sub toWindowsPath($) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1394 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1395 | my ($path) = @_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1396 | return unless isCygwin(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1397 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1398 | return convertPathUsingCygpath($path, "-w"); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1399 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1400 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1401 | sub toURL($) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1402 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1403 | my ($path) = @_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1404 | return $path unless isCygwin(); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1405 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1406 | return "file:///" . convertPathUsingCygpath($path, "-m"); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1407 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1408 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1409 | sub validateSkippedArg($$;$) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1410 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1411 | my ($option, $value, $value2) = @_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1412 |     my %validSkippedValues = map { $_ => 1 } qw(default ignore only);
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1413 | $value = lc($value); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1414 |     die "Invalid argument '" . $value . "' for option $option" unless $validSkippedValues{$value};
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1415 | $treatSkipped = $value; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1416 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1417 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1418 | sub htmlForExpectedAndActualResults($) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1419 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1420 | my ($base) = @_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1421 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1422 | return "<td></td><td></td><td></td>\n" unless -s "$testResultsDirectory/$base-$diffsTag.txt"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1423 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1424 | return "<td><a href=\"$base-$expectedTag.txt\">expected</a></td>\n" | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1425 | . "<td><a href=\"$base-$actualTag.txt\">actual</a></td>\n" | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1426 | . "<td><a href=\"$base-$diffsTag.txt\">diffs</a></td>\n"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1427 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1428 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1429 | sub deleteExpectedAndActualResults($) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1430 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1431 | my ($base) = @_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1432 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1433 | unlink "$testResultsDirectory/$base-$actualTag.txt"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1434 | unlink "$testResultsDirectory/$base-$diffsTag.txt"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1435 | unlink "$testResultsDirectory/$base-$errorTag.txt"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1436 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1437 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1438 | sub recordActualResultsAndDiff($$) | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1439 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1440 | my ($base, $actual) = @_; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1441 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1442 | return unless length($actual); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1443 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1444 | open ACTUAL, ">", "$testResultsDirectory/$base-$actualTag.txt" or die "Couldn't open actual results file for $base"; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1445 | print ACTUAL $actual; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1446 | close ACTUAL; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1447 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1448 | my $expectedDir = expectedDirectoryForTest($base); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1449 |     copy("$expectedDir/$base-$expectedTag.txt", "$testResultsDirectory/$base-$expectedTag.txt");
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1450 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1451 | system "diff -u \"$testResultsDirectory/$base-$expectedTag.txt\" \"$testResultsDirectory/$base-$actualTag.txt\" > \"$testResultsDirectory/$base-$diffsTag.txt\""; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1452 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1453 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1454 | sub buildPlatformHierarchy() | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1455 | {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1456 | mkpath($platformTestDirectory) if ($platform eq "undefined" && !-d "$platformTestDirectory"); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1457 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1458 |     my @platforms = split('-', $platform);
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1459 | my @hierarchy; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1460 |     for (my $i=0; $i < @platforms; $i++) {
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1461 |         my $scoped = catdir($platformBaseDirectory, join('-', @platforms[0..($#platforms - $i)]));
 | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1462 | push(@hierarchy, $scoped) if (-d $scoped); | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1463 | } | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1464 | |
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1465 | return @hierarchy; | 
| 
dd21522fd290
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1466 | } |