Title: [133506] trunk/Tools
- Revision
- 133506
- Author
- [email protected]
- Date
- 2012-11-05 11:21:39 -0800 (Mon, 05 Nov 2012)
Log Message
The layout test runner shouldn't wait for data if stdout/stderr have been closed
https://bugs.webkit.org/show_bug.cgi?id=101233
Reviewed by Dirk Pranke.
Trying to read the file descriptor for the stdout or stderr pipes when DumpRenderTree
has crashed during a Chromium Android layout test-run, which uses FIFOs for
communication, causes the File.fileno() method to raise a ValueError. Return early
if either of the pipes has already been closed.
* Scripts/webkitpy/layout_tests/port/server_process.py:
(ServerProcess._wait_for_data_and_update_buffers_using_select):
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (133505 => 133506)
--- trunk/Tools/ChangeLog 2012-11-05 19:17:13 UTC (rev 133505)
+++ trunk/Tools/ChangeLog 2012-11-05 19:21:39 UTC (rev 133506)
@@ -1,3 +1,18 @@
+2012-11-05 Peter Beverloo <[email protected]>
+
+ The layout test runner shouldn't wait for data if stdout/stderr have been closed
+ https://bugs.webkit.org/show_bug.cgi?id=101233
+
+ Reviewed by Dirk Pranke.
+
+ Trying to read the file descriptor for the stdout or stderr pipes when DumpRenderTree
+ has crashed during a Chromium Android layout test-run, which uses FIFOs for
+ communication, causes the File.fileno() method to raise a ValueError. Return early
+ if either of the pipes has already been closed.
+
+ * Scripts/webkitpy/layout_tests/port/server_process.py:
+ (ServerProcess._wait_for_data_and_update_buffers_using_select):
+
2012-11-05 Dirk Pranke <[email protected]>
webkit-patch rebaseline is broken
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/server_process.py (133505 => 133506)
--- trunk/Tools/Scripts/webkitpy/layout_tests/port/server_process.py 2012-11-05 19:17:13 UTC (rev 133505)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/server_process.py 2012-11-05 19:21:39 UTC (rev 133506)
@@ -226,6 +226,11 @@
return output
def _wait_for_data_and_update_buffers_using_select(self, deadline, stopping=False):
+ if self._proc.stdout.closed or self._proc.stderr.closed:
+ # If the process crashed and is using FIFOs, like Chromium Android, the
+ # stdout and stderr pipes will be closed.
+ return
+
out_fd = self._proc.stdout.fileno()
err_fd = self._proc.stderr.fileno()
select_fds = (out_fd, err_fd)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes