From 496ccaaf750a4ec1c537c463eff56108e1cc0bb4 Mon Sep 17 00:00:00 2001 From: Dennis Kobert Date: Sun, 18 Apr 2021 19:01:54 +0200 Subject: Further cleanup * Bump x86_64 dep to version 0.1.14 * Rewrite LOCAL_APIC handling * Remove warnings --- kernel/tests/boot.rs | 4 ++++ kernel/tests/int3.rs | 8 ++++++-- kernel/tests/stack_overflow.rs | 4 +++- 3 files changed, 13 insertions(+), 3 deletions(-) (limited to 'kernel/tests') diff --git a/kernel/tests/boot.rs b/kernel/tests/boot.rs index 3a65ff6..c6c0de0 100644 --- a/kernel/tests/boot.rs +++ b/kernel/tests/boot.rs @@ -4,6 +4,7 @@ #![feature(panic_info_message)] #![test_runner(kernel::testing::serial_test_runner)] #![reexport_test_harness_main = "test_main"] +#![allow(unreachable_code)] #![no_std] use kernel; @@ -14,6 +15,7 @@ extern "C" fn _start() -> ! { kernel::init(); test_main(); + #[allow(clippy::empty_loop)] loop {} } @@ -25,6 +27,7 @@ fn boot() { #[test_case] fn poweroff() { qemu::exit_qemu(qemu::QemuExitCode::Success); + loop {} panic!("Qemu did not exit"); } @@ -33,5 +36,6 @@ fn poweroff() { #[no_mangle] extern "C" fn panic_handler(info: &core::panic::PanicInfo) -> ! { kernel::testing::serial_panic(info); + #[allow(clippy::empty_loop)] loop {} } diff --git a/kernel/tests/int3.rs b/kernel/tests/int3.rs index faa5b3d..ac0e5f0 100644 --- a/kernel/tests/int3.rs +++ b/kernel/tests/int3.rs @@ -1,12 +1,15 @@ #![no_main] #![feature(abi_x86_interrupt)] #![feature(panic_info_message)] +#![allow(unreachable_code)] +#![feature(custom_test_frameworks)] +#![test_runner(kernel::testing::serial_test_runner)] #![no_std] use kernel; use kernel::interrupts; use kernel::interrupts::exception_handlers; -use kernel::io::qemu; +use kernel::qemu; #[no_mangle] extern "C" fn _start() -> ! { @@ -15,6 +18,7 @@ extern "C" fn _start() -> ! { exception_handlers::expect_fault(interrupts::InterruptType::Breakpoint); } x86_64::instructions::interrupts::int3(); + panic!("BREAKPOINT not caught"); loop {} @@ -24,6 +28,6 @@ extern "C" fn _start() -> ! { #[panic_handler] #[no_mangle] extern "C" fn panic_handler(info: &core::panic::PanicInfo) -> ! { - kernel::testing::serial_should_panic(info); + kernel::testing::serial_panic(info); loop {} } diff --git a/kernel/tests/stack_overflow.rs b/kernel/tests/stack_overflow.rs index fc93376..9c4db19 100644 --- a/kernel/tests/stack_overflow.rs +++ b/kernel/tests/stack_overflow.rs @@ -2,12 +2,13 @@ #![feature(abi_x86_interrupt)] #![feature(panic_info_message)] #![no_std] +#![allow(unreachable_code)] use core::fmt::Write; use kernel; use kernel::interrupts; use kernel::interrupts::exception_handlers; -use kernel::io::qemu; +use kernel::qemu; #[no_mangle] extern "C" fn _start() -> ! { @@ -15,6 +16,7 @@ extern "C" fn _start() -> ! { unsafe { exception_handlers::expect_fault(interrupts::InterruptType::PageFault); } + qemu::exit_qemu(qemu::QemuExitCode::Success); _loop(0); panic!("PAGE_FAULT not caught"); loop {} -- cgit v1.2.3-54-g00ecf