From 27c0a67be315df840623ac4dd5bdcd07b3759227 Mon Sep 17 00:00:00 2001 From: Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com> Date: Wed, 16 Sep 2026 00:57:04 +0100 Subject: [PATCH] tests: check wasm wasi p1 p2 p3 process exit code --- src/ci/docker/host-x86_64/test-various/Dockerfile | 4 ++-- src/tools/compiletest/src/directives/directive_names.rs | 2 ++ tests/run-make/wasm-wasip1-exit-code/exit-code.rs | 3 +++ tests/run-make/wasm-wasip1-exit-code/rmake.rs | 8 ++++++++ tests/run-make/wasm-wasip2-exit-code/exit-code.rs | 3 +++ tests/run-make/wasm-wasip2-exit-code/rmake.rs | 8 ++++++++ tests/run-make/wasm-wasip3-exit-code/exit-code.rs | 3 +++ tests/run-make/wasm-wasip3-exit-code/rmake.rs | 8 ++++++++ 8 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 tests/run-make/wasm-wasip1-exit-code/exit-code.rs create mode 100644 tests/run-make/wasm-wasip1-exit-code/rmake.rs create mode 100644 tests/run-make/wasm-wasip2-exit-code/exit-code.rs create mode 100644 tests/run-make/wasm-wasip2-exit-code/rmake.rs create mode 100644 tests/run-make/wasm-wasip3-exit-code/exit-code.rs create mode 100644 tests/run-make/wasm-wasip3-exit-code/rmake.rs diff --git a/src/ci/docker/host-x86_64/test-various/Dockerfile b/src/ci/docker/host-x86_64/test-various/Dockerfile index 6034f3d1d883c..c4c940970c7dc 100644 --- a/src/ci/docker/host-x86_64/test-various/Dockerfile +++ b/src/ci/docker/host-x86_64/test-various/Dockerfile @@ -61,8 +61,8 @@ RUN curl -L https://github.com/bytecodealliance/wasmtime/releases/download/v44.0 tar -xJ ENV PATH="$PATH:/wasmtime-v44.0.1-x86_64-linux" -ENV WASM_WASIP_TARGET=wasm32-wasip1 -ENV WASM_WASIP_SCRIPT="python3 /checkout/x.py --stage 2 test --host= --target $WASM_WASIP_TARGET \ +ENV WASM_WASIP_TARGETS=wasm32-wasip1,,wasm32-wasip2,,wasm32-wasip3 +ENV WASM_WASIP_SCRIPT="python3 /checkout/x.py --stage 2 test --host= --target $WASM_WASIP_TARGETS \ tests/run-make \ tests/run-make-cargo \ tests/ui \ diff --git a/src/tools/compiletest/src/directives/directive_names.rs b/src/tools/compiletest/src/directives/directive_names.rs index 732f4ab275dd7..ab48567635d67 100644 --- a/src/tools/compiletest/src/directives/directive_names.rs +++ b/src/tools/compiletest/src/directives/directive_names.rs @@ -274,6 +274,8 @@ pub(crate) const KNOWN_DIRECTIVE_NAMES: &[&str] = &[ "only-wasm32-unknown-emscripten", "only-wasm32-unknown-unknown", "only-wasm32-wasip1", + "only-wasm32-wasip2", + "only-wasm32-wasip3", "only-watchos", "only-windows", "only-windows-gnu", diff --git a/tests/run-make/wasm-wasip1-exit-code/exit-code.rs b/tests/run-make/wasm-wasip1-exit-code/exit-code.rs new file mode 100644 index 0000000000000..25f7f62f5cfc7 --- /dev/null +++ b/tests/run-make/wasm-wasip1-exit-code/exit-code.rs @@ -0,0 +1,3 @@ +fn main() { + std::process::exit(42); +} diff --git a/tests/run-make/wasm-wasip1-exit-code/rmake.rs b/tests/run-make/wasm-wasip1-exit-code/rmake.rs new file mode 100644 index 0000000000000..4460dda562541 --- /dev/null +++ b/tests/run-make/wasm-wasip1-exit-code/rmake.rs @@ -0,0 +1,8 @@ +//@ only-wasm32-wasip1 + +use run_make_support::{run_fail, rustc}; + +fn main() { + rustc().arg("exit-code.rs").run(); + run_fail("exit-code.wasm").assert_exit_code(42); +} diff --git a/tests/run-make/wasm-wasip2-exit-code/exit-code.rs b/tests/run-make/wasm-wasip2-exit-code/exit-code.rs new file mode 100644 index 0000000000000..25f7f62f5cfc7 --- /dev/null +++ b/tests/run-make/wasm-wasip2-exit-code/exit-code.rs @@ -0,0 +1,3 @@ +fn main() { + std::process::exit(42); +} diff --git a/tests/run-make/wasm-wasip2-exit-code/rmake.rs b/tests/run-make/wasm-wasip2-exit-code/rmake.rs new file mode 100644 index 0000000000000..9b8d1565cdf20 --- /dev/null +++ b/tests/run-make/wasm-wasip2-exit-code/rmake.rs @@ -0,0 +1,8 @@ +//@ only-wasm32-wasip2 + +use run_make_support::{run_fail, rustc}; + +fn main() { + rustc().arg("exit-code.rs").run(); + run_fail("exit-code.wasm").assert_exit_code(42); +} diff --git a/tests/run-make/wasm-wasip3-exit-code/exit-code.rs b/tests/run-make/wasm-wasip3-exit-code/exit-code.rs new file mode 100644 index 0000000000000..25f7f62f5cfc7 --- /dev/null +++ b/tests/run-make/wasm-wasip3-exit-code/exit-code.rs @@ -0,0 +1,3 @@ +fn main() { + std::process::exit(42); +} diff --git a/tests/run-make/wasm-wasip3-exit-code/rmake.rs b/tests/run-make/wasm-wasip3-exit-code/rmake.rs new file mode 100644 index 0000000000000..9b8c894527e19 --- /dev/null +++ b/tests/run-make/wasm-wasip3-exit-code/rmake.rs @@ -0,0 +1,8 @@ +//@ only-wasm32-wasip3 + +use run_make_support::{run_fail, rustc}; + +fn main() { + rustc().arg("exit-code.rs").run(); + run_fail("exit-code.wasm").assert_exit_code(42); +}