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
wastdependency which isn't published yet.This update brings in the
wasm-3.0folder 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:
wasmtime::ConfigmethodswasmtimeCLI flags- integration with wast testing
- various updates to
should_failIt 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:
If this work has been discussed elsewhere, please include a link to that
conversation. If it was discussed in an issue, just mention "issue #...".Explain why this change is needed. If the details are in an issue already,
this can be brief.Our development process is documented in the Wasmtime book:
https://docs.wasmtime.dev/contributing-development-process.htmlPlease ensure all communication follows the code of conduct:
https://github.com/bytecodealliance/wasmtime/blob/main/CODE_OF_CONDUCT.md
-->
alexcrichton requested fitzgen for a review on PR #10553.
alexcrichton requested wasmtime-fuzz-reviewers for a review on PR #10553.
alexcrichton requested wasmtime-compiler-reviewers for a review on PR #10553.
alexcrichton requested wasmtime-core-reviewers for a review on PR #10553.
alexcrichton commented on PR #10553:
cc @cfallin here on how this touches on the exceptions proposal
alexcrichton submitted PR review.
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
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.
fitzgen submitted PR review:
Yeah we shouldn't ever implement the legacy exceptions on principle, but this knob makes sense for the
.wasttest suite.
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
fitzgen created PR review comment:
This should be
doc(hidden)andclap(hidden)or whatever as well, same as theConfig::method.
alexcrichton updated PR #10553.
alexcrichton submitted PR review.
alexcrichton created PR review comment:
We unfortunately don't have that here, but I can put "DEPRECATED" in the doc at least!
alexcrichton has enabled auto merge for PR #10553.
alexcrichton merged PR #10553.
Last updated: Dec 06 2025 at 07:03 UTC