# Compilers
singlepass spec::multi_value # Singlepass has not implemented multivalue (functions that returns "structs"/"tuples")
singlepass spec::simd # Singlepass doesn't support yet SIMD (no one asked for this feature)

singlepass+dylib * # It needs to add support for PIC in Singlepass. Not implemented at the moment
windows+dylib * # This might be trivial to fix?
musl+dylib * # Dynamic loading not supported in Musl

# Traps
## Traps. Tracing doesn't work properly in Singlepass
## Unwinding is not properly implemented in Singlepass
# Needs investigation
singlepass traps::test_trap_trace
dylib     traps::test_trap_trace
aarch64    traps::test_trap_trace
singlepass traps::test_trap_stack_overflow # Need to investigate
dylib     traps::test_trap_stack_overflow # Need to investigate
aarch64    traps::test_trap_stack_overflow # Need to investigate
singlepass traps::trap_display_pretty
llvm       traps::trap_display_pretty
dylib     traps::trap_display_pretty
aarch64    traps::trap_display_pretty
singlepass traps::trap_display_multi_module
llvm       traps::trap_display_multi_module
dylib     traps::trap_display_multi_module
aarch64    traps::trap_display_multi_module
singlepass traps::call_signature_mismatch
llvm       traps::call_signature_mismatch
dylib     traps::call_signature_mismatch
macos+aarch64    traps::call_signature_mismatch
singlepass traps::start_trap_pretty
llvm       traps::start_trap_pretty
dylib     traps::start_trap_pretty
aarch64    traps::start_trap_pretty

singlepass multi_value_imports::dylib # Singlepass doesn't support multivalue
singlepass multi_value_imports::dynamic # Singlepass doesn't support multivalue

# TODO: We need to fix this in ARM. The issue is caused by libunwind overflowing
# the stack while creating the stacktrace.
# https://github.com/rust-lang/backtrace-rs/issues/356
cranelift+aarch64 spec::skip_stack_guard_page # This is skipped for ARM, not fully fixed yet
llvm+aarch64      spec::skip_stack_guard_page # This is skipped for ARM, not fully fixed yet
singlepass+windows spec::skip_stack_guard_page # Needs investigation.
cranelift+windows spec::skip_stack_guard_page # Needs investigation. Issue: `STATUS_ACCESS_VIOLATION` trap happened
cranelift+macos   spec::skip_stack_guard_page # Needs investigation. process didn't exit successfully: (signal: 6, SIGABRT: process abort signal)
llvm+macos        spec::skip_stack_guard_page # Needs investigation. process didn't exit successfully: (signal: 6, SIGABRT: process abort signal)
dylib             spec::skip_stack_guard_page # Missing trap information in dylibs

# Some SIMD opperations are not yet supported by Cranelift
# Cranelift just added support for most of those recently, it might be easy to update
cranelift spec::simd::simd_conversions
cranelift spec::simd::simd_i16x8_extadd_pairwise_i8x16
cranelift spec::simd::simd_i16x8_extmul_i8x16
cranelift spec::simd::simd_i16x8_q15mulr_sat_s
cranelift spec::simd::simd_i32x4_extadd_pairwise_i16x8
cranelift spec::simd::simd_i32x4_extmul_i16x8
cranelift spec::simd::simd_i32x4_trunc_sat_f64x2
cranelift spec::simd::simd_i64x2_extmul_i32x4
cranelift spec::simd::simd_i8x16_arith2
cranelift spec::simd::simd_int_to_int_extend

# Windows doesn't overcommit and fails to allocate 4GB of memory
windows wasmer::max_size_of_memory

# Some AARCH64 CPU have issue with segfault writin 64bits on border page, where the 1 32bits might be written.
aarch64+linux spec::align
aarch64+linux spec::memory_trap

# Frontends

## WASI

### These tests don't pass due to race conditions in the new way we run tests.
### It's not built to be run in parallel with itself, so we disable it for now.

wasitests::snapshot1::host_fs::writing
wasitests::unstable::host_fs::writing
wasitests::snapshot1::mem_fs::writing
wasitests::unstable::mem_fs::writing

### due to hard-coded direct calls into WASI for wasi unstable

wasitests::snapshot1::host_fs::fd_read
wasitests::snapshot1::host_fs::poll_oneoff
wasitests::snapshot1::host_fs::fd_pread
wasitests::snapshot1::host_fs::fd_close
wasitests::snapshot1::host_fs::fd_allocate
wasitests::snapshot1::host_fs::close_preopen_fd
wasitests::snapshot1::host_fs::envvar
wasitests::snapshot1::mem_fs::fd_read
wasitests::snapshot1::mem_fs::poll_oneoff
wasitests::snapshot1::mem_fs::fd_pread
wasitests::snapshot1::mem_fs::fd_close
wasitests::snapshot1::mem_fs::fd_allocate
wasitests::snapshot1::mem_fs::close_preopen_fd
wasitests::snapshot1::mem_fs::envvar

### TODO: resolve the disabled tests below. These are newly disabled tests from the migration:

### due to git clone not preserving symlinks:
wasitests::snapshot1::host_fs::readlink
wasitests::unstable::host_fs::readlink
wasitests::snapshot1::mem_fs::readlink
wasitests::unstable::mem_fs::readlink

### failing due to `remove_dir_all`. this test is also bad for parallelism
wasitests::snapshot1::host_fs::create_dir
wasitests::unstable::host_fs::create_dir
wasitests::snapshot1::mem_fs::create_dir
wasitests::unstable::mem_fs::create_dir

### failing because it closes `stdout` which breaks our testing system
wasitests::unstable::host_fs::fd_close
wasitests::unstable::mem_fs::fd_close

### failing because we're operating on stdout which is now overridden.
### TODO: check WasiFile implementation
### Alterative: split test into 2 parts, one printing to stderr, the other printing to stdout to test the real versions
wasitests::unstable::host_fs::poll_oneoff
wasitests::unstable::mem_fs::poll_oneoff

### randomly failed, mainly on windows but also on macos, due to a race condition when concurently testing multiple compiler / engines
wasitests::snapshot1::host_fs::fd_rename_path

# This tests are disabled for now
wasitests::unstable::host_fs::unix_open_special_files
wasitests::snapshot1::host_fs::unix_open_special_files
wasitests::unstable::mem_fs::unix_open_special_files
wasitests::snapshot1::mem_fs::unix_open_special_files
