Stream: wasi

Topic: > WASI 0.3 progress update 2026-01-21


view this post on Zulip Victor Adossi (Jan 20 2026 at 16:00):

Due to the US holiday yesterday we didn't have the meeting but wanted to give an update on my side:

A large chunk of work in getting the semantics (mostly async tasks, subtasks, etc) along with upstream tests passing (error context, back pressure, yielding, some others) has landed in jco (the name of the PR is misleading but was relevant to close a user issue that was filed -- individual commits tell the story better).

Now I'm on to updating to the latest upstream libs w/ the changes from the last couple months, and that is going fine, what I'm working on now is re-generating all the wasm binaries we store in Jco currently (for simplicity's sake) and dealing with the somewhat new behavior (there's a bit more waitable set polling, the same components seem to export a few more on-by-deafult stream/future related exports IIRC mostly related to stdin/stdout, etc).

Once the upstream deps update PR merges I'll be going back to finishing out porting the upstream P3 "base" tests (streams, futures, async sematics, etc) which is already underway. Once the base tests are in, we can start (and split up) work for the P3 shim tests (i.e. clocks, http, etc).

This should be merged after #1094
We read every piece of feedback, and take your input very seriously.

view this post on Zulip Victor Adossi (Jan 20 2026 at 16:02):

@Yosh Wuyts @Alex Crichton @Joel Dice @Roman Volosatovs

Thanks to Alex and Luke for the help in the bits that have landed as IIRC I needed help on the impl/spec translation there.

view this post on Zulip Andy Wingo (Jan 22 2026 at 14:55):

FWIW, things have been progressing (though a bit slowly) on wasi-testsuite for wasip3.

Finally we landed initial support for testing sockets via a test suite description that can script the interaction between the test runner and the component under test, allowing us to connect to sockets, expect that reading from a socket produces the right data, respond, etc. this extends the json specification that we used to have. there is code in wasi-testsuite to automatically translate an instance of the older way of writing those json files to the newer script format, and we have left existing tests as they are.

Documentation here: https://github.com/WebAssembly/wasi-testsuite/blob/main/doc/specification.md

Minimal example here: https://github.com/WebAssembly/wasi-testsuite/blob/main/tests/rust/wasm32-wasip3/src/bin/sockets-echo.json

There are some pending PRs for more functionality. All credit to @Saúl Cabrera for the good things and blame to me for bugs :)

For wasip3 implementations:

Hoping to finish sockets, http, and command tests for the week after FOSDEM, i.e. in two weeks or so.

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.
This PR adds support for jco. However, nothing passes yet: jco run needs --env and --dir argument support jco doesn't yet support some of the component model (lowering async imports, i think)...

view this post on Zulip Dave Bakker (badeend) (Jan 22 2026 at 15:44):

@Andy Wingo
Most wasi-sockets tests in wasmtime are self contained, i.e. they act as both the server _and_ the client wherever needed. AFAIK, there's no choreography between the test runner and the component to be configured.

But I'm not familiar with this project, so maybe I'm misunderstanding

view this post on Zulip Andy Wingo (Jan 22 2026 at 15:46):

right, the question is how to adapt wasmtime's runner for wasi-testsuite tests (https://github.com/bytecodealliance/wasmtime/blob/main/tests/wasi.rs) to support the kind of test that needs to be driven externally

A lightweight WebAssembly runtime that is fast, secure, and standards-compliant - bytecodealliance/wasmtime

view this post on Zulip Andy Wingo (Jan 22 2026 at 15:47):

i.e. not wasmtime's own tests, but the ones that come from wasi-testsuite

view this post on Zulip Saúl Cabrera (Jan 22 2026 at 15:54):

Just to add a bit more context: most of the sockets tests are indeed self-contained as of the latest progress in the wasi-testsuite, where the new configuration becomes relevant IMHO is for testing the http handlers.


Last updated: Jan 29 2026 at 13:25 UTC