diff --git a/src/interrupts.rs b/src/interrupts.rs index e00de25..eb6a24a 100644 --- a/src/interrupts.rs +++ b/src/interrupts.rs @@ -17,4 +17,9 @@ pub fn init_idt() { extern "x86-interrupt" fn breakpoint_handler(stack_frame: InterruptStackFrame){ println!("EXCEPTION: BREAKPOINT\n{stack_frame:#?}"); +} + +#[test_case] +fn test_breakpoint_exception() { + x86_64::instructions::interrupts::int3(); } \ No newline at end of file diff --git a/src/lib.rs b/src/lib.rs index 947f14c..9d2f3fd 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -44,6 +44,7 @@ pub fn test_panic_handler(info: &PanicInfo) -> ! { #[cfg(test)] #[no_mangle] pub extern "C" fn _start() -> ! { + init(); test_main(); loop {} }