Add Pulley support to wasmtime_test macro#10057
Merged
alexcrichton merged 4 commits intoJan 21, 2025
Merged
Conversation
…ifier. Tests in `tests/all/fuel.rs` and `tests/all/winch_engine_features.rs` were using `#[wasmtime_test(strategies(not(Cranelift)))]` to gate their Winch specific tests. Now that there is a third compilation strategy, those tests were failing against Pulley. I've replaced those with `#[wasmtime_test(strategies(only(Winch)))]` to be more clear that they are targeted specifically at Winch.
…nc.rs The `static HITS` variable was sharing state between tests, causing them to clobber each other when ran together.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR updates the
#[wasmtime_test]macro to add support for Pulley.This was one of the last remaining items in the Pulley TODO List #9747, I figured I'd try to knock it out.
I've renamed the
Craneliftcompilation strategy toCraneliftNativein order to disambiguate it fromCraneliftPulleyand to directly match the symbol in theCompilerenum.CraneliftPulleyis now included by default in the compilation strategies used by#[wasmtime_test].In order to support the tests that are targeting Winch specifically, I've added an
only(...)specifier. So instead of#[wasmtime_test(strategies(not(Cranelift)))]it would be#[wasmtime_test(strategies(only(Winch)))].Now that the
wrap_and_typed_i31reftest was running multiple times with different strategies, thestatic HITScounter was leaking state into the other test and causing things to fail. I moved the counter into the Store to get rid of the static variable.