Skip to content

prevent state leak

f73c304
Select commit
Loading
Failed to load commit list.
Merged

[wdspec] emulation.setTouchOverride #56779

prevent state leak
f73c304
Select commit
Loading
Failed to load commit list.
Community-TC Integration / wpt-firefox-nightly-results succeeded Dec 17, 2025 in 9m 39s

Community-TC (pull_request)

Collect results for all tests affected by a pull request in firefox.

Details

View task in Taskcluster | View logs in Taskcluster | View task group in Taskcluster

Task Status

Started: 2025-12-17T10:51:54.265Z
Resolved: 2025-12-17T10:56:29.827Z
Task Execution Time: 4 minutes, 35 seconds, 562 milliseconds
Task Status: completed
Reason Resolved: completed
RunId: 0

Artifacts

- public/logs/live_backing.log
- public/logs/live.log
- public/results/checkrun.md
- public/results/wpt_report.json.gz
- public/results/wpt_screenshot.txt.gz

WPT Command: python3 ./wpt run --channel=nightly --no-fail-on-unexpected --log-wptreport=../artifacts/wpt_report.json --log-wptscreenshot=../artifacts/wpt_screenshot.txt --affected base_head --log-mach-level=info --log-mach=- -y --no-pause --no-restart-on-unexpected --install-fonts --verify-log-full --no-headless --binary=/home/test/build/firefox/firefox firefox


[taskcluster 2025-12-17 10:51:54.337Z] Task ID: F633M0SRSFCzS_zMR19rww
[taskcluster 2025-12-17 10:51:54.337Z] Worker ID: 8640542877634513155
[taskcluster 2025-12-17 10:51:54.337Z] Worker Group: us-central1-c
[taskcluster 2025-12-17 10:51:54.337Z] Worker Node Type: projects/757942385826/machineTypes/n2-standard-4
[taskcluster 2025-12-17 10:51:54.337Z] Worker Pool: proj-wpt/ci
[taskcluster 2025-12-17 10:51:54.337Z] Worker Version: 46.1.0
[taskcluster 2025-12-17 10:51:54.337Z] Public IP: 35.202.89.49
[taskcluster 2025-12-17 10:51:54.337Z] Hostname: proj-wpt-ci-jfaht9d2qr-fzldcd3ssqw

[taskcluster 2025-12-17 10:51:55.368Z] === Task Starting ===
+ '[' '' ']'
+ '[' -d /etc/profile.d ']'
+ for i in /etc/profile.d/*.sh
+ '[' -r /etc/profile.d/01-locale-fix.sh ']'
+ . /etc/profile.d/01-locale-fix.sh
+++ /usr/bin/locale-check C.UTF-8
++ eval
+ for i in /etc/profile.d/*.sh
+ '[' -r /etc/profile.d/apps-bin-path.sh ']'
+ . /etc/profile.d/apps-bin-path.sh

...(14042 lines hidden)...

  FAIL test_overrides_global[Default user context] - webdriver.bidi.error.UnknownCommandException: unknown command (emulation.setTouchOverride)
bidi_session = <webdriver.bidi.client.BidiSession object at 0x7f924e4e6620>
get_max_touch_points = <function get_max_touch_points.<locals>.get_max_touch_points at 0x7f924e3e6c20>
affected_user_context = 'default', initial_max_touch_points = 0

    async def test_overrides_global(bidi_session, get_max_touch_points,
                                    affected_user_context,
                                    initial_max_touch_points):
        affected_context = await bidi_session.browsing_context.create(
            type_hint="tab", user_context=affected_user_context)
    
>       await bidi_session.emulation.set_touch_override(
            max_touch_points=MAX_TOUCHES_PER_USER_CONTEXT,
            user_contexts=[affected_user_context])

affected_context = {'context': '6dc8309c-e3dd-40fc-9a75-551a9490d754'}
affected_user_context = 'default'
bidi_session = <webdriver.bidi.client.BidiSession object at 0x7f924e4e6620>
get_max_touch_points = <function get_max_touch_points.<locals>.get_max_touch_points at 0x7f924e3e6c20>
initial_max_touch_points = 0

webdriver/tests/bidi/emulation/set_touch_override/user_contexts.py:74: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <webdriver.bidi.modules.emulation.Emulation object at 0x7f924e268700>
kwargs = {'max_touch_points': 5, 'user_contexts': ['default']}
raw_result = False, extension_params = {}
params = {'maxTouchPoints': 5, 'userContexts': ['default']}
mod_name = 'emulation', cmd_name = 'emulation.setTouchOverride'
future = <Future finished exception=UnknownCommandException(unknown command, emulation.setTouchOverride, RemoteError@chrome://r...erver/WebSocketTransport.sys.mjs:127:18
handleEvent@chrome://remote/content/server/WebSocketTransport.sys.mjs:109:14
)>

    @functools.wraps(params_fn)
    async def inner(self: Any, **kwargs: Any) -> Any:
        raw_result = kwargs.pop("raw_result", False)
        extension_params = kwargs.pop("_extension_params", {})
    
        params = remove_undefined(params_fn(self, **kwargs))
    
        # Convert the classname and the method name to a bidi command name
        mod_name = owner.__name__[0].lower() + owner.__name__[1:]
        if hasattr(owner, "prefix"):
            mod_name = f"{owner.prefix}:{mod_name}"
        cmd_name = f"{mod_name}.{to_camelcase(name)}"
    
        # Verify specified vendor parameters
        for key in extension_params:
            if ":" not in key:
                raise ValueError(f"Extension parameter '{key}' misses prefix.")
    
        # Merge into params (vendor keys win if duplicates)
        params.update(extension_params)
    
        future = await self.session.send_command(cmd_name, params)
>       result = await future
E       webdriver.bidi.error.UnknownCommandException: unknown command (emulation.setTouchOverride)
E       
E       Remote-end stacktrace:
E       
E       RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
E       WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
E       UnknownCommandError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:944:5
E       execute@chrome://remote/content/shared/webdriver/Session.sys.mjs:447:13
E       onPacket@chrome://remote/content/webdriver-bidi/WebDriverBiDiConnection.sys.mjs:236:37
E       onMessage@chrome://remote/content/server/WebSocketTransport.sys.mjs:127:18
E       handleEvent@chrome://remote/content/server/WebSocketTransport.sys.mjs:109:14

cmd_name   = 'emulation.setTouchOverride'
extension_params = {}
future     = <Future finished exception=UnknownCommandException(unknown command, emulation.setTouchOverride, RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
UnknownCommandError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:944:5
execute@chrome://remote/content/shared/webdriver/Session.sys.mjs:447:13
onPacket@chrome://remote/content/webdriver-bidi/WebDriverBiDiConnection.sys.mjs:236:37
onMessage@chrome://remote/content/server/WebSocketTransport.sys.mjs:127:18
handleEvent@chrome://remote/content/server/WebSocketTransport.sys.mjs:109:14
)>
kwargs     = {'max_touch_points': 5, 'user_contexts': ['default']}
mod_name   = 'emulation'
name       = 'set_touch_override'
owner      = <class 'webdriver.bidi.modules.emulation.Emulation'>
params     = {'maxTouchPoints': 5, 'userContexts': ['default']}
params_fn  = <function Emulation.set_touch_override at 0x7f92540ee4d0>
raw_result = False
result_fn  = None
self       = <webdriver.bidi.modules.emulation.Emulation object at 0x7f924e268700>

tools/webdriver/webdriver/bidi/modules/_module.py:86: UnknownCommandException
  FAIL test_overrides_global[Custom user context] - webdriver.bidi.error.UnknownCommandException: unknown command (emulation.setTouchOverride)
bidi_session = <webdriver.bidi.client.BidiSession object at 0x7f924e4e6620>
get_max_touch_points = <function get_max_touch_points.<locals>.get_max_touch_points at 0x7f924e4ad750>
affected_user_context = 'b9d980d5-38c5-4f5c-a4fa-0c652e148eb0'
initial_max_touch_points = 0

    async def test_overrides_global(bidi_session, get_max_touch_points,
                                    affected_user_context,
                                    initial_max_touch_points):
        affected_context = await bidi_session.browsing_context.create(
            type_hint="tab", user_context=affected_user_context)
    
>       await bidi_session.emulation.set_touch_override(
            max_touch_points=MAX_TOUCHES_PER_USER_CONTEXT,
            user_contexts=[affected_user_context])

affected_context = {'context': '04857fca-206c-48f8-814e-2dfbb355eaf6'}
affected_user_context = 'b9d980d5-38c5-4f5c-a4fa-0c652e148eb0'
bidi_session = <webdriver.bidi.client.BidiSession object at 0x7f924e4e6620>
get_max_touch_points = <function get_max_touch_points.<locals>.get_max_touch_points at 0x7f924e4ad750>
initial_max_touch_points = 0

webdriver/tests/bidi/emulation/set_touch_override/user_contexts.py:74: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <webdriver.bidi.modules.emulation.Emulation object at 0x7f924e268700>
kwargs = {'max_touch_points': 5, 'user_contexts': ['b9d980d5-38c5-4f5c-a4fa-0c652e148eb0']}
raw_result = False, extension_params = {}
params = {'maxTouchPoints': 5, 'userContexts': ['b9d980d5-38c5-4f5c-a4fa-0c652e148eb0']}
mod_name = 'emulation', cmd_name = 'emulation.setTouchOverride'
future = <Future finished exception=UnknownCommandException(unknown command, emulation.setTouchOverride, RemoteError@chrome://r...erver/WebSocketTransport.sys.mjs:127:18
handleEvent@chrome://remote/content/server/WebSocketTransport.sys.mjs:109:14
)>

    @functools.wraps(params_fn)
    async def inner(self: Any, **kwargs: Any) -> Any:
        raw_result = kwargs.pop("raw_result", False)
        extension_params = kwargs.pop("_extension_params", {})
    
        params = remove_undefined(params_fn(self, **kwargs))
    
        # Convert the classname and the method name to a bidi command name
        mod_name = owner.__name__[0].lower() + owner.__name__[1:]
        if hasattr(owner, "prefix"):
            mod_name = f"{owner.prefix}:{mod_name}"
        cmd_name = f"{mod_name}.{to_camelcase(name)}"
    
        # Verify specified vendor parameters
        for key in extension_params:
            if ":" not in key:
                raise ValueError(f"Extension parameter '{key}' misses prefix.")
    
        # Merge into params (vendor keys win if duplicates)
        params.update(extension_params)
    
        future = await self.session.send_command(cmd_name, params)
>       result = await future
E       webdriver.bidi.error.UnknownCommandException: unknown command (emulation.setTouchOverride)
E       
E       Remote-end stacktrace:
E       
E       RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
E       WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
E       UnknownCommandError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:944:5
E       execute@chrome://remote/content/shared/webdriver/Session.sys.mjs:447:13
E       onPacket@chrome://remote/content/webdriver-bidi/WebDriverBiDiConnection.sys.mjs:236:37
E       onMessage@chrome://remote/content/server/WebSocketTransport.sys.mjs:127:18
E       handleEvent@chrome://remote/content/server/WebSocketTransport.sys.mjs:109:14

cmd_name   = 'emulation.setTouchOverride'
extension_params = {}
future     = <Future finished exception=UnknownCommandException(unknown command, emulation.setTouchOverride, RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
UnknownCommandError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:944:5
execute@chrome://remote/content/shared/webdriver/Session.sys.mjs:447:13
onPacket@chrome://remote/content/webdriver-bidi/WebDriverBiDiConnection.sys.mjs:236:37
onMessage@chrome://remote/content/server/WebSocketTransport.sys.mjs:127:18
handleEvent@chrome://remote/content/server/WebSocketTransport.sys.mjs:109:14
)>
kwargs     = {'max_touch_points': 5,
 'user_contexts': ['b9d980d5-38c5-4f5c-a4fa-0c652e148eb0']}
mod_name   = 'emulation'
name       = 'set_touch_override'
owner      = <class 'webdriver.bidi.modules.emulation.Emulation'>
params     = {'maxTouchPoints': 5, 'userContexts': ['b9d980d5-38c5-4f5c-a4fa-0c652e148eb0']}
params_fn  = <function Emulation.set_touch_override at 0x7f92540ee4d0>
raw_result = False
result_fn  = None
self       = <webdriver.bidi.modules.emulation.Emulation object at 0x7f924e268700>

tools/webdriver/webdriver/bidi/modules/_module.py:86: UnknownCommandException
 1:21.02 INFO Got 4 unexpected results, with 0 unexpected passes
 1:21.02 wptserve INFO Stopped http server on 127.0.0.1:8000
 1:21.02 wptserve INFO Stopped http server on 127.0.0.1:8001
 1:21.02 wptserve INFO Stopped http server on 127.0.0.1:8002
 1:21.04 wptserve INFO Stopped http server on 127.0.0.1:8443
 1:21.04 wptserve INFO Stopped http server on 127.0.0.1:8003
 1:21.04 wptserve INFO Stopped http server on 127.0.0.1:8444
 1:21.04 wptserve INFO Stopped http server on 127.0.0.1:8445
 1:21.05 wptserve INFO Stopped http server on 127.0.0.1:8446
 1:21.05 wptserve INFO Stopped http server on 127.0.0.1:9000
 1:21.05 wptserve INFO Stopped WebTransport over HTTP/3 server on 127.0.0.1:11000
 1:21.06 wptserve INFO Close on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8888))
 1:21.06 wptserve INFO Close on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8889))
 1:21.18 INFO Removed font: Ahem.ttf
 1:21.21 INFO Closing logging queue
 1:21.21 INFO queue closed
 1:21.21 INFO Tolerating 4 unexpected results
[taskcluster 2025-12-17 10:56:27.984Z] === Task Finished ===
[taskcluster 2025-12-17 10:56:28.871Z] Successful task run with exit code: 0 completed in 274.535 seconds