commit
cd5f8b4f70
@ -613,6 +613,21 @@ impl Step for Miri {
|
||||
builder.run(&mut cargo);
|
||||
}
|
||||
|
||||
// Run it again for mir-opt-level 4 to catch some miscompilations.
|
||||
if builder.config.test_args().is_empty() {
|
||||
cargo.env("MIRIFLAGS", "-O -Zmir-opt-level=4 -Cdebug-assertions=yes");
|
||||
// Optimizations can change backtraces
|
||||
cargo.env("MIRI_SKIP_UI_CHECKS", "1");
|
||||
// Optimizations can change error locations and remove UB so don't run `fail` tests.
|
||||
cargo.args(&["tests/pass", "tests/panic"]);
|
||||
|
||||
let mut cargo = prepare_cargo_test(cargo, &[], &[], "miri", compiler, target, builder);
|
||||
{
|
||||
let _time = util::timeit(&builder);
|
||||
builder.run(&mut cargo);
|
||||
}
|
||||
}
|
||||
|
||||
// # Run `cargo miri test`.
|
||||
// This is just a smoke test (Miri's own CI invokes this in a bunch of different ways and ensures
|
||||
// that we get the desired output), but that is sufficient to make sure that the libtest harness
|
||||
@ -644,10 +659,12 @@ impl Step for Miri {
|
||||
cargo.env("RUST_BACKTRACE", "1");
|
||||
|
||||
let mut cargo = Command::from(cargo);
|
||||
{
|
||||
let _time = util::timeit(&builder);
|
||||
builder.run(&mut cargo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
||||
pub struct CompiletestTest {
|
||||
|
@ -45,8 +45,7 @@ function run_tests {
|
||||
# them. Also error locations change so we don't run the failing tests.
|
||||
# We explicitly enable debug-assertions here, they are disabled by -O but we have tests
|
||||
# which exist to check that we panic on debug assertion failures.
|
||||
#FIXME: Disabled due to <https://github.com/rust-lang/rust/issues/111422>.
|
||||
#MIRIFLAGS="${MIRIFLAGS:-} -O -Zmir-opt-level=4 -Cdebug-assertions=yes" MIRI_SKIP_UI_CHECKS=1 ./miri test -- tests/{pass,panic}
|
||||
MIRIFLAGS="${MIRIFLAGS:-} -O -Zmir-opt-level=4 -Cdebug-assertions=yes" MIRI_SKIP_UI_CHECKS=1 ./miri test -- tests/{pass,panic}
|
||||
|
||||
# Also run some many-seeds tests. 64 seeds means this takes around a minute per test.
|
||||
for FILE in tests/many-seeds/*.rs; do
|
||||
|
@ -1 +1 @@
|
||||
699a862a3d4e4a2d5603c93297c0c44021ea72f5
|
||||
0b795044c6f0854445f1f2bb6443e87848e150d1
|
||||
|
Loading…
x
Reference in New Issue
Block a user