should_panic.rs
1 #![no_std] 2 #![no_main] 3 4 use core::panic::PanicInfo; 5 use blog_os::{exit_qemu, serial_print, serial_println, QemuExitCode}; 6 7 #[unsafe(no_mangle)] 8 pub extern "C" fn _start() -> ! { 9 should_fail(); 10 serial_println!("[test did not panic]"); 11 exit_qemu(QemuExitCode::Failed); 12 loop{} 13 } 14 15 fn should_fail() { 16 serial_print!("should_panic::should_fail...\t"); 17 assert_eq!(0, 1); 18 } 19 20 #[panic_handler] 21 fn panic(_info: &PanicInfo) -> ! { 22 serial_println!("[ok]"); 23 exit_qemu(QemuExitCode::Success); 24 loop {} 25 }