Skip to content

Conversation

wingo
Copy link
Collaborator

@wingo wingo commented Sep 24, 2025

Refactor to make runtime adapters declare the WASI versions they support, and for test suites to declare the WASI version they are. By default, skip tests whose WASI version is not supported by the current run-time.

This results in a run-tests output that looks like this:

[dev-env] wingo@beastie ~/src/wasip3/wasi-testsuite$ WASMEDGE=../WasmEdge/build/tools/wasmedge/wasmedge WAZERO=../wazero/wazero IWASM=../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 WASMTIME="../wasmtime/target/release/wasmtime -Wcomponent-model-async=y -Sp3=y" ./run-tests
Detecting WASI runtime availability:
  wasmtime.py: wasmtime 38.0.0
  pywasm.py: pywasm 2.2.0
  wasm-micro-runtime.py: wamr 2.4.1
  wizard.py unavailable; pass `--runtime /home/wingo/src/wasip3/wasi-testsuite/adapters/wizard.py` to debug.
  wazero.py: wazero 0.0.0
  wasmedge.py: wasmedge version

Running test suite WASI C tests [wasm32-wasip1] with wasmtime 38.0.0
..............
Running test suite WASI C tests [wasm32-wasip1] with pywasm 2.2.0
!.!.!.........
Running test suite WASI C tests [wasm32-wasip1] with wamr 2.4.1
!!!.!......!!!
Running test suite WASI C tests [wasm32-wasip1] with wazero 0.0.0
......!....!..
Running test suite WASI C tests [wasm32-wasip1] with wasmedge version
..............





Running test suite WASI Rust tests [wasm32-wasip3] with wasmtime 38.0.0
.!!................
Running test suite WASI Rust tests [wasm32-wasip3] with pywasm 2.2.0
___________________
Running test suite WASI Rust tests [wasm32-wasip3] with wamr 2.4.1
___________________
Running test suite WASI Rust tests [wasm32-wasip3] with wazero 0.0.0
___________________
Running test suite WASI Rust tests [wasm32-wasip3] with wasmedge version
___________________
Running test suite WASI Rust tests [wasm32-wasip1] with wasmtime 38.0.0
.................!............................
Running test suite WASI Rust tests [wasm32-wasip1] with pywasm 2.2.0
!!!!!!!.!!!!!.!.!!!!.!!!!!!!!!!!!!!!!!!!!!!!!!
Running test suite WASI Rust tests [wasm32-wasip1] with wamr 2.4.1
!!!!!!!.!!!!!.!.!!!!.!!!!!!!!!!!!!!!!!!!!!!!!!
Running test suite WASI Rust tests [wasm32-wasip1] with wazero 0.0.0
!.!.........!..!......!.......!!...!!!!.!.....
Running test suite WASI Rust tests [wasm32-wasip1] with wasmedge version
..............................................
Running test suite WASI Assemblyscript  tests [wasm32-wasip1] with wasmtime 38.0.0
............
Running test suite WASI Assemblyscript  tests [wasm32-wasip1] with pywasm 2.2.0
!...!.......
Running test suite WASI Assemblyscript  tests [wasm32-wasip1] with wamr 2.4.1
...!....!...
Running test suite WASI Assemblyscript  tests [wasm32-wasip1] with wazero 0.0.0
............
Running test suite WASI Assemblyscript  tests [wasm32-wasip1] with wasmedge version
............
===== Test results =====
wasmtime 38.0.0: FAIL: 3/91 tests failed
  ../wasmtime/target/release/wasmtime -Wcomponent-model-async=y -Sp3=y tests/rust/testsuite/wasm32-wasip3/http-fields.wasm
  ../wasmtime/target/release/wasmtime -Wcomponent-model-async=y -Sp3=y tests/rust/testsuite/wasm32-wasip3/test-stat-at-root.wasm
  ../wasmtime/target/release/wasmtime -Wcomponent-model-async=y -Sp3=y --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/remove_directory_trailing_slashes.wasm fs-tests.dir
pywasm 2.2.0: FAIL: 47/72 tests failed (19 skipped)
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/c/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/c/testsuite/wasm32-wasip1/pwrite-with-access.wasm
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/c/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/c/testsuite/wasm32-wasip1/fdopendir-with-access.wasm
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/c/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/c/testsuite/wasm32-wasip1/pread-with-access.wasm
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/truncation_rights.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_open_preopen.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_filestat.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/dangling_symlink.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/fd_filestat_set.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/symlink_loop.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_rename.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_exists.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/fd_flags_set.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/isatty.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/dangling_fd.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/stdio.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/file_allocate.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_open_dirfd_not_dir.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/remove_directory_trailing_slashes.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/interesting_paths.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/unlink_file_trailing_slashes.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/directory_seek.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_link.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/file_truncation.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_rename_dir_trailing_slashes.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/nofollow_errors.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/file_unbuffered_write.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_open_create_existing.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/fd_advise.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/fd_readdir.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_open_read_write.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/fd_fdstat_set_rights.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/file_seek_tell.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/fstflags_validate.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/remove_nonempty_directory.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/renumber.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/overwrite_preopen.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/readlink.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/dir_fd_op_failures.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_symlink_trailing_slashes.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/symlink_filestat.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/close_preopen.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/symlink_create.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_open_missing.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_open_nonblock.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm --dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/file_pread_pwrite.wasm fs-tests.dir
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm tests/assemblyscript/testsuite/wasm32-wasip1/args_sizes_get-multiple-arguments.wasm first 'the "second" arg' 3
  /home/wingo/src/wasip3/wasi-testsuite/tools/run-pywasm tests/assemblyscript/testsuite/wasm32-wasip1/args_get-multiple-arguments.wasm first 'the "second" arg' 3
wamr 2.4.1: FAIL: 51/72 tests failed (19 skipped)
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/c/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/c/testsuite/wasm32-wasip1/pwrite-with-access.wasm
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/c/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/c/testsuite/wasm32-wasip1/stat-dev-ino.wasm
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/c/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/c/testsuite/wasm32-wasip1/fdopendir-with-access.wasm
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/c/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/c/testsuite/wasm32-wasip1/pread-with-access.wasm
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/c/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/c/testsuite/wasm32-wasip1/pwrite-with-append.wasm
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/c/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/c/testsuite/wasm32-wasip1/fopen-with-access.wasm
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/c/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/c/testsuite/wasm32-wasip1/lseek.wasm
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/truncation_rights.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_open_preopen.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_filestat.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/dangling_symlink.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/fd_filestat_set.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/symlink_loop.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_rename.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_exists.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/fd_flags_set.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/isatty.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/dangling_fd.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/stdio.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/file_allocate.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_open_dirfd_not_dir.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/remove_directory_trailing_slashes.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/interesting_paths.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/unlink_file_trailing_slashes.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/directory_seek.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_link.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/file_truncation.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_rename_dir_trailing_slashes.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/nofollow_errors.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/file_unbuffered_write.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_open_create_existing.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/fd_advise.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/fd_readdir.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_open_read_write.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/fd_fdstat_set_rights.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/file_seek_tell.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/fstflags_validate.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/remove_nonempty_directory.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/renumber.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/overwrite_preopen.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/readlink.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/dir_fd_op_failures.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_symlink_trailing_slashes.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/symlink_filestat.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/close_preopen.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/symlink_create.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_open_missing.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_open_nonblock.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --map-dir tests/rust/testsuite/wasm32-wasip1/fs-tests.dir::fs-tests.dir tests/rust/testsuite/wasm32-wasip1/file_pread_pwrite.wasm fs-tests.dir
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --env a=text --env 'b=escap " ing' --env 'c=new
line' tests/assemblyscript/testsuite/wasm32-wasip1/environ_get-multiple-variables.wasm
  ../wasm-micro-runtime/product-mini/platforms/linux/build/iwasm-2.4.1 --env a=b --env b=c --env c=d tests/assemblyscript/testsuite/wasm32-wasip1/environ_sizes_get-multiple-variables.wasm
wazero 0.0.0: FAIL: 14/72 tests failed (19 skipped)
  ../wazero/wazero run -hostlogging=filesystem tests/c/testsuite/wasm32-wasip1/sock_shutdown-not_sock.wasm
  ../wazero/wazero run -hostlogging=filesystem -mount=tests/c/testsuite/wasm32-wasip1/fs-tests.dir:fs-tests.dir tests/c/testsuite/wasm32-wasip1/pwrite-with-append.wasm
  ../wazero/wazero run -hostlogging=filesystem -mount=tests/rust/testsuite/wasm32-wasip1/fs-tests.dir:fs-tests.dir tests/rust/testsuite/wasm32-wasip1/truncation_rights.wasm fs-tests.dir
  ../wazero/wazero run -hostlogging=filesystem -mount=tests/rust/testsuite/wasm32-wasip1/fs-tests.dir:fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_filestat.wasm fs-tests.dir
  ../wazero/wazero run -hostlogging=filesystem -mount=tests/rust/testsuite/wasm32-wasip1/fs-tests.dir:fs-tests.dir tests/rust/testsuite/wasm32-wasip1/stdio.wasm fs-tests.dir
  ../wazero/wazero run -hostlogging=filesystem tests/rust/testsuite/wasm32-wasip1/poll_oneoff_stdio.wasm
  ../wazero/wazero run -hostlogging=filesystem -mount=tests/rust/testsuite/wasm32-wasip1/fs-tests.dir:fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_link.wasm fs-tests.dir
  ../wazero/wazero run -hostlogging=filesystem -mount=tests/rust/testsuite/wasm32-wasip1/fs-tests.dir:fs-tests.dir tests/rust/testsuite/wasm32-wasip1/path_open_read_write.wasm fs-tests.dir
  ../wazero/wazero run -hostlogging=filesystem -mount=tests/rust/testsuite/wasm32-wasip1/fs-tests.dir:fs-tests.dir tests/rust/testsuite/wasm32-wasip1/fd_fdstat_set_rights.wasm fs-tests.dir
  ../wazero/wazero run -hostlogging=filesystem -mount=tests/rust/testsuite/wasm32-wasip1/fs-tests.dir:fs-tests.dir tests/rust/testsuite/wasm32-wasip1/renumber.wasm fs-tests.dir
  ../wazero/wazero run -hostlogging=filesystem -mount=tests/rust/testsuite/wasm32-wasip1/fs-tests.dir:fs-tests.dir tests/rust/testsuite/wasm32-wasip1/overwrite_preopen.wasm fs-tests.dir
  ../wazero/wazero run -hostlogging=filesystem -mount=tests/rust/testsuite/wasm32-wasip1/fs-tests.dir:fs-tests.dir tests/rust/testsuite/wasm32-wasip1/readlink.wasm fs-tests.dir
  ../wazero/wazero run -hostlogging=filesystem -mount=tests/rust/testsuite/wasm32-wasip1/fs-tests.dir:fs-tests.dir tests/rust/testsuite/wasm32-wasip1/dir_fd_op_failures.wasm fs-tests.dir
  ../wazero/wazero run -hostlogging=filesystem -mount=tests/rust/testsuite/wasm32-wasip1/fs-tests.dir:fs-tests.dir tests/rust/testsuite/wasm32-wasip1/symlink_filestat.wasm fs-tests.dir
wasmedge version: PASS: 72 tests passed (19 skipped)

There are a few blank lines in the middle; not sure what that's about. Wizard runs but hangs on one of the tests, and we don't have a timeout in place (titzer/wizard-engine#495). Otherwise when you see a _ instead of a . that means that a test is skipped, and it is grey instead of green.

Refactor to make runtime adapters declare the WASI versions they
support, and for test suites to declare the WASI version they are.  By
default, skip tests whose WASI version is not supported by the current
run-time.
@wingo wingo merged commit 657d79b into WebAssembly:main Sep 25, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants