os_test_framework/panic.rs
1use core::panic::PanicInfo;
2
3use owo_colors::OwoColorize;
4
5use crate::platform::{ExitState, try_platform};
6
7pub fn handle_panic(panic_info: &PanicInfo) -> ! {
8 if let Some(platform) = try_platform() {
9 let mut platform = platform.lock();
10 platform.print(format_args!(" {}\n\n{}\n", "Failed".bright_red().bold(), panic_info.message().red()));
11 platform.exit(ExitState::Failed)
12 }
13
14 loop {
15 core::hint::spin_loop();
16 }
17}