fallout because compiletest tried to use rustc's log crate

This commit is contained in:
Oliver Schneider 2016-05-31 16:41:26 +02:00
parent 4f3f2020ed
commit 49dfd82fd3
No known key found for this signature in database
GPG key ID: 56D6EEA0FC67AC46

View file

@ -9,14 +9,32 @@ fn run_miri(file: &str, sysroot: &str) -> Output {
let libpath = libpath.to_str().unwrap();
let libpath2 = path.join("target").join("debug").join("deps");
let libpath2 = libpath2.to_str().unwrap();
let mut args = vec![
"run".to_string(), "--".to_string(),
"--sysroot".to_string(), sysroot.to_string(),
"-L".to_string(), libpath.to_string(),
"-L".to_string(), libpath2.to_string(),
file.to_string()
];
for file in std::fs::read_dir("target/debug/deps").unwrap() {
let file = file.unwrap();
if file.file_type().unwrap().is_file() {
let path = file.path();
if let Some(ext) = path.extension() {
if ext == "rlib" {
let name = path.file_stem().unwrap().to_str().unwrap();
if let Some(dash) = name.rfind('-') {
if name.starts_with("lib") {
args.push("--extern".to_string());
args.push(format!("{}={}", &name[3..dash], path.to_str().unwrap()));
}
}
}
}
}
}
Command::new("cargo")
.args(&[
"run", "--",
"--sysroot", sysroot,
"-L", libpath,
"-L", libpath2,
file
])
.args(&args)
.output()
.unwrap_or_else(|e| panic!("failed to execute process: {}", e))
}