Closed
Bug 1352463
Opened 8 years ago
Closed 8 years ago
Increase default timeout of wdspec WPT tests
Categories
(Remote Protocol :: Marionette, enhancement)
Tracking
(firefox55 fixed)
RESOLVED
FIXED
mozilla55
Tracking | Status | |
---|---|---|
firefox55 | --- | fixed |
People
(Reporter: ato, Assigned: ato)
Details
Attachments
(2 files)
The default timeout of WPT tests is 10 seconds (https://github.com/w3c/wptrunner/blob/master/wptrunner/wpttest.py#L5) and much too low for wdspec tests. WebDriver-based tests are expensive and a saner timeout might be closer to 25 seconds if we structure tests sensibly.
Perhaps in the future we should allow the timeout to be configurable on a per-test or per-file level. This is already possible to some extent with a meta tag in the file, but it is conceivable letting individual test functions set timeouts through pytest plugins such as pytest-timeout.
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Assignee | ||
Updated•8 years ago
|
Assignee: nobody → ato
Comment 3•8 years ago
|
||
> Perhaps in the future we should allow the timeout to be configurable on a per-test or per-file level
This is explicitly an anti-goal. We used to have this in testharness.js and it just caused problems. In general you can't know how fast tests will run on some random hardware, which is why we have the timeout multiplier setup.
It's also desirable that tests don't take too long to run as long-running tests are themselves problematic. What problem is this patch solving that can't be solved by splitting the tests across more files?
Assignee | ||
Comment 4•8 years ago
|
||
(In reply to James Graham [:jgraham] from comment #3)
> > Perhaps in the future we should allow the timeout to be configurable on a per-test or per-file level
>
> This is explicitly an anti-goal. We used to have this in testharness.js and
> it just caused problems. In general you can't know how fast tests will run
> on some random hardware, which is why we have the timeout multiplier setup.
This is true, but the timeout multiplier could be exposed for pytest to take into consideration.
But generally speaking I am also quite sceptical that timeouts defined on a per-test or per-file level would be a good idea.
> It's also desirable that tests don't take too long to run as long-running
> tests are themselves problematic. What problem is this patch solving that
> can't be solved by splitting the tests across more files?
WebDriver tests are inherently slower than testharness.js tests, and we ought to take this into consideration when defining the default timeouts for the test type.
The current timeouts cause almost every wdspec test to use the long timeout, and even that in some cases such as the action tests, are not enough. For example, just adding a few more tests to either contexts.py or navigation.py will cause them to hit this limit, and the timeout is therefore causing tests to have to be split on more files for wdspec, than they have to be for other test types.
Much of the time spent in wdspec tests is spent starting and stopping the browser instance, and not doing the actual tests (action durations is a notable exception).
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Assignee | ||
Updated•8 years ago
|
Attachment #8853459 -
Flags: review?(james)
Attachment #8853460 -
Flags: review?(james)
Assignee | ||
Updated•8 years ago
|
Status: NEW → ASSIGNED
Comment 7•8 years ago
|
||
mozreview-review |
Comment on attachment 8853459 [details]
Bug 1352463 - Define WPT timeouts on the test type level;
https://reviewboard.mozilla.org/r/125548/#review130318
::: testing/web-platform/harness/wptrunner/wpttest.py
(Diff revision 2)
> inherit_metadata,
> test_metadata,
> nodes=None,
> references_seen=None):
> -
> - timeout = LONG_TIMEOUT if manifest_test.timeout == "long" else DEFAULT_TIMEOUT
Why did this get removed?
Attachment #8853459 -
Flags: review?(james) → review-
Comment 8•8 years ago
|
||
mozreview-review |
Comment on attachment 8853460 [details]
Bug 1352463 - Increase wdspec timeouts;
https://reviewboard.mozilla.org/r/125550/#review130320
Attachment #8853460 -
Flags: review?(james) → review+
Assignee | ||
Comment 9•8 years ago
|
||
mozreview-review-reply |
Comment on attachment 8853459 [details]
Bug 1352463 - Define WPT timeouts on the test type level;
https://reviewboard.mozilla.org/r/125548/#review130318
> Why did this get removed?
Sorry, my mistake.
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 12•8 years ago
|
||
mozreview-review |
Comment on attachment 8853459 [details]
Bug 1352463 - Define WPT timeouts on the test type level;
https://reviewboard.mozilla.org/r/125548/#review131032
::: testing/web-platform/harness/wptrunner/wpttest.py
(Diff revision 3)
> node = cls(manifest_test.source_file.tests_root,
> manifest_test.url,
> inherit_metadata,
> test_metadata,
> [],
> - timeout=timeout,
You need to put the argument back here too.
Attachment #8853459 -
Flags: review?(james) → review-
Assignee | ||
Comment 13•8 years ago
|
||
mozreview-review-reply |
Comment on attachment 8853459 [details]
Bug 1352463 - Define WPT timeouts on the test type level;
https://reviewboard.mozilla.org/r/125548/#review131032
> You need to put the argument back here too.
Oops. It’s good you caught this.
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 16•8 years ago
|
||
mozreview-review |
Comment on attachment 8853459 [details]
Bug 1352463 - Define WPT timeouts on the test type level;
https://reviewboard.mozilla.org/r/125548/#review131466
Attachment #8853459 -
Flags: review?(james) → review+
Assignee | ||
Comment 17•8 years ago
|
||
Judging by the try run, I clearly broke something else with regards to reftests (Wr). I will investigate further before pushing this.
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 22•8 years ago
|
||
Pushed by atolfsen@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/59b7df82a6fc
Define WPT timeouts on the test type level; r=jgraham
https://hg.mozilla.org/integration/autoland/rev/8f81e8c98217
Increase wdspec timeouts; r=jgraham
Comment 23•8 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/59b7df82a6fc
https://hg.mozilla.org/mozilla-central/rev/8f81e8c98217
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
status-firefox55:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
Updated•2 years ago
|
Product: Testing → Remote Protocol
You need to log in
before you can comment on or make changes to this bug.
Description
•