diff --git a/src/compiletest/runtest.rs b/src/compiletest/runtest.rs index 9ce81c5bae53..c1ca27c805cd 100644 --- a/src/compiletest/runtest.rs +++ b/src/compiletest/runtest.rs @@ -89,6 +89,7 @@ fn run_cfail_test(config: &config, props: &TestProps, testfile: &Path) { } else { check_error_patterns(props, testfile, &proc_res); } + check_no_compiler_crash(&proc_res); } fn run_rfail_test(config: &config, props: &TestProps, testfile: &Path) { @@ -505,6 +506,15 @@ fn check_error_patterns(props: &TestProps, } } +fn check_no_compiler_crash(proc_res: &ProcRes) { + for line in proc_res.stderr.lines() { + if line.starts_with("error: internal compiler error:") { + fatal_ProcRes("compiler encountered internal error".to_owned(), + proc_res); + } + } +} + fn check_expected_errors(expected_errors: Vec , testfile: &Path, proc_res: &ProcRes) {