Closed Bug 1712540 Opened 3 years ago Closed 3 years ago

[wpt-sync] Sync PR 29089 - WIP - Move WebDriverServer classes into Browser.

Categories

(Testing :: web-platform-tests, task, P4)

task

Tracking

(firefox98 fixed)

RESOLVED FIXED
98 Branch
Tracking Status
firefox98 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 29089 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/29089
Details from upstream follow.

b'James Graham <james@hoppipolla.co.uk>' wrote:

WIP - Move WebDriverServer classes into Browser.

The code previously had a slightly odd setup where the Browser class
for WebDriver implementations was mostly using a WebDriverServer
subclass for the actual functionality, but that class and all its
subclasses were defined in a single file rather than in a
browser-specific file. This was used to put the Executor class in
charge of running the driver binary for wdspec tests, whilst the
Browser class was replaced with a dummy implementation.

It makes a lot more sense to have the WebDriver functionality directly
in the Browser class for those cases where it's used. This localises
browser-specific code to a single file rather than spreading it over
several files. It also allows wdspec tests to work like other tests
where the Browser instance owns the driver binary rather than the
executor owning the binary. That also means we don't require
boilerplate executorfoo.py files for each foo that can run wdspec
tests.

Since processes are now always owned by the browser class which lives
on the main thread, output handling is also simplified.

Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]

CI Results

Ran 6 Firefox configurations based on mozilla-central, and Firefox, and Chrome on GitHub CI

Total 181 tests and 18 subtests

Status Summary

Firefox

OK : 181
PASS : 2340[Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, GitHub] 2341[Gecko-windows10-32-2004-qr-debug, Gecko-windows10-32-2004-qr-opt, Gecko-windows10-64-2004-qr-debug, Gecko-windows10-64-2004-qr-opt]
FAIL : 188[Gecko-windows10-32-2004-qr-debug, Gecko-windows10-32-2004-qr-opt, Gecko-windows10-64-2004-qr-debug, Gecko-windows10-64-2004-qr-opt] 189[Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, GitHub]

Chrome

OK : 170
PASS : 2316
FAIL : 109
TIMEOUT: 11

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/webdriver/tests/bidi/log_entry_added/stacktrace.py
test_console_entry_sync_callstack[warn-True]: FAIL
/webdriver/tests/element_clear/clear.py
test_contenteditable: FAIL (Chrome: PASS)
/webdriver/tests/element_click/interactability.py
test_element_not_visible_overflow_hidden: FAIL (Chrome: PASS)
/webdriver/tests/element_send_keys/events.py
test_file_upload: FAIL (Chrome: PASS)
/webdriver/tests/execute_async_script/promise.py
test_await_promise_resolve: FAIL (Chrome: PASS)
/webdriver/tests/execute_script/collections.py
test_shadow_root: FAIL (Chrome: PASS)
/webdriver/tests/execute_script/json_serialize_windowproxy.py
test_initial_window: FAIL (Chrome: FAIL)
test_window_open: FAIL (Chrome: FAIL)
test_frame: FAIL (Chrome: FAIL)
/webdriver/tests/execute_script/promise.py
test_await_promise_resolve: FAIL (Chrome: PASS)
/webdriver/tests/find_element_from_element/find.py
test_parent_of_document_node_errors: FAIL (Chrome: PASS)
/webdriver/tests/find_element_from_shadow_root/find.py
test_null_parameter_value: FAIL (Chrome: PASS)
test_no_top_browsing_context: FAIL (Chrome: PASS)
test_no_browsing_context: FAIL (Chrome: FAIL)
test_invalid_using_argument[a]: FAIL (Chrome: PASS)
test_invalid_using_argument[True]: FAIL (Chrome: PASS)
test_invalid_using_argument[None]: FAIL (Chrome: PASS)
test_invalid_using_argument[1]: FAIL (Chrome: PASS)
test_invalid_using_argument[using4]: FAIL (Chrome: PASS)
test_invalid_using_argument[using5]: FAIL (Chrome: PASS)
test_invalid_selector_argument[None]: FAIL (Chrome: PASS)
test_invalid_selector_argument[value1]: FAIL (Chrome: PASS)
test_invalid_selector_argument[value2]: FAIL (Chrome: PASS)
test_detached_shadow_root: FAIL (Chrome: PASS)
test_found_element_equivalence: FAIL (Chrome: PASS)
test_find_element[css selector-#linkText]: FAIL (Chrome: PASS)
test_find_element[link text-full link text]: FAIL (Chrome: PASS)
test_find_element[partial link text-link text]: FAIL (Chrome: PASS)
test_find_element[tag name-a]: FAIL (Chrome: FAIL)
test_find_element[xpath-//a]: FAIL (Chrome: FAIL)
test_find_element_link_text[<a href=#>link text</a>-link text]: FAIL (Chrome: PASS)
test_find_element_link_text[<a href=#> link text </a>-link text]: FAIL (Chrome: PASS)
test_find_element_link_text[<a href=#>link<br>text</a>-link\ntext]: FAIL (Chrome: PASS)
test_find_element_link_text[<a href=#>link&text</a>-link&text]: FAIL (Chrome: PASS)
test_find_element_link_text[<a href=#>LINK TEXT</a>-LINK TEXT]: FAIL (Chrome: PASS)
test_find_element_link_text[<a href=# style='text-transform: uppercase'>link text</a>-LINK TEXT]: FAIL (Chrome: PASS)
test_find_element_partial_link_text[<a href=#>partial link text</a>-link]: FAIL (Chrome: PASS)
test_find_element_partial_link_text[<a href=#> partial link text </a>-link]: FAIL (Chrome: PASS)
test_find_element_partial_link_text[<a href=#>partial link text</a>-k t]: FAIL (Chrome: PASS)
test_find_element_partial_link_text[<a href=#>partial link<br>text</a>-k\nt]: FAIL (Chrome: PASS)
test_find_element_partial_link_text[<a href=#>partial link&text</a>-k&t]: FAIL (Chrome: PASS)
test_find_element_partial_link_text[<a href=#>PARTIAL LINK TEXT</a>-LINK]: FAIL (Chrome: PASS)
test_find_element_partial_link_text[<a href=# style='text-transform: uppercase'>partial link text</a>-LINK]: FAIL (Chrome: PASS)
test_no_element[css selector-#wontExist]: FAIL (Chrome: PASS)
/webdriver/tests/find_element_from_shadow_root/user_prompts.py
test_accept[capabilities0-alert-None]: FAIL (Chrome: PASS)
test_accept[capabilities0-confirm-True]: FAIL (Chrome: PASS)
test_accept[capabilities0-prompt-]: FAIL (Chrome: PASS)
test_accept_and_notify[capabilities0-alert-None]: FAIL (Chrome: PASS)
test_accept_and_notify[capabilities0-confirm-True]: FAIL (Chrome: PASS)
test_accept_and_notify[capabilities0-prompt-]: FAIL (Chrome: PASS)
test_dismiss[capabilities0-alert-None]: FAIL (Chrome: PASS)
test_dismiss[capabilities0-confirm-False]: FAIL (Chrome: PASS)
test_dismiss[capabilities0-prompt-None]: FAIL (Chrome: PASS)
test_dismiss_and_notify[capabilities0-alert-None]: FAIL (Chrome: PASS)
test_dismiss_and_notify[capabilities0-confirm-False]: FAIL (Chrome: PASS)
test_dismiss_and_notify[capabilities0-prompt-None]: FAIL (Chrome: PASS)
test_ignore[capabilities0-alert]: FAIL (Chrome: PASS)
test_ignore[capabilities0-confirm]: FAIL (Chrome: PASS)
test_ignore[capabilities0-prompt]: FAIL (Chrome: PASS)
test_default[alert-None]: FAIL (Chrome: PASS)
test_default[confirm-False]: FAIL (Chrome: PASS)
test_default[prompt-None]: FAIL (Chrome: PASS)
/webdriver/tests/find_elements_from_element/find.py
test_parent_of_document_node_errors: FAIL (Chrome: PASS)
/webdriver/tests/find_elements_from_shadow_root/find.py
test_null_parameter_value: FAIL (Chrome: PASS)
test_no_top_browsing_context: FAIL (Chrome: PASS)
test_no_browsing_context: FAIL (Chrome: FAIL)
test_invalid_using_argument[a]: FAIL (Chrome: PASS)
test_invalid_using_argument[True]: FAIL (Chrome: PASS)
test_invalid_using_argument[None]: FAIL (Chrome: PASS)
test_invalid_using_argument[1]: FAIL (Chrome: PASS)
test_invalid_using_argument[using4]: FAIL (Chrome: PASS)
test_invalid_using_argument[using5]: FAIL (Chrome: PASS)
test_invalid_selector_argument[None]: FAIL (Chrome: PASS)
test_invalid_selector_argument[value1]: FAIL (Chrome: PASS)
test_invalid_selector_argument[value2]: FAIL (Chrome: PASS)
test_detached_shadow_root: FAIL (Chrome: PASS)
test_find_elements_equivalence: FAIL (Chrome: PASS)
test_find_elements[css selector-#linkText]: FAIL (Chrome: PASS)
test_find_elements[link text-full link text]: FAIL (Chrome: PASS)
test_find_elements[partial link text-link text]: FAIL (Chrome: PASS)
test_find_elements[tag name-a]: FAIL (Chrome: FAIL)
test_find_elements[xpath-//a]: FAIL (Chrome: FAIL)
test_find_elements_link_text[<a href=#>link text</a>-link text]: FAIL (Chrome: PASS)
test_find_elements_link_text[<a href=#> link text </a>-link text]: FAIL (Chrome: PASS)
test_find_elements_link_text[<a href=#>link<br>text</a>-link\ntext]: FAIL (Chrome: PASS)
test_find_elements_link_text[<a href=#>link&text</a>-link&text]: FAIL (Chrome: PASS)
test_find_elements_link_text[<a href=#>LINK TEXT</a>-LINK TEXT]: FAIL (Chrome: PASS)
test_find_elements_link_text[<a href=# style='text-transform: uppercase'>link text</a>-LINK TEXT]: FAIL (Chrome: PASS)
test_find_elements_partial_link_text[<a href=#>partial link text</a>-link]: FAIL (Chrome: PASS)
test_find_elements_partial_link_text[<a href=#> partial link text </a>-link]: FAIL (Chrome: PASS)
test_find_elements_partial_link_text[<a href=#>partial link text</a>-k t]: FAIL (Chrome: PASS)
test_find_elements_partial_link_text[<a href=#>partial link<br>text</a>-k\nt]: FAIL (Chrome: PASS)
test_find_elements_partial_link_text[<a href=#>partial link&text</a>-k&t]: FAIL (Chrome: PASS)
test_find_elements_partial_link_text[<a href=#>PARTIAL LINK TEXT</a>-LINK]: FAIL (Chrome: PASS)
test_find_elements_partial_link_text[<a href=# style='text-transform: uppercase'>partial link text</a>-LINK]: FAIL (Chrome: PASS)
test_no_element[css selector-#wontExist]: FAIL (Chrome: PASS)
/webdriver/tests/find_elements_from_shadow_root/user_prompts.py
test_accept[capabilities0-alert-None]: FAIL (Chrome: PASS)
test_accept[capabilities0-confirm-True]: FAIL (Chrome: PASS)
test_accept[capabilities0-prompt-]: FAIL (Chrome: PASS)
test_accept_and_notify[capabilities0-alert-None]: FAIL (Chrome: PASS)
test_accept_and_notify[capabilities0-confirm-True]: FAIL (Chrome: PASS)
test_accept_and_notify[capabilities0-prompt-]: FAIL (Chrome: PASS)
test_dismiss[capabilities0-alert-None]: FAIL (Chrome: PASS)
test_dismiss[capabilities0-confirm-False]: FAIL (Chrome: PASS)
test_dismiss[capabilities0-prompt-None]: FAIL (Chrome: PASS)
test_dismiss_and_notify[capabilities0-alert-None]: FAIL (Chrome: PASS)
test_dismiss_and_notify[capabilities0-confirm-False]: FAIL (Chrome: PASS)
test_dismiss_and_notify[capabilities0-prompt-None]: FAIL (Chrome: PASS)
test_ignore[capabilities0-alert]: FAIL (Chrome: PASS)
test_ignore[capabilities0-confirm]: FAIL (Chrome: PASS)
test_ignore[capabilities0-prompt]: FAIL (Chrome: PASS)
test_default[alert-None]: FAIL (Chrome: PASS)
test_default[confirm-False]: FAIL (Chrome: PASS)
test_default[prompt-None]: FAIL (Chrome: PASS)
/webdriver/tests/get_computed_label/get.py
test_no_browsing_context: FAIL (Chrome: FAIL)
test_no_user_prompt: FAIL (Chrome: FAIL)
test_get_computed_label[<button>ok</button>-button-ok]: FAIL (Chrome: FAIL)
test_get_computed_label[<button aria-labelledby="one two"></button><div id=one>ok</div><div id=two>go</div>-button-ok go]: FAIL (Chrome: FAIL)
test_get_computed_label[<button aria-label=foo>bar</button>-button-foo]: FAIL (Chrome: FAIL)
test_get_computed_label[<label><input> foo</label>-input-foo]: FAIL (Chrome: FAIL)
test_get_computed_label[<label for=b>foo<label><input id=b>-input-foo]: FAIL (Chrome: FAIL)
/webdriver/tests/get_computed_role/get.py
test_no_browsing_context: FAIL (Chrome: PASS)
test_no_user_prompt: FAIL (Chrome: FAIL)
test_computed_roles[<li role=menuitem>foo-li-menu]: FAIL (Chrome: FAIL)
test_computed_roles[<input role=searchbox>-input-searchbox]: FAIL (Chrome: PASS)
test_computed_roles[<img role=presentation>-img-presentation]: FAIL (Chrome: FAIL)
/webdriver/tests/get_element_property/get.py
test_primitives["foobar"-foobar]: FAIL (Chrome: PASS)
test_primitives[42-42]: FAIL (Chrome: PASS)
test_primitives[js_primitive2-py_primitive2]: FAIL (Chrome: PASS)
test_primitives[js_primitive3-py_primitive3]: FAIL (Chrome: PASS)
test_primitives_set_by_execute_script["foobar"-foobar]: FAIL (Chrome: PASS)
test_primitives_set_by_execute_script[42-42]: FAIL (Chrome: PASS)
test_primitives_set_by_execute_script[js_primitive2-py_primitive2]: FAIL (Chrome: PASS)
test_primitives_set_by_execute_script[js_primitive3-py_primitive3]: FAIL (Chrome: PASS)
/webdriver/tests/get_window_rect/get.py
test_payload: FAIL [Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt], PASS [Gecko-windows10-32-2004-qr-debug, Gecko-windows10-32-2004-qr-opt, Gecko-windows10-64-2004-qr-debug, Gecko-windows10-64-2004-qr-opt, GitHub] (Chrome: PASS)
/webdriver/tests/maximize_window/maximize.py
test_maximize_when_resized_to_max_size: FAIL [GitHub], PASS [Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-32-2004-qr-debug, Gecko-windows10-32-2004-qr-opt, Gecko-windows10-64-2004-qr-debug, Gecko-windows10-64-2004-qr-opt] (Chrome: PASS)
/webdriver/tests/new_session/default_values.py
test_no_capabilites: FAIL (Chrome: PASS)
test_desired: FAIL (Chrome: PASS)
/webdriver/tests/perform_actions/key_events.py
test_modifier_key_sends_correct_events[\ue03d-META]: FAIL (Chrome: PASS)
test_modifier_key_sends_correct_events[\ue053-R_META]: FAIL (Chrome: PASS)
test_special_key_sends_keydown[ADD-expected0]: FAIL (Chrome: PASS)
test_special_key_sends_keydown[META-expected30]: FAIL (Chrome: PASS)
test_special_key_sends_keydown[NUMPAD4-expected37]: FAIL (Chrome: PASS)
test_special_key_sends_keydown[NUMPAD5-expected38]: FAIL (Chrome: PASS)
test_special_key_sends_keydown[PAGE_DOWN-expected43]: FAIL (Chrome: PASS)
test_special_key_sends_keydown[PAGE_UP-expected44]: FAIL (Chrome: PASS)
test_special_key_sends_keydown[R_META-expected58]: FAIL (Chrome: PASS)
test_special_key_sends_keydown[SEPARATOR-expected63]: FAIL (Chrome: PASS)
test_special_key_sends_keydown[SUBTRACT-expected66]: FAIL (Chrome: PASS)
/webdriver/tests/perform_actions/pointer.py
test_pen_pointer_properties: FAIL (Chrome: FAIL)
test_touch_pointer_properties: FAIL (Chrome: PASS)
test_drag_and_drop_with_draggable_element[0]: FAIL (Chrome: FAIL)
test_drag_and_drop_with_draggable_element[300]: FAIL (Chrome: FAIL)
test_drag_and_drop_with_draggable_element[800]: FAIL (Chrome: FAIL)
/webdriver/tests/perform_actions/pointer_tripleclick.py
test_tripleclick_at_coordinates: FAIL (Chrome: PASS)
/webdriver/tests/perform_actions/validity.py
test_pause_positive_integer[none]: FAIL (Chrome: PASS)
test_pause_positive_integer[key]: FAIL (Chrome: PASS)
test_pause_positive_integer[pointer]: FAIL (Chrome: PASS)
/webdriver/tests/perform_actions/wheel.py
test_null_response_value: FAIL (Chrome: PASS)
test_no_top_browsing_context: FAIL (Chrome: PASS)
test_no_browsing_context: FAIL (Chrome: PASS)
test_wheel_scroll: FAIL (Chrome: PASS)
test_wheel_scroll_overflow: FAIL (Chrome: PASS)
test_wheel_scroll_iframe: FAIL (Chrome: PASS)
/webdriver/tests/permissions/set.py
test_invalid_parameters[capabilities0-parameters0]: FAIL (Chrome: PASS)
test_invalid_parameters[capabilities0-parameters1]: FAIL (Chrome: PASS)
test_invalid_parameters[capabilities0-parameters2]: FAIL (Chrome: PASS)
test_invalid_parameters[capabilities0-parameters3]: FAIL (Chrome: PASS)
test_invalid_parameters[capabilities0-parameters4]: FAIL (Chrome: PASS)
test_invalid_parameters[capabilities0-parameters5]: FAIL (Chrome: PASS)
test_invalid_parameters[capabilities0-parameters6]: FAIL (Chrome: PASS)
test_invalid_parameters[capabilities0-parameters7]: FAIL (Chrome: PASS)
test_non_secure_context[granted]: FAIL (Chrome: PASS)
test_non_secure_context[denied]: FAIL (Chrome: PASS)
test_non_secure_context[prompt]: FAIL (Chrome: PASS)
test_set_to_state[capabilities0-realmSetting0-granted]: FAIL (Chrome: PASS)
test_set_to_state[capabilities0-realmSetting0-denied]: FAIL (Chrome: PASS)
test_set_to_state[capabilities0-realmSetting0-prompt]: FAIL (Chrome: PASS)
test_set_to_state[capabilities0-realmSetting1-granted]: FAIL (Chrome: PASS)
test_set_to_state[capabilities0-realmSetting1-denied]: FAIL (Chrome: PASS)
test_set_to_state[capabilities0-realmSetting1-prompt]: FAIL (Chrome: PASS)
test_set_to_state[capabilities0-realmSetting2-granted]: FAIL (Chrome: PASS)
test_set_to_state[capabilities0-realmSetting2-denied]: FAIL (Chrome: PASS)
test_set_to_state[capabilities0-realmSetting2-prompt]: FAIL (Chrome: PASS)
test_set_to_state_cross_realm[capabilities0-realmSetting0-granted]: FAIL (Chrome: PASS)
test_set_to_state_cross_realm[capabilities0-realmSetting0-denied]: FAIL (Chrome: PASS)
test_set_to_state_cross_realm[capabilities0-realmSetting0-prompt]: FAIL (Chrome: PASS)
test_set_to_state_cross_realm[capabilities0-realmSetting1-granted]: FAIL (Chrome: PASS)
test_set_to_state_cross_realm[capabilities0-realmSetting1-denied]: FAIL (Chrome: PASS)
test_set_to_state_cross_realm[capabilities0-realmSetting1-prompt]: FAIL (Chrome: PASS)

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 98 Branch
You need to log in before you can comment on or make changes to this bug.