standardize exercise running via an external toml file
This commit is contained in:
@@ -1,51 +1,20 @@
|
||||
use crate::util::clean;
|
||||
use console::{style, Emoji};
|
||||
use indicatif::ProgressBar;
|
||||
use std::fs;
|
||||
use std::process::Command;
|
||||
use toml::Value;
|
||||
|
||||
pub fn verify() -> Result<(), ()> {
|
||||
compile_only("exercises/variables/variables1.rs")?;
|
||||
compile_only("exercises/variables/variables2.rs")?;
|
||||
compile_only("exercises/variables/variables3.rs")?;
|
||||
compile_only("exercises/variables/variables4.rs")?;
|
||||
test("exercises/if/if1.rs")?;
|
||||
compile_only("exercises/functions/functions1.rs")?;
|
||||
compile_only("exercises/functions/functions2.rs")?;
|
||||
compile_only("exercises/functions/functions3.rs")?;
|
||||
compile_only("exercises/functions/functions4.rs")?;
|
||||
compile_only("exercises/functions/functions5.rs")?;
|
||||
test("exercises/test1.rs")?;
|
||||
compile_only("exercises/primitive_types/primitive_types1.rs")?;
|
||||
compile_only("exercises/primitive_types/primitive_types2.rs")?;
|
||||
compile_only("exercises/primitive_types/primitive_types3.rs")?;
|
||||
compile_only("exercises/primitive_types/primitive_types4.rs")?;
|
||||
compile_only("exercises/primitive_types/primitive_types5.rs")?;
|
||||
compile_only("exercises/primitive_types/primitive_types6.rs")?;
|
||||
test("exercises/tests/tests1.rs")?;
|
||||
test("exercises/tests/tests2.rs")?;
|
||||
test("exercises/tests/tests3.rs")?;
|
||||
test("exercises/test2.rs")?;
|
||||
compile_only("exercises/strings/strings1.rs")?;
|
||||
compile_only("exercises/strings/strings2.rs")?;
|
||||
compile_only("exercises/test3.rs")?;
|
||||
compile_only("exercises/modules/modules1.rs")?;
|
||||
compile_only("exercises/modules/modules2.rs")?;
|
||||
compile_only("exercises/macros/macros1.rs")?;
|
||||
compile_only("exercises/macros/macros2.rs")?;
|
||||
compile_only("exercises/macros/macros3.rs")?;
|
||||
compile_only("exercises/macros/macros4.rs")?;
|
||||
compile_only("exercises/test4.rs")?;
|
||||
compile_only("exercises/move_semantics/move_semantics1.rs")?;
|
||||
compile_only("exercises/move_semantics/move_semantics2.rs")?;
|
||||
compile_only("exercises/move_semantics/move_semantics3.rs")?;
|
||||
compile_only("exercises/move_semantics/move_semantics4.rs")?;
|
||||
test("exercises/error_handling/errors1.rs")?;
|
||||
test("exercises/error_handling/errors2.rs")?;
|
||||
test("exercises/error_handling/errors3.rs")?;
|
||||
test("exercises/error_handling/errorsn.rs")?;
|
||||
compile_only("exercises/error_handling/option1.rs")?;
|
||||
test("exercises/error_handling/result1.rs")?;
|
||||
compile_only("exercises/threads/threads1.rs")?;
|
||||
let toml: Value = fs::read_to_string("info.toml").unwrap().parse().unwrap();
|
||||
let tomlvec: &Vec<Value> = toml.get("exercises").unwrap().as_array().unwrap();
|
||||
for i in tomlvec {
|
||||
match i.get("mode").unwrap().as_str().unwrap() {
|
||||
"test" => test(i.get("path").unwrap().as_str().unwrap())?,
|
||||
"compile" => compile_only(i.get("path").unwrap().as_str().unwrap())?,
|
||||
_ => (),
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user