1
1
#! /bin/bash
2
2
set -euo pipefail
3
3
4
- DEFAULTFLAGS=" -Zmiri-retag-fields -Zrandomize-layout"
4
+ DEFAULTFLAGS=" -Zmiri-retag-fields -Zrandomize-layout -Zmiri-strict-provenance "
5
5
6
6
# apply our patch
7
7
rm -rf rust-src-patched
@@ -21,13 +21,13 @@ core)
21
21
-- --skip align \
22
22
2>&1 | ts -i ' %.s '
23
23
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 " \
26
26
./run-test.sh core --target $TARGET --lib --tests \
27
27
2>&1 | ts -i ' %.s '
28
28
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" \
31
31
./run-test.sh core --target $TARGET --doc \
32
32
2>&1 | ts -i ' %.s '
33
33
echo " ::endgroup::"
@@ -37,13 +37,13 @@ alloc)
37
37
# A 64bit little-endian and a 32bit big-endian target.
38
38
# (Varying the OS is not really worth it for alloc.)
39
39
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" \
42
42
./run-test.sh alloc --target $TARGET --lib --tests \
43
43
2>&1 | ts -i ' %.s '
44
44
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" \
47
47
./run-test.sh alloc --target $TARGET --doc \
48
48
2>&1 | ts -i ' %.s '
49
49
echo " ::endgroup::"
59
59
# FIXME: strict provenance should be possible, but needs
60
60
# <https://github.com/rust-lang/rust/pull/104658> and a getrandom bump.
61
61
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 " \
64
64
./run-test.sh std --target $TARGET --lib --tests \
65
65
-- $CORE \
66
66
2>&1 | ts -i ' %.s '
67
67
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 " \
70
70
./run-test.sh std --target $TARGET --doc \
71
71
-- $CORE \
72
72
2>&1 | ts -i ' %.s '
73
73
echo " ::endgroup::"
74
74
done
75
75
# hashbrown and some other things do int2ptr casts, so we need permissive provenance.
76
76
# "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 )"
78
78
MIRIFLAGS=" $DEFAULTFLAGS -Zmiri-ignore-leaks -Zmiri-disable-isolation -Zmiri-permissive-provenance" \
79
79
./run-test.sh std --lib --tests \
80
80
-- $( for M in $CORE ; do echo " --skip $M " ; done) $( for M in $SKIP ; do echo " --skip $M " ; done) \
81
81
2>&1 | ts -i ' %.s '
82
82
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 )"
84
84
MIRIFLAGS=" $DEFAULTFLAGS -Zmiri-ignore-leaks -Zmiri-disable-isolation -Zmiri-permissive-provenance" \
85
85
./run-test.sh std --doc \
86
86
-- $( for M in $CORE ; do echo " --skip $M " ; done) $( for M in $SKIP ; do echo " --skip $M " ; done) \
89
89
;;
90
90
simd)
91
91
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 " \
94
94
cargo miri test --lib --tests \
95
95
2>&1 | ts -i ' %.s '
96
96
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 " \
99
99
cargo miri test --doc \
100
100
2>&1 | ts -i ' %.s '
101
101
echo " ::endgroup::"
0 commit comments