Skip to content

WebMCP: tentative input validation tests for #92 - #62426

Open
arnabwithab wants to merge 1 commit into
web-platform-tests:masterfrom
arnabwithab:webmcp-input-validation-92
Open

arnabwithab wants to merge 1 commit into
web-platform-tests:masterfrom
arnabwithab:webmcp-input-validation-92

WebMCP: tentative input validation tests for #92

b32e5ca
Select commit
Loading
Failed to load commit list.
Community-TC Integration / wpt-firefox-nightly-results succeeded Sep 3, 2026 in 4m 42s

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: 2026-09-03T20:33:22.906Z
Resolved: 2026-09-03T20:38:03.820Z
Task Execution Time: 4 minutes, 40 seconds, 914 milliseconds
Task Status: completed
Reason Resolved: completed
TaskId: E9HGWUvBSduhU_mSPKheTA
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 2026-09-03 20:33:22.975Z] Task ID: E9HGWUvBSduhU_mSPKheTA
[taskcluster 2026-09-03 20:33:22.976Z] Worker ID: 3529885000557409836
[taskcluster 2026-09-03 20:33:22.976Z] Worker Group: us-east1-d
[taskcluster 2026-09-03 20:33:22.976Z] Worker Node Type: projects/757942385826/machineTypes/n2-standard-4
[taskcluster 2026-09-03 20:33:22.976Z] Worker Pool: proj-wpt/ci
[taskcluster 2026-09-03 20:33:22.976Z] Worker Version: 46.1.0
[taskcluster 2026-09-03 20:33:22.976Z] Public IP: 34.139.35.64
[taskcluster 2026-09-03 20:33:22.976Z] Hostname: proj-wpt-ci-h5urbhrbt4sh-upuwzzblq

[taskcluster 2026-09-03 20:33:24.124Z] === 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

...(374 lines hidden)...

 0:42.88 INFO Getting profile data from git ref 298cf786229591e2159a3933605df11e07709d6f
 0:43.11 INFO Test prefs downloaded to /home/test/web-platform-tests/_venv3/profiles/298cf786229591e2159a3933605df11e07709d6f/157.0a1
 0:43.11 INFO Downloading OpenH264 plugin
 0:43.41 INFO Downloading openh264.json from git ref 298cf786229591e2159a3933605df11e07709d6f
 0:43.45 INFO Downloading OpenH264 plugin from https://ciscobinary.openh264.org/openh264-linux64-652bdb7719f30b52b08e506645a7322ff1b2cc6f.zip
 0:43.66 INFO OpenH264 plugin installed to /home/test/web-platform-tests/_venv3/browsers/nightly/gmp-gmpopenh264/2.6.0
 0:43.66 INFO Using OpenH264 plugin in /home/test/web-platform-tests/_venv3/browsers/nightly/gmp-gmpopenh264/2.6.0
[1946] Sandbox: CanCreateUserNamespace() clone() failure: EPERM
 0:43.71 mozversion INFO application_buildid: 20260903090739
 0:43.71 mozversion INFO application_changeset: 3dc0b00c483ccb5bf8372c567eec313a6e67bf28
 0:43.71 mozversion INFO application_display_name: Firefox Nightly
 0:43.71 mozversion INFO application_id: {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
 0:43.71 mozversion INFO application_name: Firefox
 0:43.71 mozversion INFO application_remotingname: firefox-nightly
 0:43.71 mozversion INFO application_repository: https://hg.mozilla.org/mozilla-central
 0:43.71 mozversion INFO application_vendor: Mozilla
 0:43.71 mozversion INFO application_version: 157.0a1
 0:43.71 mozversion INFO platform_buildid: 20260903090739
 0:43.71 mozversion INFO platform_changeset: 3dc0b00c483ccb5bf8372c567eec313a6e67bf28
 0:43.71 mozversion INFO platform_repository: https://hg.mozilla.org/mozilla-central
 0:43.71 mozversion INFO platform_version: 157.0a1
 0:53.45 INFO Installed font: Ahem.ttf
 0:54.34 wptserve INFO Starting http server on http://127.0.0.1:8000
 0:54.38 wptserve INFO Starting http server on http://127.0.0.1:8002
 0:54.45 wptserve INFO Create socket on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8889))
 0:54.45 wptserve INFO Bind on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8889))
 0:54.45 wptserve INFO Listen on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8889))
 0:54.45 wptserve INFO Starting http server on http://127.0.0.1:8003
 0:54.45 wptserve INFO Starting https server on https://127.0.0.1:8445
 0:54.46 wptserve INFO Starting http server on http://127.0.0.1:8001
 0:54.46 wptserve INFO Starting https server on https://127.0.0.1:8444
 0:54.47 wptserve INFO Starting https server on https://127.0.0.1:8443
 0:54.47 wptserve INFO Starting https server on https://127.0.0.1:8446
 0:54.48 wptserve INFO Create socket on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8888))
 0:54.48 wptserve INFO Bind on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8888))
 0:54.48 wptserve INFO Listen on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8888))
 0:54.49 wptserve INFO Starting http2 server on https://127.0.0.1:9000
 0:54.58 wptserve INFO Starting WebTransport over HTTP/3 server on 127.0.0.1:11000
 0:54.85 SUITE_START: web-platform-test - running 2 tests
 1:16.03 INFO Using 1 child processes
 1:16.05 INFO Setting up ssl
 1:16.07 certutil Full command: /usr/bin/certutil -N -d /tmp/tmp63h1li6d.mozrunner -f /tmp/tmp63h1li6d.mozrunner/.crtdbpw
certutil b''
 1:16.09 certutil b''
 1:16.09 certutil b'\nCertificate Nickname                                         Trust Attributes\n                                                             SSL,S/MIME,JAR/XPI\n\nweb-platform-tests                                           CT,, \n'
 1:16.09 INFO Application command: /home/test/build/firefox/firefox --marionette --remote-allow-system-access about:blank -profile /tmp/tmpf95tgtje
 1:16.11 INFO Starting runner
 1:16.11 pid:2050 Full command: /home/test/build/firefox/firefox --marionette --remote-allow-system-access about:blank
pid:2050 [2050] Sandbox: CanCreateUserNamespace() clone() failure: EPERM
 1:16.67 pid:2050 1788467873579	Marionette	INFO	Marionette enabled
 1:16.76 pid:2050 1788467873671	Marionette	INFO	Listening on port 47851
Failed to read: session.screen0.titlebar.left
Setting default value
Failed to read: session.screen0.titlebar.right
Setting default value
 1:19.14 pid:2050 console.error: services.settings:
 1:19.14 pid:2050   Message: EmptyDatabaseError: "main/nimbus-desktop-experiments" has not been synced yet
 1:19.14 pid:2050   Stack:
 1:19.14 pid:2050     EmptyDatabaseError@resource://services-settings/Database.sys.mjs:19:5
 1:19.14 pid:2050 list@resource://services-settings/Database.sys.mjs:96:13
 1:19.63 TEST_START: /webmcp/imperative/executeTool-input-validation.tentative.https.html
 1:20.27 TEST_END: Test OK. Subtests passed 0/6. Unexpected 6
FAIL missing required field rejects with DataError - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"FAIL enum mismatch rejects with DataError - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"FAIL valid enum value succeeds - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"FAIL pattern mismatch rejects with DataError - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"FAIL valid complex schema succeeds - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"FAIL invalid → DataError → retry with corrected input succeeds - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
 1:20.27 TEST_START: /webmcp/imperative/register_tool_invalid_subset_schema.tentative.https.html
 1:20.28 INFO Closing window 46c13bd1-44a0-4509-8664-10f51cb16abc
 1:20.55 TEST_END: Test OK. Subtests passed 0/9. Unexpected 9
FAIL registerTool rejects $ref (remote/DAG, excluded) - can't access property "registerTool", document.modelContext is undefined
test_invalid_subset/<@https://web-platform.test:8443/webmcp/imperative/register_tool_invalid_subset_schema.tentative.https.html:16:7
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
promise_test/tests.promise_tests</<@https://web-platform.test:8443/resources/testharness.js:738:36
promise_test/tests.promise_tests<@https://web-platform.test:8443/resources/testharness.js:737:20
FAIL registerTool rejects format (excluded) - can't access property "registerTool", document.modelContext is undefined
test_invalid_subset/<@https://web-platform.test:8443/webmcp/imperative/register_tool_invalid_subset_schema.tentative.https.html:16:7
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
promise_test/tests.promise_tests</<@https://web-platform.test:8443/resources/testharness.js:738:36
promise_test/tests.promise_tests<@https://web-platform.test:8443/resources/testharness.js:737:20
FAIL registerTool rejects additionalProperties:true (only false allowed) - can't access property "registerTool", document.modelContext is undefined
test_invalid_subset/<@https://web-platform.test:8443/webmcp/imperative/register_tool_invalid_subset_schema.tentative.https.html:16:7
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
promise_test/tests.promise_tests</<@https://web-platform.test:8443/resources/testharness.js:738:36
promise_test/tests.promise_tests<@https://web-platform.test:8443/resources/testharness.js:737:20
FAIL registerTool rejects additionalProperties schema (only false allowed) - can't access property "registerTool", document.modelContext is undefined
test_invalid_subset/<@https://web-platform.test:8443/webmcp/imperative/register_tool_invalid_subset_schema.tentative.https.html:16:7
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
promise_test/tests.promise_tests</<@https://web-platform.test:8443/resources/testharness.js:738:36
promise_test/tests.promise_tests<@https://web-platform.test:8443/resources/testharness.js:737:20
FAIL registerTool rejects unevaluatedProperties (excluded) - can't access property "registerTool", document.modelContext is undefined
test_invalid_subset/<@https://web-platform.test:8443/webmcp/imperative/register_tool_invalid_subset_schema.tentative.https.html:16:7
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
promise_test/tests.promise_tests</<@https://web-platform.test:8443/resources/testharness.js:738:36
promise_test/tests.promise_tests<@https://web-platform.test:8443/resources/testharness.js:737:20
FAIL registerTool rejects dependentRequired (excluded) - can't access property "registerTool", document.modelContext is undefined
test_invalid_subset/<@https://web-platform.test:8443/webmcp/imperative/register_tool_invalid_subset_schema.tentative.https.html:16:7
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
promise_test/tests.promise_tests</<@https://web-platform.test:8443/resources/testharness.js:738:36
promise_test/tests.promise_tests<@https://web-platform.test:8443/resources/testharness.js:737:20
FAIL registerTool rejects invalid pattern (throws on RegExp) - can't access property "registerTool", document.modelContext is undefined
test_invalid_subset/<@https://web-platform.test:8443/webmcp/imperative/register_tool_invalid_subset_schema.tentative.https.html:16:7
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
promise_test/tests.promise_tests</<@https://web-platform.test:8443/resources/testharness.js:738:36
promise_test/tests.promise_tests<@https://web-platform.test:8443/resources/testharness.js:737:20
FAIL registerTool rejects $defs (excluded) - can't access property "registerTool", document.modelContext is undefined
test_invalid_subset/<@https://web-platform.test:8443/webmcp/imperative/register_tool_invalid_subset_schema.tentative.https.html:16:7
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
promise_test/tests.promise_tests</<@https://web-platform.test:8443/resources/testharness.js:738:36
promise_test/tests.promise_tests<@https://web-platform.test:8443/resources/testharness.js:737:20
FAIL registerTool rejects contentEncoding (excluded) - can't access property "registerTool", document.modelContext is undefined
test_invalid_subset/<@https://web-platform.test:8443/webmcp/imperative/register_tool_invalid_subset_schema.tentative.https.html:16:7
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
promise_test/tests.promise_tests</<@https://web-platform.test:8443/resources/testharness.js:738:36
promise_test/tests.promise_tests<@https://web-platform.test:8443/resources/testharness.js:737:20

 1:20.55 INFO No more tests
 1:20.55 pid:2050 1788467877455	Marionette	INFO	Stopped listening on port 47851
 1:21.09 INFO Browser exited with return code 0
 1:20.89 INFO Closing logging queue
 1:20.89 INFO queue closed
 1:21.10 SUITE_END

web-platform-test
~~~~~~~~~~~~~~~~~
Ran 17 checks (15 subtests, 2 tests)
Expected results: 2
Unexpected results: 15
  subtest: 15 (15 fail)

Error Summary
-------------
/webmcp/imperative/executeTool-input-validation.tentative.https.html
  FAIL missing required field rejects with DataError - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
  FAIL enum mismatch rejects with DataError - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
  FAIL valid enum value succeeds - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
  FAIL pattern mismatch rejects with DataError - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
  FAIL valid complex schema succeeds - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
  FAIL invalid → DataError → retry with corrected input succeeds - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
/webmcp/imperative/register_tool_invalid_subset_schema.tentative.https.html
  FAIL registerTool rejects $ref (remote/DAG, excluded) - can't access property "registerTool", document.modelContext is undefined
test_invalid_subset/<@https://web-platform.test:8443/webmcp/imperative/register_tool_invalid_subset_schema.tentative.https.html:16:7
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
promise_test/tests.promise_tests</<@https://web-platform.test:8443/resources/testharness.js:738:36
promise_test/tests.promise_tests<@https://web-platform.test:8443/resources/testharness.js:737:20
  FAIL registerTool rejects format (excluded) - can't access property "registerTool", document.modelContext is undefined
test_invalid_subset/<@https://web-platform.test:8443/webmcp/imperative/register_tool_invalid_subset_schema.tentative.https.html:16:7
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
promise_test/tests.promise_tests</<@https://web-platform.test:8443/resources/testharness.js:738:36
promise_test/tests.promise_tests<@https://web-platform.test:8443/resources/testharness.js:737:20
  FAIL registerTool rejects additionalProperties:true (only false allowed) - can't access property "registerTool", document.modelContext is undefined
test_invalid_subset/<@https://web-platform.test:8443/webmcp/imperative/register_tool_invalid_subset_schema.tentative.https.html:16:7
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
promise_test/tests.promise_tests</<@https://web-platform.test:8443/resources/testharness.js:738:36
promise_test/tests.promise_tests<@https://web-platform.test:8443/resources/testharness.js:737:20
  FAIL registerTool rejects additionalProperties schema (only false allowed) - can't access property "registerTool", document.modelContext is undefined
test_invalid_subset/<@https://web-platform.test:8443/webmcp/imperative/register_tool_invalid_subset_schema.tentative.https.html:16:7
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
promise_test/tests.promise_tests</<@https://web-platform.test:8443/resources/testharness.js:738:36
promise_test/tests.promise_tests<@https://web-platform.test:8443/resources/testharness.js:737:20
  FAIL registerTool rejects unevaluatedProperties (excluded) - can't access property "registerTool", document.modelContext is undefined
test_invalid_subset/<@https://web-platform.test:8443/webmcp/imperative/register_tool_invalid_subset_schema.tentative.https.html:16:7
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
promise_test/tests.promise_tests</<@https://web-platform.test:8443/resources/testharness.js:738:36
promise_test/tests.promise_tests<@https://web-platform.test:8443/resources/testharness.js:737:20
  FAIL registerTool rejects dependentRequired (excluded) - can't access property "registerTool", document.modelContext is undefined
test_invalid_subset/<@https://web-platform.test:8443/webmcp/imperative/register_tool_invalid_subset_schema.tentative.https.html:16:7
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
promise_test/tests.promise_tests</<@https://web-platform.test:8443/resources/testharness.js:738:36
promise_test/tests.promise_tests<@https://web-platform.test:8443/resources/testharness.js:737:20
  FAIL registerTool rejects invalid pattern (throws on RegExp) - can't access property "registerTool", document.modelContext is undefined
test_invalid_subset/<@https://web-platform.test:8443/webmcp/imperative/register_tool_invalid_subset_schema.tentative.https.html:16:7
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
promise_test/tests.promise_tests</<@https://web-platform.test:8443/resources/testharness.js:738:36
promise_test/tests.promise_tests<@https://web-platform.test:8443/resources/testharness.js:737:20
  FAIL registerTool rejects $defs (excluded) - can't access property "registerTool", document.modelContext is undefined
test_invalid_subset/<@https://web-platform.test:8443/webmcp/imperative/register_tool_invalid_subset_schema.tentative.https.html:16:7
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
promise_test/tests.promise_tests</<@https://web-platform.test:8443/resources/testharness.js:738:36
promise_test/tests.promise_tests<@https://web-platform.test:8443/resources/testharness.js:737:20
  FAIL registerTool rejects contentEncoding (excluded) - can't access property "registerTool", document.modelContext is undefined
test_invalid_subset/<@https://web-platform.test:8443/webmcp/imperative/register_tool_invalid_subset_schema.tentative.https.html:16:7
Test.prototype.step@https://web-platform.test:8443/resources/testharness.js:2869:25
promise_test/tests.promise_tests</<@https://web-platform.test:8443/resources/testharness.js:738:36
promise_test/tests.promise_tests<@https://web-platform.test:8443/resources/testharness.js:737:20
 1:21.10 INFO Got 2 unexpected results, with 0 unexpected passes
 1:21.10 wptserve INFO Stopped http server on 127.0.0.1:8000
 1:21.10 wptserve INFO Stopped http server on 127.0.0.1:8001
 1:21.10 wptserve INFO Stopped http server on 127.0.0.1:8002
 1:21.12 wptserve INFO Stopped http server on 127.0.0.1:8003
 1:21.12 wptserve INFO Stopped http server on 127.0.0.1:8444
 1:21.12 wptserve INFO Stopped http server on 127.0.0.1:8443
 1:21.12 wptserve INFO Stopped http server on 127.0.0.1:8445
 1:21.12 wptserve INFO Stopped http server on 127.0.0.1:8446
 1:21.12 wptserve INFO Stopped WebTransport over HTTP/3 server on 127.0.0.1:11000
 1:21.12 wptserve INFO Stopped http server on 127.0.0.1:9000
 1:21.38 wptserve INFO Close on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8889))
 1:21.38 wptserve INFO Close on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8888))
 1:21.43 INFO Removed font: Ahem.ttf
 1:21.46 INFO Closing logging queue
 1:21.46 INFO queue closed
 1:21.46 INFO Tolerating 2 unexpected results
[taskcluster 2026-09-03 20:38:00.981Z] === Task Finished ===
[taskcluster 2026-09-03 20:38:02.089Z] Successful task run with exit code: 0 completed in 279.114 seconds