11#! /bin/bash
22set -euo pipefail
33
4- DEFAULTFLAGS=" -Zmiri-retag-fields -Zrandomize-layout"
4+ DEFAULTFLAGS=" -Zmiri-retag-fields -Zrandomize-layout -Zmiri-strict-provenance "
55
66# apply our patch
77rm -rf rust-src-patched
@@ -21,13 +21,13 @@ core)
2121 -- --skip align \
2222 2>&1 | ts -i ' %.s '
2323 echo " ::endgroup::"
24- echo " ::group::Testing core ($TARGET , strict provenance )"
25- MIRIFLAGS=" $DEFAULTFLAGS -Zmiri-strict-provenance " \
24+ echo " ::group::Testing core ($TARGET )"
25+ MIRIFLAGS=" $DEFAULTFLAGS " \
2626 ./run-test.sh core --target $TARGET --lib --tests \
2727 2>&1 | ts -i ' %.s '
2828 echo " ::endgroup::"
29- echo " ::group::Testing core docs ($TARGET , strict provenance )" && echo
30- MIRIFLAGS=" $DEFAULTFLAGS -Zmiri-ignore-leaks -Zmiri-disable-isolation -Zmiri-strict-provenance " \
29+ echo " ::group::Testing core docs ($TARGET , ignore leaks )" && echo
30+ MIRIFLAGS=" $DEFAULTFLAGS -Zmiri-ignore-leaks -Zmiri-disable-isolation" \
3131 ./run-test.sh core --target $TARGET --doc \
3232 2>&1 | ts -i ' %.s '
3333 echo " ::endgroup::"
@@ -37,13 +37,13 @@ alloc)
3737 # A 64bit little-endian and a 32bit big-endian target.
3838 # (Varying the OS is not really worth it for alloc.)
3939 for TARGET in x86_64-unknown-linux-gnu mips-unknown-linux-gnu; do
40- echo " ::group::Testing alloc ($TARGET , symbolic alignment, strict provenance )"
41- MIRIFLAGS=" $DEFAULTFLAGS -Zmiri-symbolic-alignment-check -Zmiri-strict-provenance " \
40+ echo " ::group::Testing alloc ($TARGET , symbolic alignment)"
41+ MIRIFLAGS=" $DEFAULTFLAGS -Zmiri-symbolic-alignment-check" \
4242 ./run-test.sh alloc --target $TARGET --lib --tests \
4343 2>&1 | ts -i ' %.s '
4444 echo " ::endgroup::"
45- echo " ::group::Testing alloc docs ($TARGET , strict provenance )"
46- MIRIFLAGS=" $DEFAULTFLAGS -Zmiri-ignore-leaks -Zmiri-disable-isolation -Zmiri-strict-provenance " \
45+ echo " ::group::Testing alloc docs ($TARGET , ignore leaks )"
46+ MIRIFLAGS=" $DEFAULTFLAGS -Zmiri-ignore-leaks -Zmiri-disable-isolation" \
4747 ./run-test.sh alloc --target $TARGET --doc \
4848 2>&1 | ts -i ' %.s '
4949 echo " ::endgroup::"
5959 # FIXME: strict provenance should be possible, but needs
6060 # <https://github.com/rust-lang/rust/pull/104658> and a getrandom bump.
6161 for TARGET in x86_64-unknown-linux-gnu aarch64-apple-darwin; do
62- echo " ::group::Testing std core ($CORE on $TARGET )"
63- MIRIFLAGS=" $DEFAULTFLAGS -Zmiri-disable-isolation" \
62+ echo " ::group::Testing std core ($CORE on $TARGET , permissive provenance )"
63+ MIRIFLAGS=" $DEFAULTFLAGS -Zmiri-disable-isolation -Zmiri-permissive-provenance " \
6464 ./run-test.sh std --target $TARGET --lib --tests \
6565 -- $CORE \
6666 2>&1 | ts -i ' %.s '
6767 echo " ::endgroup::"
68- echo " ::group::Testing std core docs ($CORE on $TARGET )"
69- MIRIFLAGS=" $DEFAULTFLAGS -Zmiri-ignore-leaks -Zmiri-disable-isolation" \
68+ echo " ::group::Testing std core docs ($CORE on $TARGET , ignore leaks, permissive provenance )"
69+ MIRIFLAGS=" $DEFAULTFLAGS -Zmiri-ignore-leaks -Zmiri-disable-isolation -Zmiri-permissive-provenance " \
7070 ./run-test.sh std --target $TARGET --doc \
7171 -- $CORE \
7272 2>&1 | ts -i ' %.s '
7373 echo " ::endgroup::"
7474 done
7575 # hashbrown and some other things do int2ptr casts, so we need permissive provenance.
7676 # "sleep" has a thread leak that we have to ignore
77- echo " ::group::Testing remaining std (except for $SKIP )"
77+ echo " ::group::Testing remaining std (all except for $SKIP , ignore leaks, permissive provenance )"
7878 MIRIFLAGS=" $DEFAULTFLAGS -Zmiri-ignore-leaks -Zmiri-disable-isolation -Zmiri-permissive-provenance" \
7979 ./run-test.sh std --lib --tests \
8080 -- $( for M in $CORE ; do echo " --skip $M " ; done) $( for M in $SKIP ; do echo " --skip $M " ; done) \
8181 2>&1 | ts -i ' %.s '
8282 echo " ::endgroup::"
83- echo " ::group::Testing remaining std docs (except for $SKIP )"
83+ echo " ::group::Testing remaining std docs (all except for $SKIP , ignore leaks, permissive provenance )"
8484 MIRIFLAGS=" $DEFAULTFLAGS -Zmiri-ignore-leaks -Zmiri-disable-isolation -Zmiri-permissive-provenance" \
8585 ./run-test.sh std --doc \
8686 -- $( for M in $CORE ; do echo " --skip $M " ; done) $( for M in $SKIP ; do echo " --skip $M " ; done) \
8989 ;;
9090simd)
9191 cd $MIRI_LIB_SRC /portable-simd
92- echo " ::group::Testing portable-simd (strict provenance) "
93- MIRIFLAGS=" $DEFAULTFLAGS -Zmiri-strict-provenance " \
92+ echo " ::group::Testing portable-simd"
93+ MIRIFLAGS=" $DEFAULTFLAGS " \
9494 cargo miri test --lib --tests \
9595 2>&1 | ts -i ' %.s '
9696 echo " ::endgroup::"
97- echo " ::group::Testing portable-simd docs (strict provenance) "
98- MIRIFLAGS=" $DEFAULTFLAGS -Zmiri-strict-provenance " \
97+ echo " ::group::Testing portable-simd docs"
98+ MIRIFLAGS=" $DEFAULTFLAGS " \
9999 cargo miri test --doc \
100100 2>&1 | ts -i ' %.s '
101101 echo " ::endgroup::"
0 commit comments