-
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
Update WebAssembly testsuite #6705
Conversation
Here's where the errors start: https://github.com/bytecodealliance/wasmtime/actions/runs/5490314463/jobs/10005600074#step:16:3205. |
I think these failures are related to |
With WebAssembly/testsuite#68, bytecodealliance/wasm-tools#1126, and publishing wasm-tools this should be good to go. |
Ok, rebased on top of #6739. |
Oh can you also try re-updating the submodule its latest? I think that will surface a single error in |
Ok I think those are legitimate failures where we accidentally don't support |
It seems like Unfortunately the interaction between this proposal and element segments was initially missed and a test was not added for it until earlier this year in WebAssembly/spec#1640. I think most wasm parsers missed this detail. For instance wabt only added support for this today in WebAssembly/wabt#2288. |
This commit updates Wasmtime to support `global.get` in constant expressions when located in table initializers and element segments. Pre-reference-types this never came up because there was no valid `global.get` that would typecheck. After the reference-types proposal landed however this became possible but Wasmtime did not support it. This was surfaced in bytecodealliance#6705 when the spec test suite was updated and has a new test that exercises this functionality. This commit both updates the spec test suite and additionally adds support for this new form of element segment and table initialization expression. The fact that Wasmtime hasn't supported this until now also means that we have a gap in our fuzz-testing infrastructure. The `wasm-smith` generator is being updated in bytecodealliance/wasm-tools#1426 to generate modules with this particular feature and I've tested that with that PR fuzzing here eventually generates an error before this PR. Closes bytecodealliance#6705
I've "rebased" this and implemented the missing features from Wasmtime in #7996 |
This commit updates Wasmtime to support `global.get` in constant expressions when located in table initializers and element segments. Pre-reference-types this never came up because there was no valid `global.get` that would typecheck. After the reference-types proposal landed however this became possible but Wasmtime did not support it. This was surfaced in #6705 when the spec test suite was updated and has a new test that exercises this functionality. This commit both updates the spec test suite and additionally adds support for this new form of element segment and table initialization expression. The fact that Wasmtime hasn't supported this until now also means that we have a gap in our fuzz-testing infrastructure. The `wasm-smith` generator is being updated in bytecodealliance/wasm-tools#1426 to generate modules with this particular feature and I've tested that with that PR fuzzing here eventually generates an error before this PR. Closes #6705
This PR updates the WebAssembly testsuite to use all of the latest tests. It highlights four failures, I think:
elem.wast
function_references/data.wast
function_references/elem.wast
function_references/global.wast
Not sure how critical these are to fix but I thought I would point these out in a draft PR.