Ktest major improvements #21
|
@ -23,11 +23,11 @@ pub fn kmain(_cmdline: &str, boot_modules: BootModules) -> ! {
|
||||||
debug!("Entered kmain");
|
debug!("Entered kmain");
|
||||||
|
|
||||||
#[cfg(feature = "ktest")] {
|
#[cfg(feature = "ktest")] {
|
||||||
use crate::ktest;
|
use crate::ktest::test_main;
|
||||||
debug!("TESTING");
|
debug!("Running tests");
|
||||||
ktest::test_main();
|
test_main();
|
||||||
|
|
||||||
loop {};
|
loop {}
|
||||||
}
|
}
|
||||||
|
|
||||||
// let kcmd = build_cmd("Kernel Command Line", cmdline);
|
// let kcmd = build_cmd("Kernel Command Line", cmdline);
|
||||||
|
|
|
@ -5,6 +5,8 @@ use {
|
||||||
|
|
||||||
pub use ktest_macro::*;
|
pub use ktest_macro::*;
|
||||||
|
|
||||||
|
|
||||||
|
#[allow(improper_ctypes)]
|
||||||
extern "C" {
|
extern "C" {
|
||||||
static __ktest_start: fn() -> Result<String, String>;
|
static __ktest_start: fn() -> Result<String, String>;
|
||||||
static __ktest_end: fn() -> Result<String, String>;
|
static __ktest_end: fn() -> Result<String, String>;
|
||||||
|
@ -12,6 +14,7 @@ extern "C" {
|
||||||
|
|
||||||
// TODO: Implement ktest for arm and riscv (Later problems, see below)
|
// TODO: Implement ktest for arm and riscv (Later problems, see below)
|
||||||
// Allow for arch specific tests (Leave for now)
|
// Allow for arch specific tests (Leave for now)
|
||||||
|
// Should panic tests
|
||||||
pub fn test_main() {
|
pub fn test_main() {
|
||||||
unsafe {
|
unsafe {
|
||||||
let mut current_test = &__ktest_start as *const fn() -> Result<String, String>;
|
let mut current_test = &__ktest_start as *const fn() -> Result<String, String>;
|
||||||
|
@ -29,8 +32,8 @@ pub fn test_main() {
|
||||||
debug!("Test: {} passed", name);
|
debug!("Test: {} passed", name);
|
||||||
pass += 1;
|
pass += 1;
|
||||||
},
|
},
|
||||||
Err(ename) => {
|
Err(name) => {
|
||||||
debug!("Test: {} failed", ename);
|
debug!("Test: {} failed", name);
|
||||||
fail += 1;
|
fail += 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue