From 10b9afa9061899f5e2db4be864655ee9d3a110d4 Mon Sep 17 00:00:00 2001 From: Igor Matuszewski Date: Sat, 8 Dec 2018 22:32:35 +0100 Subject: [PATCH] Add test asserting we catch Rust parser panics --- src/test/mod.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/test/mod.rs b/src/test/mod.rs index 599f83cd49ca..77abc3c8558d 100644 --- a/src/test/mod.rs +++ b/src/test/mod.rs @@ -288,6 +288,18 @@ fn stdin_formatting_smoke_test() { assert_eq!(buf, "fn main() {}\r\n".as_bytes()); } +#[test] +fn stdin_parser_panic_caught() { + // https://github.com/rust-lang/rustfmt/issues/3239 + for text in ["{", "}"].iter().cloned().map(String::from) { + let mut buf = vec![]; + let mut session = Session::new(Default::default(), Some(&mut buf)); + let _ = session.format(Input::Text(text)); + + assert!(session.has_parsing_errors()); + } +} + #[test] fn stdin_disable_all_formatting_test() { match option_env!("CFG_RELEASE_CHANNEL") {