diff options
Diffstat (limited to 'Tools/Scripts/old-run-webkit-tests')
-rwxr-xr-x | Tools/Scripts/old-run-webkit-tests | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/Tools/Scripts/old-run-webkit-tests b/Tools/Scripts/old-run-webkit-tests index a0c9d21..fe9bdd0 100755 --- a/Tools/Scripts/old-run-webkit-tests +++ b/Tools/Scripts/old-run-webkit-tests @@ -49,6 +49,7 @@ use strict; use warnings; +use CGI; use Config; use Cwd; use Data::Dumper; @@ -139,7 +140,7 @@ my $ignoreMetrics = 0; my $webSocketPort = 8880; # wss is disabled until all platforms support pyOpenSSL. # my $webSocketSecurePort = 9323; -my $ignoreTests = ''; +my @ignoreTests; my $iterations = 1; my $launchSafari = 1; my $mergeDepth; @@ -187,6 +188,7 @@ $testHTTP = 0 if (isWx()); my $perlInterpreter = "perl"; my $expectedTag = "expected"; +my $mismatchTag = "mismatch"; my $actualTag = "actual"; my $prettyDiffTag = "pretty-diff"; my $diffsTag = "diffs"; @@ -329,7 +331,7 @@ my $getOptionsResult = GetOptions( 'http!' => \$testHTTP, 'wait-for-httpd!' => \$shouldWaitForHTTPD, 'ignore-metrics!' => \$ignoreMetrics, - 'ignore-tests|i=s' => \$ignoreTests, + 'ignore-tests|i=s' => \@ignoreTests, 'iterations=i' => \$iterations, 'launch-safari!' => \$launchSafari, 'leaks|l' => \$shouldCheckLeaks, @@ -544,6 +546,9 @@ if (!$hasAcceleratedCompositing) { # compositing is enabled. $ignoredFiles{'svg/custom/use-on-symbol-inside-pattern.svg'} = 1; + # This test has an iframe that is put in a layer only in compositing mode. + $ignoredFiles{'media/media-document-audio-repaint.html'} = 1; + if (isAppleWebKit()) { # In Apple's ports, the default controls for <video> contain a "full # screen" button only if accelerated compositing is enabled. @@ -594,7 +599,7 @@ if (!checkWebCoreFeatureSupport("XHTMLMP", 0)) { $ignoredDirectories{'fast/xhtmlmp'} = 1; } -processIgnoreTests($ignoreTests, "ignore-tests") if $ignoreTests; +processIgnoreTests(join(',', @ignoreTests), "ignore-tests") if @ignoreTests; if (!$ignoreSkipped) { if (!$skippedOnly || @ARGV == 0) { readSkippedFiles(""); @@ -1246,6 +1251,7 @@ sub countAndPrintLeaks($$$) "getVMInitArgs", # <rdar://problem/7714444> leak in Java "Java_java_lang_System_initProperties", # <rdar://problem/7714465> leak in Java "glrCompExecuteKernel", # <rdar://problem/7815391> leak in graphics driver while using OpenGL + "NSNumberFormatter getObjectValue:forString:errorDescription:", # <rdar://problem/7149350> Leak in NSNumberFormatter ); } @@ -1679,7 +1685,14 @@ sub expectedDirectoryForTest($;$;$) my ($base, $isText, $expectedExtension) = @_; my @directories = @platformResultHierarchy; - push @directories, map { catdir($platformBaseDirectory, $_) } qw(mac-snowleopard mac) if isAppleWinWebKit(); + + my @extraPlatforms = (); + if (isAppleWinWebKit()) { + push @extraPlatforms, "mac-wk2" if $platform eq "win-wk2"; + push @extraPlatforms, qw(mac-snowleopard mac); + } + + push @directories, map { catdir($platformBaseDirectory, $_) } @extraPlatforms; push @directories, $expectedDirectory; # If we already have expected results, just return their location. @@ -2046,7 +2059,7 @@ sub linksForErrorTest my $crashLogText = "crash log"; if (my $crashLocation = crashLocation($base)) { - $crashLogText .= " (<code>" . $crashLocation . "</code>)"; + $crashLogText .= " (<code>" . CGI::escapeHTML($crashLocation) . "</code>)"; } push @links, @{linksForExpectedAndActualResults($base)}; @@ -2446,6 +2459,16 @@ sub readSkippedFiles($) my @testsFound; +sub isUsedInReftest +{ + my $filename = $_; + if ($filename =~ /-$expectedTag(-$mismatchTag)?\.html$/) { + return 1; + } + my $base = stripExtension($filename); + return (-f "$base-$expectedTag.html" || -f "$base-$expectedTag-$mismatchTag.html"); +} + sub directoryFilter { return () if exists $ignoredLocalDirectories{basename($File::Find::dir)}; @@ -2457,7 +2480,8 @@ sub fileFilter { my $filename = $_; if ($filename =~ /\.([^.]+)$/) { - if (exists $supportedFileExtensions{$1}) { + my $extension = $1; + if (exists $supportedFileExtensions{$extension} && !isUsedInReftest($filename)) { my $path = File::Spec->abs2rel(catfile($File::Find::dir, $filename), $testDirectory); push @testsFound, $path if !exists $ignoredFiles{$path}; } |