From 4fa79ee02ff0c07c4670166e17b879d809569539 Mon Sep 17 00:00:00 2001 From: Chris Pearce Date: Sun, 7 Apr 2019 17:12:03 +0100 Subject: Extract command builders into util --- src/util.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/util.rs') 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"); -- cgit v1.2.3