@@ -30,58 +30,3 @@ cat /tmp/toolstate/toolstates.json
30
30
python3 " $X_PY " test --stage 2 check-tools
31
31
python3 " $X_PY " test --stage 2 src/tools/clippy
32
32
python3 " $X_PY " test --stage 2 src/tools/rustfmt
33
-
34
- # Testing Miri is a bit more complicated.
35
- # We set the GC interval to the shortest possible value (0 would be off) to increase the chance
36
- # that bugs which only surface when the GC runs at a specific time are more likely to cause CI to fail.
37
- # This significantly increases the runtime of our test suite, or we'd do this in PR CI too.
38
- if [ -z " ${PR_CI_JOB:- } " ]; then
39
- MIRIFLAGS=-Zmiri-provenance-gc=1 python3 " $X_PY " test --stage 2 src/tools/miri src/tools/miri/cargo-miri
40
- else
41
- python3 " $X_PY " test --stage 2 src/tools/miri src/tools/miri/cargo-miri
42
- fi
43
- # We re-run the test suite for a chance to find bugs in the intrinsic fallback bodies and in MIR
44
- # optimizations. This can miss UB, so we only run the "pass" tests. We need to enable debug
45
- # assertions as `-O` disables them but some tests rely on them. We also set a cfg flag so tests can
46
- # adjust their expectations if needed. This can change the output of the tests so we ignore that,
47
- # we only ensure that all assertions still pass.
48
- MIRIFLAGS=" -Zmiri-force-intrinsic-fallback --cfg force_intrinsic_fallback -O -Zmir-opt-level=4 -Cdebug-assertions=yes" \
49
- MIRI_SKIP_UI_CHECKS=1 \
50
- python3 " $X_PY " test --stage 2 src/tools/miri -- tests/pass tests/panic
51
- # We natively run this script on x86_64-unknown-linux-gnu and x86_64-pc-windows-msvc.
52
- # Also cover some other targets via cross-testing, in particular all tier 1 targets.
53
- case $HOST_TARGET in
54
- x86_64-unknown-linux-gnu)
55
- # Only this branch runs in PR CI.
56
- # Fully test all main OSes, and all main architectures.
57
- python3 " $X_PY " test --stage 2 src/tools/miri src/tools/miri/cargo-miri --target aarch64-apple-darwin
58
- python3 " $X_PY " test --stage 2 src/tools/miri src/tools/miri/cargo-miri --target i686-pc-windows-msvc
59
- # Only run "pass" tests for the remaining targets, which is quite a bit faster.
60
- python3 " $X_PY " test --stage 2 src/tools/miri --target x86_64-pc-windows-gnu --test-args pass
61
- python3 " $X_PY " test --stage 2 src/tools/miri --target i686-unknown-linux-gnu --test-args pass
62
- python3 " $X_PY " test --stage 2 src/tools/miri --target aarch64-unknown-linux-gnu --test-args pass
63
- python3 " $X_PY " test --stage 2 src/tools/miri --target s390x-unknown-linux-gnu --test-args pass
64
- ;;
65
- x86_64-pc-windows-msvc)
66
- # Strangely, Linux targets do not work here. cargo always says
67
- # "error: cannot produce cdylib for ... as the target ... does not support these crate types".
68
- # Only run "pass" tests, which is quite a bit faster.
69
- # FIXME: Re-enable this once CI issues are fixed
70
- # See <https://github.com/rust-lang/rust/issues/127883>
71
- # For now, these tests are moved to `x86_64-msvc-ext2` in `src/ci/github-actions/jobs.yml`.
72
- # python3 "$X_PY" test --stage 2 src/tools/miri --target x86_64-apple-darwin --test-args pass
73
- ;;
74
- * )
75
- echo " FATAL: unexpected host $HOST_TARGET "
76
- exit 1
77
- ;;
78
- esac
79
- # Also smoke-test `x.py miri`. This doesn't run any actual tests (that would take too long),
80
- # but it ensures that the crates build properly when tested with Miri.
81
-
82
- # FIXME: Re-enable this for msvc once CI issues are fixed
83
- if [ " $HOST_TARGET " != " x86_64-pc-windows-msvc" ]; then
84
- python3 " $X_PY " miri --stage 2 library/core --test-args notest
85
- python3 " $X_PY " miri --stage 2 library/alloc --test-args notest
86
- python3 " $X_PY " miri --stage 2 library/std --test-args notest
87
- fi
0 commit comments