wpt test runner throws IndexError on GeckoView
Categories
(Testing :: web-platform-tests, defect)
Tracking
(firefox99 fixed)
Tracking | Status | |
---|---|---|
firefox99 | --- | fixed |
People
(Reporter: m_kato, Assigned: jgraham)
Details
Attachments
(1 file)
When I run some wpt tests for screen orientation API, wpt test runner throws IndexError
exception. I guess that do_testharness
calls protocol.testharness.close_old_windows
with invalid parameter. protocol
seems to be MarionetteProtocol
, but close_old_windows
expects string such as http
or https
.
https://firefoxci.taskcluster-artifacts.net/LkgKkHlUQ-iqsDiy7GIO6A/0/public/logs/live_backing.log
[task 2022-01-18T01:38:14.498Z] 01:38:14 INFO - TEST-START | /screen-orientation/lock-sandboxed-iframe.html
[task 2022-01-18T01:38:14.513Z] 01:38:14 INFO - Changing harness_window to 479ced42-201d-48c3-81c8-5bcca45d1156
[task 2022-01-18T01:38:14.514Z] 01:38:14 INFO - Closing window c4d9265d-09b4-4e4f-8698-0bb6791cab74
[task 2022-01-18T01:38:14.553Z] 01:38:14 INFO - Changing harness_window to 479ced42-201d-48c3-81c8-5bcca45d1156
[task 2022-01-18T01:38:14.558Z] 01:38:14 WARNING - Traceback (most recent call last):
[task 2022-01-18T01:38:14.558Z] 01:38:14 WARNING - File "/builds/worker/workspace/build/tests/web-platform/tests/tools/wptrunner/wptrunner/executors/executormarionette.py", line 815, in run_func
[task 2022-01-18T01:38:14.558Z] 01:38:14 WARNING - self.result = True, self.func(self.protocol, self.url, self.timeout)
[task 2022-01-18T01:38:14.558Z] 01:38:14 WARNING - File "/builds/worker/workspace/build/tests/web-platform/tests/tools/wptrunner/wptrunner/executors/executormarionette.py", line 919, in do_testharness
[task 2022-01-18T01:38:14.558Z] 01:38:14 WARNING - parent_window = protocol.testharness.close_old_windows(protocol)
[task 2022-01-18T01:38:14.558Z] 01:38:14 WARNING - File "/builds/worker/workspace/build/tests/web-platform/tests/tools/wptrunner/wptrunner/executors/executormarionette.py", line 207, in close_old_windows
[task 2022-01-18T01:38:14.558Z] 01:38:14 WARNING - self.load_runner(url_protocol)
[task 2022-01-18T01:38:14.558Z] 01:38:14 WARNING - File "/builds/worker/workspace/build/tests/web-platform/tests/tools/wptrunner/wptrunner/executors/executormarionette.py", line 162, in load_runner
[task 2022-01-18T01:38:14.558Z] 01:38:14 WARNING - url = urljoin(self.parent.executor.server_url(url_protocol), "/testharness_runner.html")
[task 2022-01-18T01:38:14.558Z] 01:38:14 WARNING - File "/builds/worker/workspace/build/tests/web-platform/tests/tools/wptrunner/wptrunner/executors/base.py", line 321, in server_url
[task 2022-01-18T01:38:14.559Z] 01:38:14 WARNING - port=self.server_config["ports"][protocol][0])
[task 2022-01-18T01:38:14.559Z] 01:38:14 WARNING - IndexError: list index out of range
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 1•3 years ago
|
||
This method is supposed to take either "http" or "https" to decide
which scheme to use when loading the runner window. But we were
accidentially passing in the marionette Protocol object instead. This
didn't usually affect things, since we don't usually have to reload
the runner.
In practice we could probably make load_runner
work without a
protocol (aka scheme) argument these days, since we don't need it to
be same-origin with the test window, as we did previously. But that's
a bigger change.
Updated•3 years ago
|
Assignee | ||
Comment 2•3 years ago
|
||
Looks like you're right and we're just passing in the wrong kind of argument here. We didn't notice before because this only happens in exceptional circumstances. The attached patch should fix it (and seems to at least run tests locally).
Comment 5•3 years ago
|
||
bugherder |
Description
•