Stream: wasmtime

Topic: get wasi-testsuite passing on linux/win/mac


view this post on Zulip Andy Wingo (Oct 07 2025 at 14:36):

Hello dear wasmtime people :)

So, wasi-testsuite is of limited utility until its tests pass on all platforms. If anyone has some spare spoons, I have some concrete things that need fixing in order to have fully green tests when running with Wasmtime.

Highest priority things that would allow us to be green on Ubuntu:

Next highest that would allow us to be green on MacOS:

Next highest priority that would allow the WASIp3 test suite to be green on Windows:

You can get the Wasm files mentioned in the bug reports here: https://github.com/WebAssembly/wasi-testsuite/tree/prod/testsuite-base/tests/rust/testsuite.

Finally there is an excruciating slog of around 30 failures for Rust WASIp1 tests in Windows: https://github.com/WebAssembly/wasi-testsuite/issues/175. I think it's mostly "expected an error but not that one" failures; given that it's WASIp1, I suggest that we just relax those tests, as a first approach. I.e. we don't assume they are wasmtime bugs.

WASI Testsuite. Contribute to WebAssembly/wasi-testsuite development by creating an account on GitHub.
WASI Testsuite. Contribute to WebAssembly/wasi-testsuite development by creating an account on GitHub.
WASIp1 tests dangling_fd wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\dangling_fd.wasm' fs-tests.dir Test dangling_fd failed [e...
Test Case For the wasi-testsuite test remove_directory_trailing_slashes, we mkdir dir.cleanup, then try to rrmdir dir.cleanup/ (note trailing slash). This fails because it uses the "get the parent ...
Hello, Running wasmtime run on a component that uses wasi:http fails: [dev-env] wingo@beastie ~/src/wasip3/wasi-testsuite/tests/rust/wasm32-wasip3$ ~/src/wasip3/wasmtime/target/release/wasmtime -Wc...
On MacOS with wasmtime, filesystem-advice fails: Test filesystem-advise failed [exit_code] 0 == 1 STDOUT: STDERR: fadvise(7, 0, Advice::WillNeed) => file-too-large (error 7) This test passes on Win...
On Linux, with wasmtime, if you open a directory with the WRITE flag (but no read flag), it fails with EISDIR. On Windows, it succeeds. This occurs in the wasip3 filesystem-flags-and-type test. Is ...
On Unix, if you attempt to hard-link a directory, you get not-permitted. On Windows, you get access. Can these be made the same or should they be documented to be different? Command line: wasmtime ...

view this post on Zulip Alex Crichton (Oct 07 2025 at 14:48):

Need new wasmtime release

For this at least Wasmtime 38 will suffice which'll get released on Oct 20

view this post on Zulip Alex Crichton (Oct 07 2025 at 14:57):

Thanks for writing this up though! I can try to poke at some of these things between builds this week

view this post on Zulip Alex Crichton (Oct 07 2025 at 16:22):

Hm, actually, Andy would you be up for poking around in Wasmtime for this? Or would you prefer to stick to writing tests? I'm mostly fearful that this is going to create a very long backlog we don't have resources to apply at this time. The backlog is not itself the problem but having tests that don't pass anywhere isn't the best situation to be in either

view this post on Zulip Alex Crichton (Oct 07 2025 at 16:24):

For example I just updated wasi-testsuite in Wasmtime and the http-response.rs test is failing because Wasmtime thinks 600 is a valid response status code but the test asserts that it isn't. Wasmtime's behavior comes from here and don't really have the energy myself to open up issues and figure out what the best course of action is here, but you probably have more knowledge about whether 600 should be invalid for example. It's trivial enough to add more validation to the implementation in Wasmtime, but basically I don't know what's the right thing to do here

Bring in some infrastructure for running wasip3 tests. There's a few current test failures which are flagged here as well. prtest:full

view this post on Zulip Andy Wingo (Oct 07 2025 at 20:35):

fwiw the test was passing on wasmtime built from git, at least a week ago; will check tomorrow. i wouldn't have sent it on if it didn't pass :sweat_smile:

view this post on Zulip Pat Hickey (Oct 07 2025 at 21:32):

i hit merge on what i thought was a trivial PR of alex's and then CI failed on main

view this post on Zulip Pat Hickey (Oct 07 2025 at 21:32):

https://github.com/WebAssembly/wasi-testsuite/actions/runs/18326423979

WASI Testsuite. Contribute to WebAssembly/wasi-testsuite development by creating an account on GitHub.

view this post on Zulip Alex Crichton (Oct 07 2025 at 22:09):

Ah no worries! I find github actions' UI isn't great for "this job is allowed to fail" myself... Not sure if that's what happened here though, but should be easy-ish to fix either way

view this post on Zulip Alex Crichton (Oct 07 2025 at 22:10):

er, this was in response to Andy not you Pat, that I have no idea lol

view this post on Zulip Andy Wingo (Oct 08 2025 at 12:35):

yaargh, sorry about that CI thing, will fix


Last updated: Dec 06 2025 at 06:05 UTC