Title: [177456] trunk/Tools
- Revision
- 177456
- Author
- a...@apple.com
- Date
- 2014-12-17 13:03:53 -0800 (Wed, 17 Dec 2014)
Log Message
REGRESSION (r177363): Gtk and Efl testing is broken
https://bugs.webkit.org/show_bug.cgi?id=139734
Reviewed by Simon Fraser.
* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner.__init__): Remove timeout adjustment from here, because it
affected both script and tool timeout. This is still the right place for this logic,
but it would be a larger refactoring than I can do right now.
* Scripts/webkitpy/port/base.py:
(Port.supports_per_test_timeout): Added a FIXME.
(Port.default_timeout_ms): Now that the effective timeout is longer, change this
to avoid making tests take more time.
* Scripts/webkitpy/port/driver.py: (Driver.run_test): Adjust script timeout here.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting):
Use TestRunner default timeout when there isn't a timeout passed from command line for the test.
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (177455 => 177456)
--- trunk/Tools/ChangeLog 2014-12-17 21:03:51 UTC (rev 177455)
+++ trunk/Tools/ChangeLog 2014-12-17 21:03:53 UTC (rev 177456)
@@ -1,3 +1,25 @@
+2014-12-17 Alexey Proskuryakov <a...@apple.com>
+
+ REGRESSION (r177363): Gtk and Efl testing is broken
+ https://bugs.webkit.org/show_bug.cgi?id=139734
+
+ Reviewed by Simon Fraser.
+
+ * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
+ (SingleTestRunner.__init__): Remove timeout adjustment from here, because it
+ affected both script and tool timeout. This is still the right place for this logic,
+ but it would be a larger refactoring than I can do right now.
+
+ * Scripts/webkitpy/port/base.py:
+ (Port.supports_per_test_timeout): Added a FIXME.
+ (Port.default_timeout_ms): Now that the effective timeout is longer, change this
+ to avoid making tests take more time.
+
+ * Scripts/webkitpy/port/driver.py: (Driver.run_test): Adjust script timeout here.
+
+ * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting):
+ Use TestRunner default timeout when there isn't a timeout passed from command line for the test.
+
2014-12-17 Carlos Garcia Campos <cgar...@igalia.com>
[GTK] Simplify timeout handling in TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py (177455 => 177456)
--- trunk/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py 2014-12-17 21:03:51 UTC (rev 177455)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py 2014-12-17 21:03:53 UTC (rev 177456)
@@ -60,13 +60,7 @@
self._should_run_pixel_test = test_input.should_run_pixel_test
self._reference_files = test_input.reference_files
self._stop_when_done = stop_when_done
-
self._timeout = test_input.timeout
- if self._timeout > 5000:
- # Timeouts are detected by both script and tool; tool detected timeouts are
- # better, because they contain partial output. Give the tool some time to
- # report the timeout instead of being killed.
- self._timeout = int(self._timeout) - 5000
if self._reference_files:
# Detect and report a test which has a wrong combination of expectation files.
Modified: trunk/Tools/Scripts/webkitpy/port/base.py (177455 => 177456)
--- trunk/Tools/Scripts/webkitpy/port/base.py 2014-12-17 21:03:51 UTC (rev 177455)
+++ trunk/Tools/Scripts/webkitpy/port/base.py 2014-12-17 21:03:53 UTC (rev 177456)
@@ -131,6 +131,8 @@
return []
def supports_per_test_timeout(self):
+ # FIXME: Make per-test timeouts unconditional once all ports' DumpRenderTrees support that.
+ # Windows DumpRenderTree may be the only one remaining to be fixed at this time.
return False
def default_pixel_tests(self):
@@ -138,7 +140,7 @@
return False
def default_timeout_ms(self):
- return 35 * 1000
+ return 30 * 1000
def driver_stop_timeout(self):
""" Returns the amount of time in seconds to wait before killing the process in driver.stop()."""
Modified: trunk/Tools/Scripts/webkitpy/port/driver.py (177455 => 177456)
--- trunk/Tools/Scripts/webkitpy/port/driver.py 2014-12-17 21:03:51 UTC (rev 177455)
+++ trunk/Tools/Scripts/webkitpy/port/driver.py 2014-12-17 21:03:53 UTC (rev 177456)
@@ -179,8 +179,14 @@
self.err_seen_eof = False
command = self._command_from_driver_input(driver_input)
- deadline = test_begin_time + int(driver_input.timeout) / 1000.0
+ # Certain timeouts are detected by the tool itself; tool detection is better,
+ # because results contain partial output in this case. Make script timeout longer
+ # 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
+
self._server_process.write(command)
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.
Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp (177455 => 177456)
--- trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp 2014-12-17 21:03:51 UTC (rev 177455)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp 2014-12-17 21:03:53 UTC (rev 177456)
@@ -266,7 +266,8 @@
m_testRunner->setAcceptsEditing(true);
m_testRunner->setTabKeyCyclesThroughElements(true);
- m_testRunner->setCustomTimeout(m_timeout);
+ if (m_timeout > 0)
+ m_testRunner->setCustomTimeout(m_timeout);
page()->prepare();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes