Make test subcommand exit 1 if tests fail

This commit is contained in:
Max Brunsfeld 2019-01-27 09:53:49 -08:00
parent 5927e104c2
commit 6d8ef48dad
2 changed files with 7 additions and 4 deletions

View file

@ -121,7 +121,9 @@ fn run() -> error::Result<()> {
let filter = matches.value_of("filter");
let corpus_path = current_dir.join("corpus");
if let Some(language) = loader.language_at_path(&current_dir)? {
test::run_tests_at_path(language, &corpus_path, debug, debug_graph, filter)?;
if !test::run_tests_at_path(language, &corpus_path, debug, debug_graph, filter)? {
exit(1);
}
} else {
eprintln!("No language found");
}

View file

@ -48,7 +48,7 @@ pub fn run_tests_at_path(
debug: bool,
debug_graph: bool,
filter: Option<&str>,
) -> Result<()> {
) -> Result<bool> {
let test_entry = parse_tests(path)?;
let mut _log_session = None;
let mut parser = Parser::new();
@ -86,9 +86,10 @@ pub fn run_tests_at_path(
println!("\n {}. {}:", i + 1, name);
print_diff(actual, expected);
}
Ok(true)
} else {
Ok(false)
}
Ok(())
}
pub fn print_diff_key() {