Changeset 177456 in webkit


Ignore:
Timestamp:
Dec 17, 2014 1:03:53 PM (9 years ago)
Author:
ap@apple.com
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.

Location:
trunk/Tools
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r177443 r177456  
     12014-12-17  Alexey Proskuryakov  <ap@apple.com>
     2
     3        REGRESSION (r177363): Gtk and Efl testing is broken
     4        https://bugs.webkit.org/show_bug.cgi?id=139734
     5
     6        Reviewed by Simon Fraser.
     7
     8        * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
     9        (SingleTestRunner.__init__): Remove timeout adjustment from here, because it
     10        affected both script and tool timeout. This is still the right place for this logic,
     11        but it would be a larger refactoring than I can do right now.
     12
     13        * Scripts/webkitpy/port/base.py:
     14        (Port.supports_per_test_timeout): Added a FIXME.
     15        (Port.default_timeout_ms): Now that the effective timeout is longer, change this
     16        to avoid making tests take more time.
     17
     18        * Scripts/webkitpy/port/driver.py: (Driver.run_test): Adjust script timeout here.
     19
     20        * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting):
     21        Use TestRunner default timeout when there isn't a timeout passed from command line for the test.
     22
    1232014-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
    224
  • trunk/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py

    r177363 r177456  
    6161        self._reference_files = test_input.reference_files
    6262        self._stop_when_done = stop_when_done
    63 
    6463        self._timeout = test_input.timeout
    65         if self._timeout > 5000:
    66             # Timeouts are detected by both script and tool; tool detected timeouts are
    67             # better, because they contain partial output. Give the tool some time to
    68             # report the timeout instead of being killed.
    69             self._timeout = int(self._timeout) - 5000
    7064
    7165        if self._reference_files:
  • trunk/Tools/Scripts/webkitpy/port/base.py

    r177363 r177456  
    132132
    133133    def supports_per_test_timeout(self):
     134        # FIXME: Make per-test timeouts unconditional once all ports' DumpRenderTrees support that.
     135        # Windows DumpRenderTree may be the only one remaining to be fixed at this time.
    134136        return False
    135137
     
    139141
    140142    def default_timeout_ms(self):
    141         return 35 * 1000
     143        return 30 * 1000
    142144
    143145    def driver_stop_timeout(self):
  • trunk/Tools/Scripts/webkitpy/port/driver.py

    r177363 r177456  
    180180
    181181        command = self._command_from_driver_input(driver_input)
    182         deadline = test_begin_time + int(driver_input.timeout) / 1000.0
     182
     183        # Certain timeouts are detected by the tool itself; tool detection is better,
     184        # because results contain partial output in this case. Make script timeout longer
     185        # by 5 seconds to avoid racing for which timeout is detected first.
     186        # FIXME: It's not the job of the driver to decide what the timeouts should be.
     187        # Move the additional timeout to driver_input.
     188        deadline = test_begin_time + int(driver_input.timeout) / 1000.0 + 5
    183189
    184190        self._server_process.write(command)
  • trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp

    r176659 r177456  
    267267    m_testRunner->setTabKeyCyclesThroughElements(true);
    268268
    269     m_testRunner->setCustomTimeout(m_timeout);
     269    if (m_timeout > 0)
     270        m_testRunner->setCustomTimeout(m_timeout);
    270271
    271272    page()->prepare();
Note: See TracChangeset for help on using the changeset viewer.