rust/tests/run-fail/inception.rs

33 lines
1.0 KiB
Rust
Raw Normal View History

2016-04-22 07:38:46 -05:00
// error-pattern:no mir for DefId
use std::env;
use std::process::{Command, Output};
fn run_miri(file: &str, sysroot: &str) -> Output {
let path = env::current_dir().unwrap();
let libpath = path.join("target").join("debug");
let libpath = libpath.to_str().unwrap();
let libpath2 = path.join("target").join("debug").join("deps");
let libpath2 = libpath2.to_str().unwrap();
Command::new("cargo")
.args(&[
"run", "--",
"--sysroot", sysroot,
"-L", libpath,
"-L", libpath2,
file
])
.output()
.unwrap_or_else(|e| panic!("failed to execute process: {}", e))
}
fn main() {
let sysroot = env::var("RUST_SYSROOT").expect("env variable `RUST_SYSROOT` not set");
let test_run = run_miri("src/bin/miri.rs", &sysroot);
if test_run.status.code().unwrap_or(-1) != 0 {
println!("{}", String::from_utf8(test_run.stdout).unwrap());
panic!("{}", String::from_utf8(test_run.stderr).unwrap());
}
}