Title: [182916] trunk/Tools
Revision
182916
Author
a...@apple.com
Date
2015-04-16 15:54:46 -0700 (Thu, 16 Apr 2015)

Log Message

It is very hard to attach a debugger to WebProcess to debug tests
https://bugs.webkit.org/show_bug.cgi?id=143837

Reviewed by Chris Dumez.

--no-timeout used to only affect waitUntilDone timeout, but not IPC timeout in
WebKitTestRunner, and not pipe reading timeout in run-webkit-tests.

Now it disables all timeouts in tools, as is best for debugging tests.

* Scripts/webkitpy/port/driver.py: (Driver.run_test): Respect --no-timeout, so
that the script doesn't terminate DRT/WKTR when there is no output for a long time.

* WebKitTestRunner/Options.cpp: Removed --no-timeout-at-all, as --no-timeout
now has the same functionality.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (182915 => 182916)


--- trunk/Tools/ChangeLog	2015-04-16 22:46:35 UTC (rev 182915)
+++ trunk/Tools/ChangeLog	2015-04-16 22:54:46 UTC (rev 182916)
@@ -1,3 +1,21 @@
+2015-04-16  Alexey Proskuryakov  <a...@apple.com>
+
+        It is very hard to attach a debugger to WebProcess to debug tests
+        https://bugs.webkit.org/show_bug.cgi?id=143837
+
+        Reviewed by Chris Dumez.
+
+        --no-timeout used to only affect waitUntilDone timeout, but not IPC timeout in
+        WebKitTestRunner, and not pipe reading timeout in run-webkit-tests.
+
+        Now it disables all timeouts in tools, as is best for debugging tests.
+
+        * Scripts/webkitpy/port/driver.py: (Driver.run_test): Respect --no-timeout, so
+        that the script doesn't terminate DRT/WKTR when there is no output for a long time.
+
+        * WebKitTestRunner/Options.cpp: Removed --no-timeout-at-all, as --no-timeout
+        now has the same functionality.
+
 2015-04-16  Beth Dakin  <bda...@apple.com>
 
         Force mouse events should go through normal mouse event handling code paths

Modified: trunk/Tools/Scripts/webkitpy/port/driver.py (182915 => 182916)


--- trunk/Tools/Scripts/webkitpy/port/driver.py	2015-04-16 22:46:35 UTC (rev 182915)
+++ trunk/Tools/Scripts/webkitpy/port/driver.py	2015-04-16 22:54:46 UTC (rev 182916)
@@ -186,7 +186,10 @@
         # by 5 seconds to avoid racing for which timeout is detected first.
         # FIXME: It's not the job of the driver to decide what the timeouts should be.
         # Move the additional timeout to driver_input.
-        deadline = test_begin_time + int(driver_input.timeout) / 1000.0 + 5
+        if self._no_timeout:
+            deadline = test_begin_time + 60 * 60 * 24 * 7  # 7 days. Using sys.maxint causes a hang.
+        else:
+            deadline = test_begin_time + int(driver_input.timeout) / 1000.0 + 5
 
         self._server_process.write(command)
         text, audio = self._read_first_block(deadline)  # First block is either text or audio

Modified: trunk/Tools/WebKitTestRunner/Options.cpp (182915 => 182916)


--- trunk/Tools/WebKitTestRunner/Options.cpp	2015-04-16 22:46:35 UTC (rev 182915)
+++ trunk/Tools/WebKitTestRunner/Options.cpp	2015-04-16 22:54:46 UTC (rev 182916)
@@ -47,12 +47,6 @@
 bool handleOptionNoTimeout(Options& options, const char*, const char*)
 {
     options.useWaitToDumpWatchdogTimer = false;
-    return true;
-}
-
-bool handleOptionNoTimeoutAtAll(Options& options, const char*, const char*)
-{
-    options.useWaitToDumpWatchdogTimer = false;
     options.forceNoTimeout = true;
     return true;
 }
@@ -116,8 +110,7 @@
 OptionsHandler::OptionsHandler(Options& o)
     : options(o)
 {
-    optionList.append(Option("--no-timeout", "Disables waitUntilDone timeout.", handleOptionNoTimeout));
-    optionList.append(Option("--no-timeout-at-all", "Disables all timeouts.", handleOptionNoTimeoutAtAll));
+    optionList.append(Option("--no-timeout", "Disables all timeouts.", handleOptionNoTimeout));
     optionList.append(Option("--verbose", "Turns on messages.", handleOptionVerbose));
     optionList.append(Option("--gc-between-tests", "Garbage collection between tests.", handleOptionGcBetweenTests));
     optionList.append(Option("--pixel-tests", "Check pixels.", handleOptionPixelTests));
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to