Title: [98040] trunk/Tools
Revision
98040
Author
e...@webkit.org
Date
2011-10-20 16:36:35 -0700 (Thu, 20 Oct 2011)

Log Message

Possible REGRESSION(97879): NRWT fails when DumpRenderTree crashes
https://bugs.webkit.org/show_bug.cgi?id=70524

Reviewed by Adam Barth.

This is a speculative fix, since I do not use a platform
which outputs crashlogs over stderr.

* Scripts/webkitpy/layout_tests/port/server_process.py:
* Scripts/webkitpy/layout_tests/port/webkit.py:

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (98039 => 98040)


--- trunk/Tools/ChangeLog	2011-10-20 23:36:29 UTC (rev 98039)
+++ trunk/Tools/ChangeLog	2011-10-20 23:36:35 UTC (rev 98040)
@@ -1,5 +1,18 @@
 2011-10-20  Eric Seidel  <e...@webkit.org>
 
+        Possible REGRESSION(97879): NRWT fails when DumpRenderTree crashes
+        https://bugs.webkit.org/show_bug.cgi?id=70524
+
+        Reviewed by Adam Barth.
+
+        This is a speculative fix, since I do not use a platform
+        which outputs crashlogs over stderr.
+
+        * Scripts/webkitpy/layout_tests/port/server_process.py:
+        * Scripts/webkitpy/layout_tests/port/webkit.py:
+
+2011-10-20  Eric Seidel  <e...@webkit.org>
+
         REGRESSION(97879): Pixel tests no longer work with NRWT on Mac
         https://bugs.webkit.org/show_bug.cgi?id=70492
 

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/server_process.py (98039 => 98040)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/server_process.py	2011-10-20 23:36:29 UTC (rev 98039)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/server_process.py	2011-10-20 23:36:35 UTC (rev 98040)
@@ -142,6 +142,9 @@
             return self._pop_error_bytes(index_after_newline)
         return None
 
+    def pop_all_buffered_stderr(self):
+        return self._pop_error_bytes(len(self._error))
+
     def read_stdout_line(self, deadline):
         return self._read(deadline, self._pop_stdout_line_if_ready)
 

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py (98039 => 98040)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py	2011-10-20 23:36:29 UTC (rev 98039)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py	2011-10-20 23:36:35 UTC (rev 98040)
@@ -532,8 +532,12 @@
         text, audio = self._read_first_block(deadline)  # First block is either text or audio
         image, actual_image_hash = self._read_optional_image_block(deadline)  # The second (optional) block is image data.
 
-        # We may not have read all output (if an error occured), but we certainly should have read all error bytes.
-        assert not self._server_process._error, "Unprocessed error output: %s" % self._server_process._error
+        # We may not have read all of the output if an error (crash) occured.
+        # Since some platforms output the stacktrace over error, we should
+        # dump any buffered error into self.error_from_test.
+        # FIXME: We may need to also read stderr until the process dies?
+        self.error_from_test += self._server_process.pop_all_buffered_stderr()
+
         return DriverOutput(text, image, actual_image_hash, audio,
             crash=self._detected_crash(), test_time=time.time() - start_time,
             timeout=self._server_process.timed_out, error=self.error_from_test,
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to