Add a test for the breakpoint exception

This commit is contained in:
Philipp Oppermann
2019-04-25 18:23:54 +02:00
parent b7eefae5f9
commit a5b6422785
2 changed files with 12 additions and 0 deletions

View File

@@ -23,3 +23,14 @@ pub fn init_idt() {
extern "x86-interrupt" fn breakpoint_handler(stack_frame: &mut InterruptStackFrame) {
println!("EXCEPTION: BREAKPOINT\n{:#?}", stack_frame);
}
#[cfg(test)]
use crate::{serial_print, serial_println};
#[test_case]
fn test_breakpoint_exception() {
serial_print!("test_breakpoint_exception...");
// invoke a breakpoint exception
x86_64::instructions::interrupts::int3();
serial_println!("[ok]");
}

View File

@@ -50,6 +50,7 @@ pub fn exit_qemu(exit_code: QemuExitCode) {
#[cfg(test)]
#[no_mangle]
pub extern "C" fn _start() -> ! {
init();
test_main();
loop {}
}