From d288924fbbceb75d4b233998e945140a91cbd553 Mon Sep 17 00:00:00 2001 From: Jeremy Wall Date: Wed, 29 Aug 2018 20:12:54 -0500 Subject: [PATCH] FEATURE: output the parse or build errors of assert statements. --- src/build/mod.rs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/build/mod.rs b/src/build/mod.rs index 6b771b8..a518c03 100644 --- a/src/build/mod.rs +++ b/src/build/mod.rs @@ -991,11 +991,15 @@ impl<'a> Builder<'a> { let ok = match self.eval_string(&expr_as_stmt) { Ok(v) => v, Err(e) => { - return Err(Box::new(error::Error::new( - format!("Assertion Evaluation of [{}] failed: {}", expr, e), - error::ErrorType::AssertError, - tok.pos.clone(), - ))); + // failure! + let msg = format!( + "NOT OK - '{}' at line: {} column: {}\n\tCompileError: {}\n", + expr, tok.pos.line, tok.pos.column, e + ); + self.assert_collector.summary.push_str(&msg); + self.assert_collector.failures.push_str(&msg); + self.assert_collector.success = false; + return Ok(Rc::new(Val::Empty)); } };