NetBSD/regress/sys/kern/extent/tests

87 lines
2.3 KiB
Plaintext

# $NetBSD: tests,v 1.8 2002/02/21 03:59:25 mrg Exp $
#fill up an extent, should coalesce into one allocation
extent test1 0 0x4f
alloc_region 0x00 0x10
alloc_region 0x20 0x10
alloc_region 0x40 0x10
alloc_region 0x10 0x10
alloc_subregion 0 0x4f 0x10
print
#check whether subregion is obeyed (PR kern/7539)
extent test2 0 0x2f EX_NOCOALESCE
alloc_region 0x00 0x10
alloc_subregion 0x20 0x30 0x10
print
#check overlap into subregion (fixed in 1.25)
extent test3 0 0x3f EX_NOCOALESCE
alloc_region 0x00 0x20
alloc_region 0x30 0x10
alloc_subregion 0x10 0x3f 0x10
print
#check overflow in boundary check, before an allocated region (fixed in 1.32)
extent test4 0xf0000000 0xffffffff
alloc_region 0xf1000000 0x1
boundary 0x20000000
alloc_subregion 0xf0000000 0xffffffff 0x1
print
#check overflow in boundary check, before the subregion end (fixed in 1.32)
extent test5 0xf0000000 0xffffffff
boundary 0x20000000
alloc_subregion 0xf0000000 0xffffffff 0x1
print
#check allocation beyond last boundary line (to be fixed)
# last two allocations should succeed without boundary "fixups"
extent test6 0 11
boundary 8
alloc_subregion 0 11 8
alloc_subregion 0 11 2
alloc_subregion 0 11 2
print
#check allocation beyond last boundary line (to be fixed)
# last allocation should be bumped to the next boundary and exactly fit
# the remaining space
extent test7 0 11
boundary 8
alloc_subregion 0 11 7
alloc_subregion 0 11 4
print
#don't allocate a region pasts the end of subregion (i.e., the second
#alloc_subregion should fail). subr_extent.c prior to rev. 1.43 allocates
#region starts from 0x10.
extent test8 0 0x4f EX_NOCOALESCE
alloc_region 0x30 0x10
alloc_subregion 0 0xf 0x10
alloc_subregion 0 0xf 0x10
print
#When allocating a region with a boundary constraint, check that we properly
#detect overlaps once the candidate region has been aligned.
#subr_extent.c prior 1.45 could corrupt the extent map in this situation
extent test9 0 0x4f
boundary 0
alloc_subregion 0 0x10 4
alloc_subregion 0xd 0x20 2
boundary 8
alloc_subregion 0 0x4f 8
print
#check that free works
extent test10 0xc0002000 0xffffe000 EX_BOUNDZERO
boundary 0x10000
align 0x10000
alloc_subregion 0xc0002000 0xffffe000 0x2000
alloc_subregion 0xc0002000 0xffffe000 0x2000
print
free 0xc0020000 0x2000
print
alloc_subregion 0xc0002000 0xffffe000 0x10000
print