diff options
Diffstat (limited to 'src/util.rs')
| -rw-r--r-- | src/util.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/util.rs b/src/util.rs index 4a96ee9..8fcf693 100644 --- a/src/util.rs +++ b/src/util.rs @@ -1,4 +1,29 @@ use std::fs::remove_file; +use std::process::{Command, Output}; + +const RUSTC_COLOR_ARGS: &[&str] = &["--color", "always"]; + +pub fn compile_test_cmd(filename: &str) -> Output { + Command::new("rustc") + .args(&["--test", filename, "-o", "temp"]) + .args(RUSTC_COLOR_ARGS) + .output() + .expect("failed to compile exercise") +} + +pub fn compile_cmd(filename: &str) -> Output { + Command::new("rustc") + .args(&[filename, "-o", "temp"]) + .args(RUSTC_COLOR_ARGS) + .output() + .expect("failed to compile exercise") +} + +pub fn run_cmd() -> Output { + Command::new("./temp") + .output() + .expect("failed to run exercise") +} pub fn clean() { let _ignored = remove_file("temp"); |
