Run the full 13,631-case profile on source 112a97e61 with Moli and Chromium
145.0.7632.116 at parallelism 50, using WPT db95fafd1fcef8428805e41eb5705d444e8c67ce.
The case set and fixed scheduling order match the previous full run.
Moli: 9,540 pass, 3,704 fail, 263 timeout, 61 error, 10 crash, 53 harness-stalled.
Chromium: 11,388 pass, 1,897 fail, 242 timeout, 16 error, 18 crash, 70 harness-stalled.
All three JSON module regressions pass on both engines. Relative to 7d9a0a98c,
11 cases gain pass and five lose pass, for a net increase of six.
Keep raw full-run outcomes. Four pass losses pass once on both frozen binaries
in focused diagnostics; SharedWorker-extendedLifetime fails identically in
all three focused runs on each binary, including the pre-fix build.
Validate complete per-engine execution, exact raw/matrix agreement, and sorted,
disjoint, exhaustive status lists. No missing cases or recovery placeholders.
Run the unfiltered all profile against WPT db95fafd1f with Moli built
from 7f9b8b63d (dev, debug=0) and Chromium 145.0.7632.116, using 50 CDP
workers. Both engines execute all 13,631 cases without setup errors,
missing results, or unexecuted recovery placeholders.
Moli: 9,534 pass, 3,708 fail, 264 timeout, 63 error, 52 harness-stalled,
and 10 crash. Chromium: 11,383 pass, 1,899 fail, 242 timeout, 17 error,
72 harness-stalled, and 18 crash.
Compared with the previous lists, 171 cases gain pass and 11 lose pass,
for a net gain of 160. Of the previous refresh's 104 pass losses, 101
now pass, two fail, and one errors. Retain the original full-run
outcomes; separate diagnostic reruns do not replace list statuses.
Validate all eight lists against the raw results and matrix: sorted,
disjoint, exhaustive, and complete. git diff --check passes.
Run unfiltered profile all on WPT db95fafd1fcef8428805e41eb5705d444e8c67ce
with Moli built from 8ba39c4aa1 and Chromium 145.0.7632.116, 50 workers.
Both engines produced results for all 13,631 cases.
Moli: 9,374 pass, 3,686 fail, 260 timeout, 247 error, 54 harness-stalled,
10 crash. Chromium: 11,334 pass, 1,888 fail, 272 timeout, 30 error,
89 harness-stalled, 18 crash.
Complete 91 previously unexecuted cases after a worker exhausted its
restart budget, using the same binary and fixture in bounded batches.
Use their first measured outcomes (63 pass, 26 fail, 2 timeout); preserve
all actual full-run failures and crashes. Both samesite-iframe and
empty-preload-response-body now pass in both engines.
Validate all eight status lists against the raw results and matrix:
sorted, disjoint, exhaustive, with no missing or unexecuted cases.
Compared with the previous refresh, 65 cases gain pass and 104 lose pass
(98 probe errors, 6 failures). Before/after diagnostic rechecks recover
31 of those 104 on the fixed binary; the other 73 also fail or error on
the old binary. Diagnostic retries do not replace full-run outcomes.
Run the unfiltered all profile on Moli c429911cdf and Chromium
145.0.7632.116 using WPT db95fafd1f and 50 CDP workers. Moli was
built from this branch with cargo build --locked (dev, debug=0).
Both engines completed all 13,631 cases without setup errors or
recovery-aborted cases. Keep the existing 13,558 cases and add 73.
Moli: 9,413 pass, 3,687 fail, 264 timeout, 202 error, 55
harness-stalled, and 10 crash. Chromium: 11,380 pass, 1,899 fail,
243 timeout, 19 error, 72 harness-stalled, and 18 crash.
Verify all eight lists are sorted, disjoint, complete and exactly
match the Moli matrix. Preserve the raw statuses, including 200
five-second CDP evaluate probe timeouts. The previous snapshot
used Moli d40181f729; this refresh is not a controlled fixture A/B.
Reconcile the shared HTTP handlers and discovery rules from the split PRs with the complete fixture surface in wpt-misc-fix. Share stash namespaces and XHR dispatch, retain the existing testdriver bridge, preserve raw header values, and carry forward the remaining pipe, template, and dynamic-import regressions.
Validation: 742 Python tests across 74 modules pass; focused Ruff checks and git diff --check pass. With fixed Moli and Chromium binaries, a 27-case WPT comparison against main improves whole-case passes from 7 to 26 and 6 to 23 respectively, with no previously passing case regressing.
Bring the remaining Fetch header fixtures from wpt-misc-fix, including early responses to unread uploads, CORS metadata, response status pipes, and handler discovery. Consolidates d210a13a5d and 8e2764e6cd with their current regression tests.
Implement preload/resources/preload-count.py and admit its exact references
during case discovery. Resource requests increment a shared counter and fail
with 404; result requests return JavaScript and consume the count. This lets
the unsupported-type WPT verify that no preload request was sent.
Validation: 432 Python WPT tests across 31 modules, run with 32 workers.
Moli and Chromium both pass the affected WPT and the two related MIME cases
(47 subtests per engine). Only Python and the WPT pass ledger changed.
(cherry picked from commit b8a3d0497d3575200ce28896c8bcde7f8c4719c4)
Serve Fetch redirect.py with upstream Origin and credentials responses,
preflight handling, query inheritance, counters, delays and form status codes.
Recognize its relative, absolute and RESOURCES_DIR references during discovery.
Cover the HTTP behavior and discovery with regressions. Verify the fixture
against upstream wptserve, including byte parsing and unread request bodies.
(cherry picked from commit 813bb1b3ecb4e55c5a0167df22494ca5269b1ef1)
Implement requri.py and redirect.py with their upstream query, status,
Location, delay, and method behavior. Preserve raw request URIs and allow
redirect responses before the upload completes.
Recognize supported XHR references during case selection and cover the
fixtures through real HTTP requests.
Validation: all 510 benchmark unit tests pass. With the unchanged Moli
binary, 17 WPT cases improve from 6 to 9 passes and 72 to 79 passing
subtests; both redirected Worker harnesses now execute their assertions.
(cherry picked from commit 456c59b63e4ef997d35dbf984b2406a6c3c75926)
Support the iframe parentage stash fixture with write-once POST and read-once retrieval, preserving UUID/path namespaces and the difference between an absent value and empty bytes. Reuse the Python-handler response path for pipe processing. Tests cover requests, methods, body framing and case selection.
Validation: all branch checks passed. Ran 333 tests in 135.692s; OK
(cherry picked from commit 39dc2130dc)
Serve the bogus HTTP charset fixtures with their original bytes and optional valid meta charset. Match upstream response behavior for HEAD, extension methods and response-pipe bypass. Include exact reference selection and byte-level response tests.
Validation: all branch checks passed. Ran 325 tests in 122.514s; OK
(cherry picked from commit 9827403ad3)
Serve the WPT content-type fixture as its original raw HTTP response, preserving duplicate, empty and malformed Content-Type fields and response bytes. Support standard and extension methods without consuming irrelevant uploads. Tests cover wire output, HEAD, pipelines and exact case selection.
Validation: all branch checks passed. Ran 329 tests in 129.466s; OK
(cherry picked from commit 252861d9c8)
Serve the form-submission body checker for GET, HEAD and POST. Preserve its exact URL-encoded and plain-text checks and MIME-aware multipart field parsing, including duplicate fields, file parts and transfer-encoding boundaries.
(cherry picked from commit 83c8955175)
Serve Fetch preflight and stash cleanup endpoints with method/header validation and shared request state. Preserve repeated query and origin values, exact resource namespaces and immediate responses for unused uploads.
(cherry picked from commit 807abbe05b)
Model service worker script redirects, versioned imports and update response sequences, including file-based and installation updates. Preserve request methods, cache metadata, raw script bytes and per-resource state shared across fixture origins.
(cherry picked from commit 5d0ddf013b)
Model xhr/resources/headers.py with its duplicate, empty, cookie and non-ASCII response headers. Include HEAD behavior and precise fixture discovery regression coverage.
(cherry picked from commit 8557f41b0c)
Serve malformed chunk framing and the upstream infinite redirect loop instead of Python source. Preserve raw partial body delivery, origin and query parameters, HEAD semantics, and exact fixture discovery.
Source: 0de7826105
(cherry picked from commit 0f4acf2725)
Consolidate #552 and #938 on top of the IDNA and nested-domain support already in main. Preserve the requesting host for location templates and use web-platform.localhost in the cross-engine runner.
Expand WPT domain and host templates for configured Unicode labels, nested subdomains and alternate hosts using IDNA output. Leave unknown template keys and non-template response bytes unchanged. Tests exercise response bodies, headers and one-pass request substitutions.
Validation: all branch checks passed. Ran 324 tests in 125.691s; OK
Support remote-context executor pages and dispatcher queues, including atomic FIFO messages, request-header forwarding, CORS and response pipes. The branch includes the minimal shared response/body helpers it needs and does not depend on the iframe-stash branch. Tests cover wire behavior, concurrent queue operations and case selection.
Validation: all branch checks passed. Ran 336 tests in 134.129s; OK
Require enable-cors and a nonempty Origin before exposing CORS response headers from common/redirect.py. Preserve the first status and Location values, handle extension methods, and respond without waiting for unused uploads or adding a Content-Length header.
Validation: 580 Python tests passed with 32 workers; 1296 HTTP responses matched official wptserve for status, body, and 15 response fields. New regression tests fail on the unmodified main baseline.
Source-commit: 99b528aece
Run the full all profile on Moli d40181f729 and WPT db95fafd1f with 50 CDP workers. All 13,558 cases completed: 9,494 pass, 3,744 fail, 255 timeout, 50 harness-stalled, 14 error, and 1 crash. Compared with the prior lists, 443 gained pass and 39 lost pass.
Record the complete profile-all run on aebba34fb5: 13,558 cases, 9,090 passing. Keep this baseline separate from the subsequent screenshot fallback fix.
Refresh the all-profile run covering 13,525 cases, including 13 newly selected variants. Record 9,458 passes, 3,738 failures, 264 timeouts, 52 stalled harnesses, 12 errors, and 1 crash.
Validation: full wpt-cross run completed; all case lists match the result matrix with no missing cases; git diff --check passed.
Add completion, failure, panic, crash, and timeout counts to the existing aggregate PR comment. Validate summary counts, bound failure details, and keep missing or incomplete evidence visible with a link to the source run.
Replay the pinned 545-page corpus over loopback-only HTTPS with a 45-second page deadline. Reject unexpected errors, panics, timeouts, and empty output, while retaining per-page diagnostics and the exact known redirect exception.
Model XHR binary body and Content-Type echo responses plus six encoded document resources. Preserve raw request metadata and encoding bytes, avoid waiting for unused uploads, and discover only supported resource references. Match upstream cache and absent-body response headers.
Validation: 584 Python tests passed with 32 workers; 270 HTTP responses matched official wptserve for status, body, and 15 response fields. New regression tests fail on the unmodified main baseline.
Source-commit: 5389231812
Serve common/echo.py as HTML with byte-preserving first query values, all-method handling, and ordered response pipes. Recognize exact relative and absolute references during case discovery.
Validation: 582 Python tests passed with 32 workers; 144 HTTP responses matched official wptserve for status, body, and 15 response fields. New regression tests fail on the unmodified main baseline.
Source-commit: 4042e1a11a
Refresh status lists from the all-profile Moli run covering 13,512 cases. Record 9,408 passes, 3,747 failures, 293 timeouts, 52 stalled harnesses, 11 errors, and 1 crash.
Validation: full wpt-cross run completed; all case lists match the result matrix with no missing cases; git diff --check passed.
Port the second-visit 204, 205 and download fixture from 3ea0668492 onto main. Keep request state isolated by resource path while sharing it across origins, and only admit the supported resource during case discovery.
Validation: 6 navigation fixture tests and all 564 moli-benchmark tests passed.
Serve the upstream long WAV and range stash resources with streaming writes, byte-range metadata, cancellation and exact path discovery. Cover custom methods, duplicate headers, stash isolation and shutdown.
Write .asis fixtures directly to the connection, preserving raw status lines, duplicate framing fields and malformed bytes. Bypass generated headers, pipelines, substitutions and HEAD body suppression as upstream wptserve does.
Serve redirect-empty-location.py with a present empty Location header, fixed 302 status and no CORS grants. Respond before unused uploads complete and recognize only the supported resource references.
Index each row's cell range and row-group boundary to remove repeated
placement scans. Cache complete table measurement outputs, including
baselines, in an eight-entry LRU with layout cache invalidation.
Preserve caption minima, Flex table heights, percentage padding bases,
anonymous table behavior and the existing vertical layout path. Extend
the Chromium geometry fixtures and refresh the full WPT-cross case lists.
Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast: 18180 passed, 13 skipped
- WPT-cross all: 8779/12906 passed; table: 535/716 passed
- Table results unchanged by index/cache optimization; 28 full-run
differences checked twice per binary with no stable new regression
Serve raw XHR header inspection and echo endpoints with exact name/value filters, original ordering and duplicate fields. Reuse arbitrary-method routing and return early without reading unused uploads; cover CORS metadata, HEAD and discovery boundaries.
Serve JSON module load/error dependencies and the per-key JSON-to-JavaScript response sequence. Keep counters shared across fixture origins and isolated between servers, with exact resource discovery and HEAD behavior.