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-stability succeeded Sep 3, 2026 in 3m 59s

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-09-03T20:33:28.418Z
Resolved: 2026-09-03T20:37:27.100Z
Task Execution Time: 3 minutes, 58 seconds, 682 milliseconds
Task Status: completed
Reason Resolved: completed
TaskId: fgpEc3IHRq2S4lqMy_PoDA
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-09-03 20:33:28.482Z] Task ID: fgpEc3IHRq2S4lqMy_PoDA
[taskcluster 2026-09-03 20:33:28.482Z] Worker ID: 3266361191847785703
[taskcluster 2026-09-03 20:33:28.482Z] Worker Group: us-east1-b
[taskcluster 2026-09-03 20:33:28.482Z] Worker Node Type: projects/757942385826/machineTypes/n2-standard-4
[taskcluster 2026-09-03 20:33:28.482Z] Worker Pool: proj-wpt/ci
[taskcluster 2026-09-03 20:33:28.482Z] Worker Version: 46.1.0
[taskcluster 2026-09-03 20:33:28.482Z] Public IP: 35.227.48.142
[taskcluster 2026-09-03 20:33:28.482Z] Hostname: proj-wpt-ci-c0o2z-snroou2qzbklfelw

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

...(5988 lines hidden)...

  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
  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
  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
  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
 2:43.40 INFO Got 20 unexpected results, with 0 unexpected passes
 2:43.40 wptserve INFO Stopped http server on 127.0.0.1:8001
 2:43.40 wptserve INFO Stopped http server on 127.0.0.1:8000
 2:43.40 wptserve INFO Stopped http server on 127.0.0.1:8002
 2:43.41 wptserve INFO Stopped http server on 127.0.0.1:8003
 2:43.41 wptserve INFO Stopped http server on 127.0.0.1:8443
 2:43.41 wptserve INFO Stopped http server on 127.0.0.1:8444
 2:43.41 wptserve INFO Stopped http server on 127.0.0.1:8445
 2:43.42 wptserve INFO Stopped http server on 127.0.0.1:8446
 2:43.43 wptserve INFO Stopped http server on 127.0.0.1:9000
 2:43.43 wptserve INFO Stopped WebTransport over HTTP/3 server on 127.0.0.1:11000
 2:43.58 wptserve INFO Close on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8888))
 2:43.58 wptserve INFO Close on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8889))
 2:43.62 INFO Removed font: Ahem.ttf
 2:43.65 INFO Closing logging queue
 2:43.65 INFO queue closed
 2:43.65 INFO ::: Ran 10 of expected 10 iterations.
 2:43.65 INFO ## All results ##

 2:43.65 INFO ### /webmcp/imperative/executeTool-input-validation.tentative.https.html ###
 2:43.65 INFO |                           Subtest                           | Results |                                                                   Messages                                                                   |
 2:43.65 INFO |-------------------------------------------------------------|---------|----------------------------------------------------------------------------------------------------------------------------------------------|
 2:43.65 INFO |                                                             | OK      |                                                                                                                                              |
 2:43.65 INFO | `missing required field rejects with DataError`             | FAIL    | `promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"` |
 2:43.65 INFO | `enum mismatch rejects with DataError`                      | FAIL    | `promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"` |
 2:43.65 INFO | `valid enum value succeeds`                                 | FAIL    | `promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"` |
 2:43.65 INFO | `pattern mismatch rejects with DataError`                   | FAIL    | `promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"` |
 2:43.65 INFO | `valid complex schema succeeds`                             | FAIL    | `promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"` |
 2:43.66 INFO | `invalid → DataError → retry with corrected input succeeds` | FAIL    | `promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"` |
 2:43.66 INFO 
 2:43.66 INFO ### /webmcp/imperative/register_tool_invalid_subset_schema.tentative.https.html ###
 2:43.66 INFO |                                 Subtest                                 | Results |                                  Messages                                  |
 2:43.66 INFO |-------------------------------------------------------------------------|---------|----------------------------------------------------------------------------|
 2:43.66 INFO |                                                                         | OK      |                                                                            |
 2:43.66 INFO | `registerTool rejects $ref (remote/DAG, excluded)`                      | FAIL    | `can't access property "registerTool", document.modelContext is undefined` |
 2:43.66 INFO | `registerTool rejects format (excluded)`                                | FAIL    | `can't access property "registerTool", document.modelContext is undefined` |
 2:43.66 INFO | `registerTool rejects additionalProperties:true (only false allowed)`   | FAIL    | `can't access property "registerTool", document.modelContext is undefined` |
 2:43.66 INFO | `registerTool rejects additionalProperties schema (only false allowed)` | FAIL    | `can't access property "registerTool", document.modelContext is undefined` |
 2:43.66 INFO | `registerTool rejects unevaluatedProperties (excluded)`                 | FAIL    | `can't access property "registerTool", document.modelContext is undefined` |
 2:43.66 INFO | `registerTool rejects dependentRequired (excluded)`                     | FAIL    | `can't access property "registerTool", document.modelContext is undefined` |
 2:43.66 INFO | `registerTool rejects invalid pattern (throws on RegExp)`               | FAIL    | `can't access property "registerTool", document.modelContext is undefined` |
 2:43.66 INFO | `registerTool rejects $defs (excluded)`                                 | FAIL    | `can't access property "registerTool", document.modelContext is undefined` |
 2:43.66 INFO | `registerTool rejects contentEncoding (excluded)`                       | FAIL    | `can't access property "registerTool", document.modelContext is undefined` |
 2:43.66 INFO 
 2:43.66 INFO ::: Running tests in a loop with restarts 10 times : PASS
 2:43.66 INFO :::
 2:43.66 INFO ::: Test verification PASS
 2:43.66 INFO :::
[taskcluster 2026-09-03 20:37:25.312Z] === Task Finished ===
[taskcluster 2026-09-03 20:37:25.749Z] Successful task run with exit code: 0 completed in 237.268 seconds