Add one more test

pull/41/head
Andre Richter 4 years ago
parent 52d2799ee6
commit f677e6d01f
No known key found for this signature in database
GPG Key ID: 2116C1AB102F615E

@ -1101,6 +1101,39 @@ diff -uNr 12_cpu_exceptions_part1/src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs 13_in
// PL011 UART registers.
//
diff -uNr 12_cpu_exceptions_part1/src/bsp/rpi/virt_mem_layout.rs 13_integrated_testing/src/bsp/rpi/virt_mem_layout.rs
--- 12_cpu_exceptions_part1/src/bsp/rpi/virt_mem_layout.rs
+++ 13_integrated_testing/src/bsp/rpi/virt_mem_layout.rs
@@ -67,3 +67,28 @@
},
],
);
+
+//--------------------------------------------------------------------------------------------------
+// Testing
+//--------------------------------------------------------------------------------------------------
+
+#[cfg(test)]
+mod tests {
+ use super::*;
+ use test_macros::kernel_test;
+
+ /// Check 64 KiB alignment of the kernel's virtual memory layout sections.
+ #[kernel_test]
+ fn virt_mem_layout_sections_are_64KiB_aligned() {
+ const SIXTYFOUR_KIB: usize = 65536;
+
+ for i in LAYOUT.inner().iter() {
+ let start: usize = *(i.virtual_range)().start();
+ let end: usize = *(i.virtual_range)().end() + 1;
+
+ assert_eq!(start modulo SIXTYFOUR_KIB, 0);
+ assert_eq!(end modulo SIXTYFOUR_KIB, 0);
+ assert!(end >= start);
+ }
+ }
+}
diff -uNr 12_cpu_exceptions_part1/src/bsp/rpi.rs 13_integrated_testing/src/bsp/rpi.rs
--- 12_cpu_exceptions_part1/src/bsp/rpi.rs
+++ 13_integrated_testing/src/bsp/rpi.rs

@ -67,3 +67,28 @@ pub static LAYOUT: KernelVirtualLayout<{ NUM_MEM_RANGES }> = KernelVirtualLayout
},
],
);
//--------------------------------------------------------------------------------------------------
// Testing
//--------------------------------------------------------------------------------------------------
#[cfg(test)]
mod tests {
use super::*;
use test_macros::kernel_test;
/// Check 64 KiB alignment of the kernel's virtual memory layout sections.
#[kernel_test]
fn virt_mem_layout_sections_are_64KiB_aligned() {
const SIXTYFOUR_KIB: usize = 65536;
for i in LAYOUT.inner().iter() {
let start: usize = *(i.virtual_range)().start();
let end: usize = *(i.virtual_range)().end() + 1;
assert_eq!(start % SIXTYFOUR_KIB, 0);
assert_eq!(end % SIXTYFOUR_KIB, 0);
assert!(end >= start);
}
}
}

Loading…
Cancel
Save