summaryrefslogtreecommitdiff
path: root/src/verify.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/verify.rs')
-rw-r--r--src/verify.rs53
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(())
}