Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/mir/eval/tests.rs')
| -rw-r--r-- | crates/hir-ty/src/mir/eval/tests.rs | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/crates/hir-ty/src/mir/eval/tests.rs b/crates/hir-ty/src/mir/eval/tests.rs index e88fbd19a4..4abbda56cb 100644 --- a/crates/hir-ty/src/mir/eval/tests.rs +++ b/crates/hir-ty/src/mir/eval/tests.rs @@ -73,6 +73,13 @@ fn check_pass_and_stdio(ra_fixture: &str, expected_stdout: &str, expected_stderr } } +fn check_panic(ra_fixture: &str, expected_panic: &str) { + let (db, file_ids) = TestDB::with_many_files(ra_fixture); + let file_id = *file_ids.last().unwrap(); + let e = eval_main(&db, file_id).unwrap_err(); + assert_eq!(e.is_panic().unwrap_or_else(|| panic!("unexpected error: {:?}", e)), expected_panic); +} + #[test] fn function_with_extern_c_abi() { check_pass( @@ -96,13 +103,14 @@ fn panic_fmt() { // -> core::panicking::const_panic_fmt // -> #[rustc_const_panic_str] core::panicking::panic_display (hooked by CTFE for builtin panic) // -> Err(ConstEvalError::Panic) - check_pass( + check_panic( r#" //- minicore: fmt, panic fn main() { panic!("hello, world!"); } "#, + "hello, world!", ); } @@ -112,7 +120,7 @@ fn panic_display() { // -> panic_2021 (builtin macro redirection) // -> #[rustc_const_panic_str] core::panicking::panic_display (hooked by CTFE for builtin panic) // -> Err(ConstEvalError::Panic) - check_pass( + check_panic( r#" //- minicore: fmt, panic @@ -120,6 +128,7 @@ fn main() { panic!("{}", "hello, world!"); } "#, + "hello, world!", ); } |