StarlingMonkey
StarlingMonkey copied to clipboard
ci: Weval on WPT matrix
This extends Weval into the WPT CI matrix, also adding it into a matrix for the main test run as well.
@cfallin there seem to be 4 missing / failing tests here, which might be worth looking into as possible Weval bugs.
Seems to be in fetch/api/headers/header-values.any.js.
@guybedford I've been poking around the test failure and I'm a little lost -- I see
Error running file html/webappapis/timers/evil-spec-example.any.js: setTimeout: first argument must be a function
and indeed the argument to setTimeout (line 9 of that file) is not a function, so the error should be expected? Perhaps it's an issue with the expected error message but I'm not able to find where that is tested; any help appreciated!
@cfallin that is an expected failure - the case here is specifically a panic for header-values.any.js resulting in the log MISSING TEST.... I can help dig into this further if you need.
It appears to be an issue of memory size limits:
wasmtime stderr: Error: memory index 0 has a minimum page size of 165 which exceeds the limit of 160
Now working out exactly where the limit is set and how to update this for the wasmtime serve command we run for WPT.
Actually, that appears to be an issue with an old Wasmtime (Zulip thread); upgrading my local Wasmtime and running locally, I am unable to reproduce when running just the one test:
% node tests/wpt-harness/run-wpt.mjs -vv header-values.any.js
Starting WPT server (cmd: /home/cfallin/work/starlingmonkey/tests/wpt-harness/wpt/wpt --no-h2 serve)...
Starting Wasmtime server (cmd: wasmtime serve -W max-memory-size=134217728 -S common --addr 127.0.0.1:7676 wpt-runtime.wasm)...
wasmtime stderr: Serving HTTP on http://127.0.0.1:7676/
[ ... ]
fetch/api/headers/header-values.any.js 3 / 4 ( +0, -0, ?0) passing in 0ms
Done. Stats: 3 / 4 ( +0, -0, ?0) passing in 0ms
but I see the failure when running the whole suite. I'm not sure where to go from here -- "event loop error - both task and job queues are empty, but expected operations did not resolve" does not tell me much, and without a single testcase I can try to reduce further I'm not really able to deduce anything. @guybedford are you by chance able to help derive a smaller testcase or do you have any ideas here?
@cfallin I updated Wasmtime but that doesn't seem to be the issue. I was able to verify again it is definitely the headers test though. Happy to run through it with you further when you have a moment.