-
Notifications
You must be signed in to change notification settings - Fork 1.4k
winch(aarch64): Run wast test in CI #10750
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
winch(aarch64): Run wast test in CI #10750
Conversation
Closes bytecodealliance#9566 This commit takes inspiration from https://github.com/bytecodealliance/wasmtime/pull/10738/files During the 2025-05-07 Cranelift meeting we discussed potential avenues to start running wast tests for winch-aarch64. One potential idea was to declare an allowlist of tests that should be exectued and potentially ignore everyhing else. Although that idea works, I decided to diverge a bit from it, in favor of introducing a very strict classification of the state of tests for aarch64, namely, in this commit tests are classified as: * Run and expected to pass * Run and exepected to fail in a recoverable way * Don't run since it's known that they produce an unrecoverable error e.g., segafault. This approach is probably more verbose than the one discussed in the meeting, however, I think it's easier to have a global view of that status for aarch64 and potentially other backends in the future.
Label Messager: wasmtime:configIt looks like you are changing Wasmtime's configuration options. Make sure to
To modify this label's message, edit the To add new label messages or remove existing label messages, edit the |
The failure in CI happens because Prior to this change this was not an issue, since we were only taking x64 into account for Winch. |
Bah I was afraid of this happening at some point... Could we perhaps delay this to happening at runtime? We've got the two structures there at test-run-time so we should be able to run the same code. I'd prefer to not catch panics so it means though that all tests would have to return |
Yeah, I'll try that. I remember we had discussed this, I just wasn't sure if there was a strong preference regarding catching panics. |
Personally I'd say I have a weak preference, if that's the best solution maintenance-wise I'd go with catching panics |
`Compiler::should_fail` makes use of `#[cfg(target_arg="...")]` directives to derive the compiler-arch-Wasm proposal support matrix, however, `Compiler::should_fail` is also called from the `wasmtime_test` macro which introduces conflicts with the `target_arch` resolution (within macros, these directives resolve to the host compiler, instead of the target). This commit emits `Compiler::should_fail` at runtime instead of at compile time, which fixes the issue mentioned above.
d810db4
to
ad0e177
Compare
Ok, ended up going with emitting the call to |
8fe446d
to
34c3676
Compare
Closes #9566
This commit takes inspiration from
https://github.com/bytecodealliance/wasmtime/pull/10738/files
During the 2025-05-07 Cranelift meeting we discussed potential avenues to start running wast tests for winch-aarch64. One potential idea was to declare an allowlist of tests that should be exectued and potentially ignore everyhing else. Although that idea works, I decided to diverge a bit from it, in favor of introducing a very strict classification of the state of tests for aarch64, namely, in this commit tests are classified as:
This approach is probably more verbose than the one discussed in the meeting, however, I think it's easier to have a global view of that status for aarch64 and potentially other backends in the future.
@alexcrichton curious to see what do you think.