-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The wasi-common tests should not be run against the snapshot #632
Comments
The issue is that the Rust compiler's wasm32-wasi target hasn't switched to the new ABI yet. That'll happen soon! |
Is this potentially related to CI failures when running cargo test? I've been unable to local reproduce testing errors being reported here #360 where failures keep occurring on compiling wasi-common during cargo test. I figured it was just my issue but I've noticed similar errors on other recent pull requests. |
Ooops, meant to say it was fixed in #635. |
rust-lang/rust#66750 updates the Rust toolchain to use the new ABI. |
Looking into this, this is unfortuantely going to be really difficult I think given how things are set up. There's a few things in play here:
To fix all this we basically need to ensure that the each test individually exclusively uses one wasi snapshot version. This means we probably can't use libc and/or libstd in Rust. I think what we probably want to do is to migrate all tests to exclusively using the |
I've sent an update of wasi-libc for Rust's libstd at rust-lang/rust#67066, but to get tests working on all of stable/beta/nightly we'll need to be careful where if |
Would it be helpful or desirable for wasi-common to support both snapshot interfaces for the same instance? They would have to map to the same WasiCtx, which is an issue I'm currently working on (#658) |
That would certainly make it a bit easier yeah, because then we wouldn't have to worry about what version the tests are using vs what version libstd/libc are using. I wasn't sure if it'd be an easy thing to do though, since some future change may make interoperability not feasible. I started updating some tests in #675 though and all this really meant was that I had to write this function, so it's not really the end of the world either way. It's probably not worth the effort right now to have file descriptors work across both APIs, and it's best to leave the two snapshots separate as they are. |
Gotcha. I can see it being helpful as the ecosystem evolves, and I'll try to make it work if possible. But its not going to happen in the next couple of days. |
Ah yeah I should clarify that as a user it would be pretty convenient to have this sort of spanning snapshots compatibility, but from the perspective of updating the tests don't take that as a motivation for doing so :) |
* initial cargo fix run * Upgrade cranelift-entity crate * Upgrade bforest crate * Upgrade the codegen crate * Upgrade the faerie crate * Upgrade the filetests crate * Upgrade the codegen-meta crate * Upgrade the frontend crate * Upgrade the cranelift-module crate * Upgrade the cranelift-native crate * Upgrade the cranelift-preopt crate * Upgrade the cranelift-reader crate * Upgrade the cranelift-serde crate * Upgrade the cranelift-simplejit crate * Upgrade the cranelift or cranelift-umbrella crate * Upgrade the cranelift-wasm crate * Upgrade cranelift-tools crate * Use new import style on remaining files * run format-all.sh * run test-all.sh, update Readme and travis ci configuration fixed an AssertionError also * Remove deprecated functions
Currently the tests are run against the snapshot and not the current version of the code which defies their purpose. When invoked as:
the following log output is produced
The text was updated successfully, but these errors were encountered: