mirror of
https://github.com/rust-lang/rust
synced 2024-11-02 13:50:48 +00:00
Auto merge of #117267 - RalfJung:miri-tests, r=Mark-Simulacrum
update which targets we test Miri on I hope this doesn't cost too much time; running only the "pass" tests should be reasonably fast (1-2 minutes on my system). Fixes https://github.com/rust-lang/rust/issues/117167
This commit is contained in:
commit
e6e931dda5
4 changed files with 30 additions and 3 deletions
1
.github/workflows/ci.yml
vendored
1
.github/workflows/ci.yml
vendored
|
@ -382,6 +382,7 @@ jobs:
|
||||||
- name: x86_64-msvc-ext
|
- name: x86_64-msvc-ext
|
||||||
env:
|
env:
|
||||||
SCRIPT: python x.py --stage 2 test src/tools/cargotest src/tools/cargo && src/ci/docker/host-x86_64/x86_64-gnu-tools/checktools.sh x.py /tmp/toolstate/toolstates.json windows
|
SCRIPT: python x.py --stage 2 test src/tools/cargotest src/tools/cargo && src/ci/docker/host-x86_64/x86_64-gnu-tools/checktools.sh x.py /tmp/toolstate/toolstates.json windows
|
||||||
|
HOST_TARGET: x86_64-pc-windows-msvc
|
||||||
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --enable-lld --save-toolstates=/tmp/toolstate/toolstates.json"
|
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --enable-lld --save-toolstates=/tmp/toolstate/toolstates.json"
|
||||||
DEPLOY_TOOLSTATES_JSON: toolstates-windows.json
|
DEPLOY_TOOLSTATES_JSON: toolstates-windows.json
|
||||||
os: windows-2019-8core-32gb
|
os: windows-2019-8core-32gb
|
||||||
|
|
|
@ -83,6 +83,8 @@ ENV RUST_CONFIGURE_ARGS \
|
||||||
--build=x86_64-unknown-linux-gnu \
|
--build=x86_64-unknown-linux-gnu \
|
||||||
--save-toolstates=/tmp/toolstate/toolstates.json
|
--save-toolstates=/tmp/toolstate/toolstates.json
|
||||||
|
|
||||||
|
ENV HOST_TARGET x86_64-unknown-linux-gnu
|
||||||
|
|
||||||
ENV SCRIPT /tmp/checktools.sh ../x.py && \
|
ENV SCRIPT /tmp/checktools.sh ../x.py && \
|
||||||
NODE_PATH=`npm root -g` python3 ../x.py test tests/rustdoc-gui --stage 2 \
|
NODE_PATH=`npm root -g` python3 ../x.py test tests/rustdoc-gui --stage 2 \
|
||||||
--test-args "'--no-sandbox --jobs 1'"
|
--test-args "'--no-sandbox --jobs 1'"
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
# ignore-tidy-linelength
|
||||||
|
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
|
@ -26,8 +27,30 @@ python3 "$X_PY" test --stage 2 src/tools/clippy
|
||||||
python3 "$X_PY" test --stage 2 src/tools/rustfmt
|
python3 "$X_PY" test --stage 2 src/tools/rustfmt
|
||||||
python3 "$X_PY" test --stage 2 src/tools/miri
|
python3 "$X_PY" test --stage 2 src/tools/miri
|
||||||
# We natively run this script on x86_64-unknown-linux-gnu and x86_64-pc-windows-msvc.
|
# We natively run this script on x86_64-unknown-linux-gnu and x86_64-pc-windows-msvc.
|
||||||
# Also cover some other targets (on both of these hosts) via cross-testing.
|
# Also cover some other targets via cross-testing, in particular all tier 1 targets.
|
||||||
export BOOTSTRAP_SKIP_TARGET_SANITY=1 # we don't need `cc` for these targets
|
export BOOTSTRAP_SKIP_TARGET_SANITY=1 # we don't need `cc` for these targets
|
||||||
|
case $HOST_TARGET in
|
||||||
|
x86_64-unknown-linux-gnu)
|
||||||
|
# Only this branch runs in PR CI.
|
||||||
|
# Fully test all main OSes, including a 32bit target.
|
||||||
|
python3 "$X_PY" test --stage 2 src/tools/miri --target x86_64-apple-darwin
|
||||||
python3 "$X_PY" test --stage 2 src/tools/miri --target i686-pc-windows-msvc
|
python3 "$X_PY" test --stage 2 src/tools/miri --target i686-pc-windows-msvc
|
||||||
python3 "$X_PY" test --stage 2 src/tools/miri --target aarch64-apple-darwin
|
# Only run "pass" tests for the remaining targets, which is quite a bit faster.
|
||||||
|
python3 "$X_PY" test --stage 2 src/tools/miri --target x86_64-pc-windows-gnu --test-args pass
|
||||||
|
python3 "$X_PY" test --stage 2 src/tools/miri --target i686-unknown-linux-gnu --test-args pass
|
||||||
|
python3 "$X_PY" test --stage 2 src/tools/miri --target aarch64-unknown-linux-gnu --test-args pass
|
||||||
|
python3 "$X_PY" test --stage 2 src/tools/miri --target s390x-unknown-linux-gnu --test-args pass
|
||||||
|
;;
|
||||||
|
x86_64-pc-windows-msvc)
|
||||||
|
# Strangely, Linux targets do not work here. cargo always says
|
||||||
|
# "error: cannot produce cdylib for ... as the target ... does not support these crate types".
|
||||||
|
# Only run "pass" tests, which is quite a bit faster.
|
||||||
|
python3 "$X_PY" test --stage 2 src/tools/miri --target aarch64-apple-darwin --test-args pass
|
||||||
|
python3 "$X_PY" test --stage 2 src/tools/miri --target i686-pc-windows-gnu --test-args pass
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "FATAL: unexpected host $HOST_TARGET"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
unset BOOTSTRAP_SKIP_TARGET_SANITY
|
unset BOOTSTRAP_SKIP_TARGET_SANITY
|
||||||
|
|
|
@ -582,6 +582,7 @@ jobs:
|
||||||
- name: x86_64-msvc-ext
|
- name: x86_64-msvc-ext
|
||||||
env:
|
env:
|
||||||
SCRIPT: python x.py --stage 2 test src/tools/cargotest src/tools/cargo && src/ci/docker/host-x86_64/x86_64-gnu-tools/checktools.sh x.py /tmp/toolstate/toolstates.json windows
|
SCRIPT: python x.py --stage 2 test src/tools/cargotest src/tools/cargo && src/ci/docker/host-x86_64/x86_64-gnu-tools/checktools.sh x.py /tmp/toolstate/toolstates.json windows
|
||||||
|
HOST_TARGET: x86_64-pc-windows-msvc
|
||||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-lld --save-toolstates=/tmp/toolstate/toolstates.json
|
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-lld --save-toolstates=/tmp/toolstate/toolstates.json
|
||||||
DEPLOY_TOOLSTATES_JSON: toolstates-windows.json
|
DEPLOY_TOOLSTATES_JSON: toolstates-windows.json
|
||||||
<<: *job-windows-8c
|
<<: *job-windows-8c
|
||||||
|
|
Loading…
Reference in a new issue