Stream: git-wasmtime

Topic: wasmtime / PR #10553 Update wasm spec test suite, add exc...


view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2025 at 21:24):

alexcrichton opened PR #10553 from alexcrichton:update-spec-test-suite to bytecodealliance:main:

This commit performs an update of the spec test suite submodule to the next-to-latest commit. The latest commit will require updating the wast dependency which isn't published yet.

This update brings in the wasm-3.0 folder of tests since it's been awhile since the last update. That update notably means that the exception-handling proposal is mixed in with all the others with various tests. Getting tests as flagged as passing or failing as a result was unexpectedly difficult.

The solution I ended up settling on was to preemptively implement some infrastructure for the exceptions proposal:

It turns out we can run a few tests with the exception proposal, notably due to tags being implemented for stack switching. That meant that this couldn't blanket ignore the exceptions proposal and say it's expected to fail. Instead the proposal is said "this passes!" and tests are individually listed as "this is expected to fail".

This then required changing an unsupported! panic to plumbing errors around to avoid actually implementing the exceptions proposal here.

<!--
Please make sure you include the following information:

Our development process is documented in the Wasmtime book:
https://docs.wasmtime.dev/contributing-development-process.html

Please ensure all communication follows the code of conduct:
https://github.com/bytecodealliance/wasmtime/blob/main/CODE_OF_CONDUCT.md
-->

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2025 at 21:24):

alexcrichton requested fitzgen for a review on PR #10553.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2025 at 21:24):

alexcrichton requested wasmtime-fuzz-reviewers for a review on PR #10553.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2025 at 21:24):

alexcrichton requested wasmtime-compiler-reviewers for a review on PR #10553.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2025 at 21:24):

alexcrichton requested wasmtime-core-reviewers for a review on PR #10553.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2025 at 21:24):

alexcrichton commented on PR #10553:

cc @cfallin here on how this touches on the exceptions proposal

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2025 at 21:28):

alexcrichton submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2025 at 21:28):

alexcrichton created PR review comment:

FWIW this was the panic which needed to become a fallible result. Changing this required propagating quite a few layers up the stack since this is a very core conversion method

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2025 at 21:28):

alexcrichton created PR review comment:

I'll note that I don't mean to commit us to supporting this one day through adding this. This is required to have the current wast-testing to more easily plumb this around, but we can fix that if necessary. Additionally I was thinking that with an implementation of the exceptions proposal it's probably not actually hard at all to add support for this (forever off-by-default of course).

My hope though is that this stays as-is and goes no further, and if/when the legacy tests are ever purged from the spec test suite we can remove this.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2025 at 21:40):

fitzgen submitted PR review:

Yeah we shouldn't ever implement the legacy exceptions on principle, but this knob makes sense for the .wast test suite.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2025 at 21:40):

fitzgen created PR review comment:

Can we also mark it deprecated something like this:

#[deprecated = "This configuration option only exists for internal \
                usage with the spec testsuite. It may be removed at \
                any time and without warning. Do not rely on it!"]

and then in our couple of usages just do #[allow(deprecated)] on the use

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2025 at 21:40):

fitzgen created PR review comment:

This should be doc(hidden) and clap(hidden) or whatever as well, same as the Config::method.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2025 at 21:48):

alexcrichton updated PR #10553.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2025 at 21:48):

alexcrichton submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2025 at 21:48):

alexcrichton created PR review comment:

We unfortunately don't have that here, but I can put "DEPRECATED" in the doc at least!

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2025 at 21:49):

alexcrichton has enabled auto merge for PR #10553.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2025 at 22:21):

alexcrichton merged PR #10553.


Last updated: Dec 06 2025 at 07:03 UTC