Repository navigation
WebMCP: Implement tool name validation - #59676
Community-TC (pull_request)
Verify that all tests affected by a pull request are stable when executed in firefox.
Details
View task in Taskcluster | View logs in Taskcluster | View task group in Taskcluster
Task Status
Started: 2026-05-06T04:21:11.494Z
Resolved: 2026-05-06T04:26:59.513Z
Task Execution Time: 5 minutes, 48 seconds, 19 milliseconds
Task Status: completed
Reason Resolved: completed
TaskId: EM4QTbRlQ6Suu_9eETiBtQ
RunId: 0
Artifacts
- public/logs/live_backing.log
- public/logs/live.log
- public/results/checkrun.md
WPT Command: python3 ./wpt run --channel=nightly --verify --verify-no-chaos-mode --verify-repeat-loop=0 --verify-repeat-restart=10 --github-checks-text-file=/home/test/artifacts/checkrun.md --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 2026-05-06 04:21:11.557Z] Task ID: EM4QTbRlQ6Suu_9eETiBtQ
[taskcluster 2026-05-06 04:21:11.557Z] Worker ID: 3641721619670876343
[taskcluster 2026-05-06 04:21:11.557Z] Worker Group: us-east4-a
[taskcluster 2026-05-06 04:21:11.557Z] Worker Node Type: projects/757942385826/machineTypes/n2-standard-4
[taskcluster 2026-05-06 04:21:11.557Z] Worker Pool: proj-wpt/ci
[taskcluster 2026-05-06 04:21:11.557Z] Worker Version: 46.1.0
[taskcluster 2026-05-06 04:21:11.557Z] Public IP: 34.48.73.71
[taskcluster 2026-05-06 04:21:11.557Z] Hostname: proj-wpt-ci-mbh3rbbereaxk8xjthtvda
[taskcluster 2026-05-06 04:21:12.641Z] === 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
...(2404 lines hidden)...
Ran 30 checks (20 subtests, 10 tests)
Expected results: 10
Unexpected results: 20
subtest: 20 (20 fail)
Error Summary
-------------
/webmcp/imperative/register_tool_name_validation.https.window.html
FAIL Valid tool names are accepted. - can't access property "registerTool", navigator.modelContext is undefined
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:15:5
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
test@https://web-platform.test:8443/resources/testharness.js:633:30
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:1:5
FAIL Invalid tool names throw InvalidStateError. - assert_throws_dom: Tool name '' is invalid. function "() => {
navigator.modelContext.registerTool({
name: name,
description: 'invalid name test',
execute: async () => 'empty'
});
}" threw object "TypeError: can't access property "registerTool", navigator.modelContext is undefined" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:59:22
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
test@https://web-platform.test:8443/resources/testharness.js:633:30
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:23:5
FAIL Valid tool names are accepted. - can't access property "registerTool", navigator.modelContext is undefined
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:15:5
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
test@https://web-platform.test:8443/resources/testharness.js:633:30
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:1:5
FAIL Invalid tool names throw InvalidStateError. - assert_throws_dom: Tool name '' is invalid. function "() => {
navigator.modelContext.registerTool({
name: name,
description: 'invalid name test',
execute: async () => 'empty'
});
}" threw object "TypeError: can't access property "registerTool", navigator.modelContext is undefined" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:59:22
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
test@https://web-platform.test:8443/resources/testharness.js:633:30
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:23:5
FAIL Valid tool names are accepted. - can't access property "registerTool", navigator.modelContext is undefined
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:15:5
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
test@https://web-platform.test:8443/resources/testharness.js:633:30
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:1:5
FAIL Invalid tool names throw InvalidStateError. - assert_throws_dom: Tool name '' is invalid. function "() => {
navigator.modelContext.registerTool({
name: name,
description: 'invalid name test',
execute: async () => 'empty'
});
}" threw object "TypeError: can't access property "registerTool", navigator.modelContext is undefined" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:59:22
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
test@https://web-platform.test:8443/resources/testharness.js:633:30
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:23:5
FAIL Valid tool names are accepted. - can't access property "registerTool", navigator.modelContext is undefined
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:15:5
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
test@https://web-platform.test:8443/resources/testharness.js:633:30
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:1:5
FAIL Invalid tool names throw InvalidStateError. - assert_throws_dom: Tool name '' is invalid. function "() => {
navigator.modelContext.registerTool({
name: name,
description: 'invalid name test',
execute: async () => 'empty'
});
}" threw object "TypeError: can't access property "registerTool", navigator.modelContext is undefined" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:59:22
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
test@https://web-platform.test:8443/resources/testharness.js:633:30
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:23:5
FAIL Valid tool names are accepted. - can't access property "registerTool", navigator.modelContext is undefined
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:15:5
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
test@https://web-platform.test:8443/resources/testharness.js:633:30
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:1:5
FAIL Invalid tool names throw InvalidStateError. - assert_throws_dom: Tool name '' is invalid. function "() => {
navigator.modelContext.registerTool({
name: name,
description: 'invalid name test',
execute: async () => 'empty'
});
}" threw object "TypeError: can't access property "registerTool", navigator.modelContext is undefined" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:59:22
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
test@https://web-platform.test:8443/resources/testharness.js:633:30
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:23:5
FAIL Valid tool names are accepted. - can't access property "registerTool", navigator.modelContext is undefined
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:15:5
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
test@https://web-platform.test:8443/resources/testharness.js:633:30
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:1:5
FAIL Invalid tool names throw InvalidStateError. - assert_throws_dom: Tool name '' is invalid. function "() => {
navigator.modelContext.registerTool({
name: name,
description: 'invalid name test',
execute: async () => 'empty'
});
}" threw object "TypeError: can't access property "registerTool", navigator.modelContext is undefined" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:59:22
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
test@https://web-platform.test:8443/resources/testharness.js:633:30
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:23:5
FAIL Valid tool names are accepted. - can't access property "registerTool", navigator.modelContext is undefined
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:15:5
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
test@https://web-platform.test:8443/resources/testharness.js:633:30
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:1:5
FAIL Invalid tool names throw InvalidStateError. - assert_throws_dom: Tool name '' is invalid. function "() => {
navigator.modelContext.registerTool({
name: name,
description: 'invalid name test',
execute: async () => 'empty'
});
}" threw object "TypeError: can't access property "registerTool", navigator.modelContext is undefined" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:59:22
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
test@https://web-platform.test:8443/resources/testharness.js:633:30
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:23:5
FAIL Valid tool names are accepted. - can't access property "registerTool", navigator.modelContext is undefined
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:15:5
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
test@https://web-platform.test:8443/resources/testharness.js:633:30
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:1:5
FAIL Invalid tool names throw InvalidStateError. - assert_throws_dom: Tool name '' is invalid. function "() => {
navigator.modelContext.registerTool({
name: name,
description: 'invalid name test',
execute: async () => 'empty'
});
}" threw object "TypeError: can't access property "registerTool", navigator.modelContext is undefined" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:59:22
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
test@https://web-platform.test:8443/resources/testharness.js:633:30
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:23:5
FAIL Valid tool names are accepted. - can't access property "registerTool", navigator.modelContext is undefined
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:15:5
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
test@https://web-platform.test:8443/resources/testharness.js:633:30
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:1:5
FAIL Invalid tool names throw InvalidStateError. - assert_throws_dom: Tool name '' is invalid. function "() => {
navigator.modelContext.registerTool({
name: name,
description: 'invalid name test',
execute: async () => 'empty'
});
}" threw object "TypeError: can't access property "registerTool", navigator.modelContext is undefined" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:59:22
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
test@https://web-platform.test:8443/resources/testharness.js:633:30
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:23:5
FAIL Valid tool names are accepted. - can't access property "registerTool", navigator.modelContext is undefined
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:15:5
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
test@https://web-platform.test:8443/resources/testharness.js:633:30
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:1:5
FAIL Invalid tool names throw InvalidStateError. - assert_throws_dom: Tool name '' is invalid. function "() => {
navigator.modelContext.registerTool({
name: name,
description: 'invalid name test',
execute: async () => 'empty'
});
}" threw object "TypeError: can't access property "registerTool", navigator.modelContext is undefined" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:59:22
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
test@https://web-platform.test:8443/resources/testharness.js:633:30
@https://web-platform.test:8443/webmcp/imperative/register_tool_name_validation.https.window.js:23:5
2:02.49 INFO Got 10 unexpected results, with 0 unexpected passes
2:02.49 wptserve INFO Stopped http server on 127.0.0.1:8000
2:02.49 wptserve INFO Stopped http server on 127.0.0.1:8001
2:02.51 wptserve INFO Stopped http server on 127.0.0.1:8002
2:02.52 wptserve INFO Stopped http server on 127.0.0.1:8003
2:02.52 wptserve INFO Stopped http server on 127.0.0.1:8443
2:02.52 wptserve INFO Stopped http server on 127.0.0.1:8444
2:02.52 wptserve INFO Stopped http server on 127.0.0.1:8446
2:02.52 wptserve INFO Stopped http server on 127.0.0.1:8445
2:02.52 wptserve INFO Stopped WebTransport over HTTP/3 server on 127.0.0.1:11000
2:02.52 wptserve INFO Stopped http server on 127.0.0.1:9000
2:02.57 wptserve INFO Close on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8889))
2:02.57 wptserve INFO Close on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8888))
2:02.72 INFO Removed font: Ahem.ttf
2:02.75 INFO Closing logging queue
2:02.75 INFO queue closed
2:02.76 INFO ::: Ran 10 of expected 10 iterations.
2:02.76 INFO ## All results ##
2:02.76 INFO ### /webmcp/imperative/register_tool_name_validation.https.window.html ###
2:02.76 INFO | Subtest | Results | Messages |
2:02.76 INFO |-----------------------------------------------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
2:02.76 INFO | | OK | |
2:02.76 INFO | `Valid tool names are accepted.` | FAIL | `can't access property "registerTool", navigator.modelContext is undefined` |
2:02.76 INFO | `Invalid tool names throw InvalidStateError.` | FAIL | `assert_throws_dom: Tool name '' is invalid. function "() => {\n navigator.modelContext.registerTool({\n name: name,\n description: 'invalid name test',\n execute: async () => 'empty'\n });\n }" threw object "TypeError: can't access property "registerTool", navigator.modelContext is undefined" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11` |
2:02.76 INFO
2:02.76 INFO ::: Running tests in a loop with restarts 10 times : PASS
2:02.76 INFO :::
2:02.76 INFO ::: Test verification PASS
2:02.76 INFO :::
[taskcluster 2026-05-06 04:26:57.766Z] === Task Finished ===
[taskcluster 2026-05-06 04:26:58.189Z] Successful task run with exit code: 0 completed in 346.632 seconds