Skip to content

Commit

Permalink
Add Compile Test
Browse files Browse the repository at this point in the history
  • Loading branch information
killercup committed Apr 14, 2016
1 parent 4b9d141 commit f6f3939
Show file tree
Hide file tree
Showing 18 changed files with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions tests/compile-test.rs
@@ -0,0 +1,37 @@
use std::{env, fs};
use std::process::{Command, Output};

fn run_miri(file: &str, sysroot: &str) -> Output {
Command::new("cargo")
.args(&["run", "--", "--sysroot", sysroot, file])
.output()
.unwrap_or_else(|e| panic!("failed to execute process: {}", e))
}

#[test]
fn run_pass() {
let sysroot = env::var("RUST_SYSROOT").expect("env variable `RUST_SYSROOT` not set");

let test_files = fs::read_dir("./tests/run-pass/")
.expect("Can't read `run-pass` directory")
.filter_map(|entry| entry.ok())
.filter(|entry| {
entry.clone()
.file_type()
.map(|x| x.is_file())
.unwrap_or(false)
})
.filter_map(|entry| entry.path().to_str().map(|x| x.to_string()));

for file in test_files {
println!("{}: compile test running", file);

let test_run = run_miri(&file, &sysroot);

if test_run.status.code().unwrap_or(-1) != 0 {
println!("{}: error {:?}", file, test_run);
} else {
println!("{}: ok", file);
}
}
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit f6f3939

Please sign in to comment.