mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-23 07:14:28 +00:00
Auto merge of #3406 - RalfJung:many-seeds, r=RalfJung
many-seeds: propagate failure properly This may help explain https://github.com/rust-lang/miri/issues/3405.
This commit is contained in:
commit
f97f448d4e
@ -58,8 +58,9 @@ function run_tests {
|
||||
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.
|
||||
# (Need to invoke via explicit `bash -c` for Windows.)
|
||||
for FILE in tests/many-seeds/*.rs; do
|
||||
MIRI_SEEDS=64 ./miri many-seeds ./miri run "$FILE"
|
||||
MIRI_SEEDS=64 ./miri many-seeds "$BASH" -c "./miri run '$FILE'"
|
||||
done
|
||||
|
||||
# Check that the benchmarks build and run, but without actually benchmarking.
|
||||
|
@ -178,7 +178,7 @@ impl Command {
|
||||
.context("Please install rustup-toolchain-install-master by running 'cargo install rustup-toolchain-install-master'")?;
|
||||
let sh = Shell::new()?;
|
||||
sh.change_dir(miri_dir()?);
|
||||
let new_commit = Some(sh.read_file("rust-version")?.trim().to_owned());
|
||||
let new_commit = sh.read_file("rust-version")?.trim().to_owned();
|
||||
let current_commit = {
|
||||
let rustc_info = cmd!(sh, "rustc +miri --version -v").read();
|
||||
if rustc_info.is_err() {
|
||||
@ -193,7 +193,7 @@ impl Command {
|
||||
}
|
||||
};
|
||||
// Check if we already are at that commit.
|
||||
if current_commit == new_commit {
|
||||
if current_commit.as_ref() == Some(&new_commit) {
|
||||
if active_toolchain()? != "miri" {
|
||||
cmd!(sh, "rustup override set miri").run()?;
|
||||
}
|
||||
@ -202,7 +202,7 @@ impl Command {
|
||||
// Install and setup new toolchain.
|
||||
cmd!(sh, "rustup toolchain uninstall miri").run()?;
|
||||
|
||||
cmd!(sh, "rustup-toolchain-install-master -n miri -c cargo -c rust-src -c rustc-dev -c llvm-tools -c rustfmt -c clippy {flags...} -- {new_commit...}").run()?;
|
||||
cmd!(sh, "rustup-toolchain-install-master -n miri -c cargo -c rust-src -c rustc-dev -c llvm-tools -c rustfmt -c clippy {flags...} -- {new_commit}").run()?;
|
||||
cmd!(sh, "rustup override set miri").run()?;
|
||||
// Cleanup.
|
||||
cmd!(sh, "cargo clean").run()?;
|
||||
@ -380,9 +380,9 @@ impl Command {
|
||||
.env("MIRIFLAGS", miriflags)
|
||||
.quiet()
|
||||
.run();
|
||||
if status.is_err() {
|
||||
if let Err(err) = status {
|
||||
println!("Failing seed: {seed}");
|
||||
break;
|
||||
return Err(err.into());
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
|
Loading…
Reference in New Issue
Block a user