wasi-testsuite icon indicating copy to clipboard operation
wasi-testsuite copied to clipboard

WASIp1 tests failing on Windows

Open wingo opened this issue 3 months ago • 1 comments

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
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/dangling_fd.rs:30:55:
failed to remove dir 2: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\dangling_fd.wasm`

dangling_symlink

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\dangling_symlink.wasm' fs-tests.dir
Test dangling_symlink failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/dangling_symlink.rs:8:60:
creating a symlink: Errno { code: 44, name: "NOENT", message: "No such file or directory." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\dangling_symlink.wasm`

fd_fdstat_set_rights

wasmtime --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
Test fd_fdstat_set_rights failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/fd_fdstat_set_rights.rs:129:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\fd_fdstat_set_rights.wasm`

fd_readdir

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\fd_readdir.wasm' fs-tests.dir
Test fd_readdir failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/fd_readdir.rs:220:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\fd_readdir.wasm`

file_allocate

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\file_allocate.wasm' fs-tests.dir
Test file_allocate failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/file_allocate.rs:77:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\file_allocate.wasm`

file_pread_pwrite

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\file_pread_pwrite.wasm' fs-tests.dir
Test file_pread_pwrite failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/file_pread_pwrite.rs:159:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\file_pread_pwrite.wasm`

file_seek_tell

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\file_seek_tell.wasm' fs-tests.dir
Test file_seek_tell failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/file_seek_tell.rs:110:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\file_seek_tell.wasm`

file_truncation

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\file_truncation.wasm' fs-tests.dir
Test file_truncation failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/file_truncation.rs:92:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\file_truncation.wasm`

file_unbuffered_write

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\file_unbuffered_write.wasm' fs-tests.dir
Test file_unbuffered_write failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/file_unbuffered_write.rs:81:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\file_unbuffered_write.wasm`

interesting_paths

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\interesting_paths.wasm' fs-tests.dir
Test interesting_paths failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/interesting_paths.rs:41:5:
expected errno INVAL or ILSEQ; got NOENT
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\interesting_paths.wasm`

isatty

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\isatty.wasm' fs-tests.dir
Test isatty failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/isatty.rs:49:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\isatty.wasm`

nofollow_errors

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\nofollow_errors.wasm' fs-tests.dir
Test nofollow_errors failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/nofollow_errors.rs:117:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\nofollow_errors.wasm`

overwrite_preopen

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\overwrite_preopen.wasm' fs-tests.dir
Test overwrite_preopen failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/overwrite_preopen.rs:56:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\overwrite_preopen.wasm`

path_exists

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\path_exists.wasm' fs-tests.dir
Test path_exists failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/path_exists.rs:85:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\path_exists.wasm`

path_filestat

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\path_filestat.wasm' fs-tests.dir
Test path_filestat failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/path_filestat.rs:131:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\path_filestat.wasm`

path_link

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\path_link.wasm' fs-tests.dir
Test path_link failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/path_link.rs:155:57:
creating a dangling symlink: Errno { code: 44, name: "NOENT", message: "No such file or directory." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\path_link.wasm`

path_open_create_existing

wasmtime --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
Test path_open_create_existing failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/path_open_create_existing.rs:50:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\path_open_create_existing.wasm`

path_open_dirfd_not_dir

wasmtime --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
Test path_open_dirfd_not_dir failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/path_open_dirfd_not_dir.rs:47:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\path_open_dirfd_not_dir.wasm`

path_open_missing

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\path_open_missing.wasm' fs-tests.dir
Test path_open_missing failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/path_open_missing.rs:43:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\path_open_missing.wasm`

path_open_preopen

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\path_open_preopen.wasm' fs-tests.dir
Test path_open_preopen failed
  [exit_code] 0 == 3
STDOUT:
preopen dir: "fs-tests.dir" base 129498624 inheriting 267911167

STDERR:

thread 'main' panicked at src/bin/path_open_preopen.rs:106:10:
open with O_DIRECTORY and read/write should fail
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\path_open_preopen.wasm`

path_open_read_write

wasmtime --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
Test path_open_read_write failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/path_open_read_write.rs:35:5:
expected errno BADF or NOTCAPABLE; got PERM
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\path_open_read_write.wasm`

path_rename

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\path_rename.wasm' fs-tests.dir
Test path_rename failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/path_rename.rs:85:18:
renaming a directory to a file: ()
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\path_rename.wasm`

path_rename_dir_trailing_slashes

wasmtime --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
Test path_rename_dir_trailing_slashes failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/path_rename_dir_trailing_slashes.rs:46:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\path_rename_dir_trailing_slashes.wasm`

path_symlink_trailing_slashes

wasmtime --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
Test path_symlink_trailing_slashes failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/path_symlink_trailing_slashes.rs:15:14:
link destination ending with a slash: Errno { code: 44, name: "NOENT", message: "No such file or directory." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\path_symlink_trailing_slashes.wasm`

readlink

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\readlink.wasm' fs-tests.dir
Test readlink failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/readlink.rs:65:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\readlink.wasm`

remove_directory_trailing_slashes

wasmtime --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
Test remove_directory_trailing_slashes failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/remove_directory_trailing_slashes.rs:19:10:
remove_directory with a trailing slash on a directory should succeed: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\remove_directory_trailing_slashes.wasm`

remove_nonempty_directory

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\remove_nonempty_directory.wasm' fs-tests.dir
Test remove_nonempty_directory failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/remove_nonempty_directory.rs:52:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\remove_nonempty_directory.wasm`

renumber

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\renumber.wasm' fs-tests.dir
Test renumber failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/renumber.rs:116:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\renumber.wasm`

stdio

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\stdio.wasm' fs-tests.dir
Test stdio failed
  [exit_code] 0 == 3
STDOUT:

STDERR:
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\stdio.wasm`

symlink_create

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\symlink_create.wasm' fs-tests.dir
Test symlink_create failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/symlink_create.rs:102:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\symlink_create.wasm`

symlink_filestat

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\symlink_filestat.wasm' fs-tests.dir
Test symlink_filestat failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/symlink_filestat.rs:115:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\symlink_filestat.wasm`

symlink_loop

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\symlink_loop.wasm' fs-tests.dir
Test symlink_loop failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/symlink_loop.rs:7:58:
creating a symlink: Errno { code: 44, name: "NOENT", message: "No such file or directory." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\symlink_loop.wasm`

truncation_rights

wasmtime --dir 'tests\rust\testsuite\wasm32-wasip1\fs-tests.dir::fs-tests.dir' 'tests\rust\testsuite\wasm32-wasip1\truncation_rights.wasm' fs-tests.dir
Test truncation_rights failed
  [exit_code] 0 == 3
STDOUT:

STDERR:
implementation doesn't support setting file sizes, skipping

thread 'main' panicked at src/bin/truncation_rights.rs:106:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\truncation_rights.wasm`

unlink_file_trailing_slashes

wasmtime --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
Test unlink_file_trailing_slashes failed
  [exit_code] 0 == 3
STDOUT:

STDERR:

thread 'main' panicked at src/bin/unlink_file_trailing_slashes.rs:73:65:
failed to remove dir: Errno { code: 2, name: "ACCES", message: "Permission denied." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: failed to run main module `tests\rust\testsuite\wasm32-wasip1\unlink_file_trailing_slashes.wasm`

wingo avatar Oct 07 '25 11:10 wingo

I think these are 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 assume that Wasmtime's behavior is acceptable and adapt the tests to match, unless it seems when reading that there really is a bug.

wingo avatar Oct 07 '25 14:10 wingo