diff options
author | Vincent Ambo <mail@tazj.in> | 2021-03-15T20·44+0200 |
---|---|---|
committer | Vincent Ambo <mail@tazj.in> | 2021-03-15T20·48+0200 |
commit | b6895a5b309eca4f12062f394331fff1b9e3dff8 (patch) | |
tree | 3d916dad08acf1bad3022e63dbd082633a3550ff /users/glittershark/achilles/tests | |
parent | 4d193f239525954631ba9d789ca3aea9a2f4e14d (diff) | |
parent | b93268085aab14c80a400c299da5d04d2781098e (diff) |
merge(glittershark/achilles): Subtree import at 'b93268085a' r/2279
Imported from https://github.com/glittershark/achilles/ git-subtree-dir: users/glittershark/achilles git-subtree-mainline: 4d193f239525954631ba9d789ca3aea9a2f4e14d git-subtree-split: b93268085aab14c80a400c299da5d04d2781098e Change-Id: I64a583b454bbe03e20358ad7808939a4cbc212ba
Diffstat (limited to 'users/glittershark/achilles/tests')
-rw-r--r-- | users/glittershark/achilles/tests/compile.rs | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/users/glittershark/achilles/tests/compile.rs b/users/glittershark/achilles/tests/compile.rs new file mode 100644 index 000000000000..7fa15ad9653e --- /dev/null +++ b/users/glittershark/achilles/tests/compile.rs @@ -0,0 +1,54 @@ +use std::process::Command; + +use crate_root::root; + +const FIXTURES: &[(&str, i32)] = &[("simple", 5), ("functions", 9)]; + +#[test] +fn compile_and_run_files() { + let ach = root().unwrap().join("ach"); + + println!("Running: `make clean`"); + assert!( + Command::new("make") + .arg("clean") + .current_dir(&ach) + .spawn() + .unwrap() + .wait() + .unwrap() + .success(), + "make clean failed" + ); + + for (fixture, exit_code) in FIXTURES { + println!(">>> Testing: {}", fixture); + + println!(" Running: `make {}`", fixture); + assert!( + Command::new("make") + .arg(fixture) + .current_dir(&ach) + .spawn() + .unwrap() + .wait() + .unwrap() + .success(), + "make failed" + ); + + let out_path = ach.join(fixture); + println!(" Running: `{}`", out_path.to_str().unwrap()); + assert_eq!( + Command::new(out_path) + .spawn() + .unwrap() + .wait() + .unwrap() + .code() + .unwrap(), + *exit_code, + ); + println!(" OK"); + } +} |