Test panics and wasm32-wasip3 in CI, not wasip1 - #163132
alexcrichton wants to merge 1 commit into
Conversation
|
This PR modifies If appropriate, please update This PR modifies If appropriate, please update The run-make-support library was changed cc @jieyouxu
Some changes occurred in src/tools/compiletest cc @jieyouxu |
|
r? @fee1-dead rustbot has assigned @fee1-dead. Use Why was this reviewer chosen?The reviewer was selected based on:
|
This comment has been minimized.
This comment has been minimized.
| ENV NO_OVERFLOW_CHECKS=1 | ||
|
|
||
| RUN curl -L https://github.com/bytecodealliance/wasmtime/releases/download/v44.0.1/wasmtime-v44.0.1-x86_64-linux.tar.xz | \ | ||
| RUN curl -L https://github.com/bytecodealliance/wasmtime/releases/download/v48.0.2/wasmtime-v48.0.2-x86_64-linux.tar.xz | \ |
There was a problem hiding this comment.
Small drive-by but should probably use our own ci-mirrors.
There was a problem hiding this comment.
Sent as rust-lang/ci-mirrors#57 and I'll update here once that's merged
|
@rustbot reroll |
* Add wasmtime 48.0.2 * Add wasi-sdk-34 Requested on rust-lang/rust#163132
f27e206 to
ffe8294
Compare
This comment has been minimized.
This comment has been minimized.
ffe8294 to
bd200d1
Compare
This comment has been minimized.
This comment has been minimized.
This commit migrates the `test-various` job in CI from testing the `wasm32-wasip1` target to testing the `wasm32-wasip3` target. While doing so this additionally runs tests with `-Cpanic=unwind` instead of the historical `-Cpanic=abort` to expand the scope of tests slightly and run `alloc` tests, for example. The purpose of this change is to start migrating towards a wasm testing target which has a more fully-featured `std`, e.g. panics & threads, to run more tests in CI and make it less of a too-different target. This change was originally proposed at rust-lang/compiler-team/1039 which contains some more background details as well. The major notable change in test coverage here is running tests with `-Cpanic=unwind`. WebAssembly targets by default still use `-Cpanic=abort` and this means that large swaths of the test suite do not execute because they require panicking/unwinding in one way or another. CI here is configuring wasm targets to specifically enable unwinding, but only for the testing build. To achieve this a new `bootstrap.toml` option is added which enables configuring the default `panic_strategy` for wasm targets -- an option only intended to be used in testing. Most of this change is adjusting tests for this new testing infrastructure, some old Wasmtime-related TODOs are cleaned up as well with an updated build. Notably the `only-wasm32-wasip1` directive for compiletest is removed and all preexisting tests are migrated to run for any wasm target. The `run-make` suite in particular is updated to handle when the wasm target outputs components and the various ABI details of the wasip3 target. This change notably does not yet start to run `std`'s test suite for the `wasm32-wasip3` target. Too much of that test suite requires threads to be useful to run at this time, and as such running those tests is delayed until a later time when cooperative threading is enabled.
bd200d1 to
46456eb
Compare
|
@bors try jobs=test-various |
This comment has been minimized.
This comment has been minimized.
Test panics and wasm32-wasip3 in CI, not wasip1 try-job: test-various
This commit migrates the
test-variousjob in CI from testing thewasm32-wasip1target to testing thewasm32-wasip3target. While doing so this additionally runs tests with-Cpanic=unwindinstead of the historical-Cpanic=abortto expand the scope of tests slightly and runalloctests, for example. The purpose of this change is to start migrating towards a wasm testing target which has a more fully-featuredstd, e.g. panics & threads, to run more tests in CI and make it less of a too-different target. This change was originally proposed at rust-lang/compiler-team#1039 which contains some more background details as well.The major notable change in test coverage here is running tests with
-Cpanic=unwind. WebAssembly targets by default still use-Cpanic=abortand this means that large swaths of the test suite do not execute because they require panicking/unwinding in one way or another. CI here is configuring wasm targets to specifically enable unwinding, but only for the testing build. To achieve this a newbootstrap.tomloption is added which enables configuring the defaultpanic_strategyfor wasm targets -- an option only intended to be used in testing.Most of this change is adjusting tests for this new testing infrastructure, some old Wasmtime-related TODOs are cleaned up as well with an updated build. Notably the
only-wasm32-wasip1directive for compiletest is removed and all preexisting tests are migrated to run for any wasm target. Therun-makesuite in particular is updated to handle when the wasm target outputs components and the various ABI details of the wasip3 target.This change notably does not yet start to run
std's test suite for thewasm32-wasip3target. Too much of that test suite requires threads to be useful to run at this time, and as such running those tests is delayed until a later time when cooperative threading is enabled.