Skip to content

Update wasi-testsuite to support testing newer versions of WASI #109

@wingo

Description

@wingo

Hello wasi-testsuite hackers, I would like to update wasi-testsuite to support newer versions of WASI. The idea would be that the scope of wasi-testsuite should be to test the versions of WASI that are in use and in development, which I guess is currently wasip1, wasip2, and wasip3.

I am coordinating this work on #wasi > wasi-testsuite update for wasip3.

My plan first is to update the wasi-sdk used to generate the C test binaries, passing --target=wasm32-wasip1. There are some tests whose assertions should be relaxed; for example, testing with current wasi-sdk, I get ENOENT when opening a non-existent file instead of ENOTCAPABLE, and so I will change the test to relax the assertion on the precise error code. Then I will arrange for the C tests to compile with --target=wasm32-wasip2; the tests themselves shouldn't need to change. There will be some specific wasip2 tests, and specific tests for the in-progress wasip3 (which still uses the wasm32-wasip2 target triple).

This will mean that the set of directories to search for tests will change, e.g. instead of tests/c/testsuite, we might have tests/c/testsuite/wasm32-wasip1 and so on. I'll update the github workflows appropriately.

Then once the machinery is done to keep C wasip1 tests working, I'll do the same for rust, then start writing wasip3 tests, which will probably mostly be written in Rust because its toolchain is the most advanced for this use-case. The test runner itself will need to learn some wasip3-specific things, like how to compose components and so on. It's going to be a ✨ journey ✨ but I think we can get there and still keep everyone satisfied.

Thoughts welcome!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions