Skip to content

Commit 6c1d779

Browse files
committed
Added test to cover ranges ending in the max page
1 parent efd7f00 commit 6c1d779

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

src/structures/paging/page.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -447,4 +447,23 @@ mod tests {
447447
}
448448
assert_eq!(range_inclusive.next(), None);
449449
}
450+
451+
#[test]
452+
pub fn test_max_page_overflow() {
453+
let page_size = Size4KiB::SIZE;
454+
let number = 1000;
455+
456+
let start_addr = VirtAddr::new(u64::MAX).align_down(page_size) - number * page_size;
457+
let start: Page = Page::containing_address(start_addr);
458+
let end = start + number;
459+
460+
let mut range_inclusive = Page::range_inclusive(start, end);
461+
for i in 0..=number {
462+
assert_eq!(
463+
range_inclusive.next(),
464+
Some(Page::containing_address(start_addr + page_size * i))
465+
);
466+
}
467+
assert_eq!(range_inclusive.next(), None);
468+
}
450469
}

0 commit comments

Comments
 (0)