Extract command builders into util
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");
