Stop parsing ui_test annotations in run-dep mode

This commit is contained in:
Oli Scherer 2023-07-06 08:55:46 +00:00
parent 89c2596dde
commit 822feaa5eb
3 changed files with 17 additions and 10 deletions

View File

@ -842,9 +842,9 @@ dependencies = [
[[package]]
name = "ui_test"
version = "0.11.6"
version = "0.11.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24a2e70adc9d18b9b4dd80ea57aeec447103c6fbb354a07c080adad451c645e1"
checksum = "c21899b59f53717dfad29e4f46e5b21a200a1b6888ab86532a07cfc8b48dd78c"
dependencies = [
"bstr",
"cargo-platform",

View File

@ -36,7 +36,7 @@ libloading = "0.7"
[dev-dependencies]
colored = "2"
ui_test = "0.11.6"
ui_test = "0.11.7"
rustc_version = "0.4"
# Features chosen to match those required by env_logger, to avoid rebuilds
regex = { version = "1.5.5", default-features = false, features = ["perf", "std"] }

View File

@ -274,13 +274,20 @@ fn main() -> Result<()> {
fn run_dep_mode(target: String, mut args: impl Iterator<Item = OsString>) -> Result<()> {
let path = args.next().expect("./miri run-dep must be followed by a file name");
let mut config = test_config(&target, "", Mode::Yolo, /* with dependencies */ true);
config.program.args.remove(0); // remove the `--error-format=json` argument
config.program.args.push("--color".into());
config.program.args.push("always".into());
let mut cmd = ui_test::test_command(config, Path::new(&path))?;
// Separate the arguments to the `cargo miri` invocation from
// the arguments to the interpreted prog
cmd.arg("--");
config.program.args.clear(); // We want to give the user full control over flags
config.build_dependencies_and_link_them()?;
if let Ok(extra_flags) = env::var("MIRIFLAGS") {
for flag in extra_flags.split_whitespace() {
config.program.args.push(flag.into());
}
}
let mut cmd = config.program.build(&config.out_dir);
cmd.arg("--color").arg("always");
cmd.arg(path);
cmd.args(args);
println!("Running {cmd:?}");
if cmd.spawn()?.wait()?.success() { Ok(()) } else { std::process::exit(1) }
}