Open Spoonbender opened 3 years ago
Just to elaborate on the 2nd case:
According to Testing in WASI, "The wasm32-wasi
target for Rust is effectively a panic=abort
target which has no support for unwinding". This means that the AssertUnwindSafe
function used in tester.rs can't actually perform its duty for this target (or any other panic=abort
target).
Additionally, when running cargo wasi test
, all tests decorated #[should_panic]
are ignored.
This means we need to decide how we'd like quickcheck
to behave in case of wasi or any other target that doesn't support unwinding.
The std::panic::set_hook
function might be helpful here, as it allows setting a hook that runs on both unwinding and aborting targets.
Adding support for aborting targets, however, could be considered a completely new feature for quicktest
- and for the time being we might just ensure tests pass for wasi w/o adding this support.
Running
cargo build --target wasm32-wasi
succeeds, butcargo wasi test
fails:pathbuf
fails since it relies onenv::temp_dir()
, which currently panics when running in wasi (see: https://github.com/WebAssembly/WASI/issues/306 )prop_oob
andtestable_unit_panic
tests fails: under wasi, this test panics. When decorating with#[should_panic]
, they fails under normal (non-wasi) tests