From 63ca8bc91a2e34009a7e274a3105223040db6a37 Mon Sep 17 00:00:00 2001 From: DJMcNab <36049421+DJMcNab@users.noreply.github.com> Date: Thu, 20 Dec 2018 15:09:22 +0000 Subject: Change parser tests dir to inline/ok and inline/err --- crates/tools/src/lib.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'crates/tools/src/lib.rs') diff --git a/crates/tools/src/lib.rs b/crates/tools/src/lib.rs index 95d6e08f0..66fca5bef 100644 --- a/crates/tools/src/lib.rs +++ b/crates/tools/src/lib.rs @@ -21,6 +21,7 @@ const TOOLCHAIN: &str = "1.31.0"; pub struct Test { pub name: String, pub text: String, + pub ok: bool, } pub fn collect_tests(s: &str) -> Vec<(usize, Test)> { @@ -38,11 +39,16 @@ pub fn collect_tests(s: &str) -> Vec<(usize, Test)> { } let mut block = block.map(|(idx, line)| (idx, &line[prefix.len()..])); + let mut ok = true; let (start_line, name) = loop { match block.next() { Some((idx, line)) if line.starts_with("test ") => { break (idx, line["test ".len()..].to_string()); } + Some((idx, line)) if line.starts_with("test_fail ") => { + ok = false; + break (idx, line["test_fail ".len()..].to_string()); + } Some(_) => (), None => continue 'outer, } @@ -52,7 +58,7 @@ pub fn collect_tests(s: &str) -> Vec<(usize, Test)> { "\n", ); assert!(!text.trim().is_empty() && text.ends_with('\n')); - res.push((start_line, Test { name, text })) + res.push((start_line, Test { name, text, ok })) } res } -- cgit v1.2.3