+2008-03-07 Stephanie <slewis@apple.com>
+
+ Reviewed by Geoff.
+
+ <rdar://problem/5693690> run-webkit-tests swallows STDERR output, including WebCore LEAK messages
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (dump): push EOF to stderr after every test
+ * Scripts/run-webkit-tests: collect stderr output and print it
+
2008-03-07 Steve Falkenburg <sfalken@apple.com>
Get pdevenv working with Visual Studio Express.
$actual .= $_;
}
+ my $error = "";
+ while (<ERROR>) {
+ last if /#EOF/;
+ $error .= $_;
+ }
+
my $isText = isTextOnlyTest($actual);
$durations{$test} = time - $startTime if $report10Slowest;
deleteExpectedAndActualResults($base);
open CRASH, ">", "$testResultsDirectory/$base-$errorTag.txt" or die;
- print CRASH <ERROR>;
+ print CRASH $error;
close CRASH;
recordActualResultsAndDiff($base, $actual);
closeDumpTool();
}
+
+ if ($error) {
+ my $dir = "$testResultsDirectory/$base";
+ $dir =~ s|/([^/]+)$|| or die "Failed to find test name from base\n";
+ mkpath $dir;
+
+ open ERROR_OUT, ">", "$testResultsDirectory/$base-$errorTag.txt" or die;
+ print ERROR_OUT $error;
+ close ERROR_OUT;
+
+ $counts{error}++;
+ push @{$tests{error}}, $test;
+ }
$count++;
$counts{$result}++;
mismatch => "had incorrect layout",
new => "were new",
crash => "crashed",
+ error => "had stderr output"
);
-for my $type ("match", "mismatch", "new", "crash") {
+for my $type ("match", "mismatch", "new", "crash", "error") {
my $c = $counts{$type};
if ($c) {
my $t = $text{$type};
print HTML "</table>\n";
}
+if ($counts{error}) {
+ print HTML "<p>Tests that had stderr output:</p>\n";
+ print HTML "<table>\n";
+ for my $test (@{$tests{error}}) {
+ my $base = stripExtension($test);
+ my $expectedDir = $expectedResultDirectory{$base};
+ print HTML "<tr>\n";
+ print HTML "<td><a href=\"" . toURL("$testDirectory/$test") . "\">$base</a></td>\n";
+ print HTML htmlForExpectedAndActualResults($base);
+ print HTML "<td><a href=\"$base-$errorTag.txt\">stderr</a></td>\n";
+ print HTML "</tr>\n";
+ }
+ print HTML "</table>\n";
+}
+
if ($counts{new}) {
print HTML "<p>Tests that had no expected results (probably new):</p>\n";
print HTML "<table>\n";