Add a test that memory is reused with a long lived allocation

This test fails for the bump allocator because it can only free the complete heap at once, which is prevented by the single long-lived allocation.
This commit is contained in:
Philipp Oppermann
2020-01-09 15:45:38 +01:00
parent 45be3f0648
commit 75d826bf69

View File

@@ -58,6 +58,18 @@ fn many_boxes() {
serial_println!("[ok]");
}
#[test_case]
fn many_boxes_long_lived() {
serial_print!("many_boxes_long_lived... ");
let long_lived = Box::new(1); // new
for i in 0..HEAP_SIZE {
let x = Box::new(i);
assert_eq!(*x, i);
}
assert_eq!(*long_lived, 1); // new
serial_println!("[ok]");
}
#[panic_handler]
fn panic(info: &PanicInfo) -> ! {
blog_os::test_panic_handler(info)