Testsuite update
The testsuite driver refactoring patch (!9515) along with the ci-images update (ci-images!114) has finally landed. The driver is now more robust against livelock issues that used to arise in previous versions that used multi-threading, and it supports using emulators like wasmtime or qemu to run target executables when testing a cross GHC.
I’ve now opened a subsequent draft MR (!10224) to actually run the entire testsuite for the wasm backend. There are ~85 remaining unexpected failures (compared to ~7k expected passes), and I’m working towards triaging the remaining failures and get it down to 0.
As a part of the work on !10224, I’ve done these smaller pieces of work:
- Two patches to time (#239) (#240) that fixes upstream wasm CI and compilation failures for the JS backend. It’s a part of the work to bump the time submodule, which is originally proposed by @hsyl20 at !10221. These two patches have already been merged, but there are some more hadrian fixes needed due to the usage of DeriveLift in time, see !10221 for more context about this.
- A patch to process (#286) that skips the process tests on platforms without a process model (e.g. wasm32-wasi). This one is still pending review.
- A recently added test case, AtomicFetch, doesn’t work on 32-bit platforms (#23217). I pushed a fix in !10224 that fixes it at least for wasm32.
- Closed a few outdated issues with the wasm label, since they have already been fixed some time ago.