diff options
Diffstat (limited to 'src/verify.rs')
| -rw-r--r-- | src/verify.rs | 53 |
1 files changed, 11 insertions, 42 deletions
diff --git a/src/verify.rs b/src/verify.rs index b6eab36..bc44dfa 100644 --- a/src/verify.rs +++ b/src/verify.rs @@ -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(()) } |
