Migrating WebAssembly tests
This is a class project for Advanced Software Engineering with Jon Bell. You can look at a poster i made or read a report i wrote about it, including analysis of failures found. Reporting and validating failures is ongoing work.
Make sure to download this repository with submodules:
git clone --recurse-submodules [email protected]:CosineP/wast-wrong.git
I have a small patch to the wasmtime tests that prevents a few failures in wasmtime.patch.
Install nix package manager. Run nix-shell
. Otherwise you will need to
manually install many packages, and i can't help you.
Then, install wasmtime v7.0.0. One way to do that is to run cd wasmtime && cargo build --release
and then add $PWD/wasmtime/target/release
to your
PATH.
$ ./harness.sh p # | grep FAILED for quiet output
No. While I've put a lot of effort into making sure silly spurious failures haven't crept in, it's not guaranteed that every failure is a bug. Reporting these failures to maintainers will be the only way to ultimately determine that.
Known false positives are in the file called uninteresting
. They are
automatically excluded from the test harness. Note that 31 of these are the
same spurious failure over many instructions.
Runs each implementation on a single test:
$ ./harness.sh run ./my-test.wast
Run the harness on the spec testsuite to see many spurious failures:
$ ./harness.sh smoke