@@ -1642,13 +1642,16 @@ mod tests {
1642
1642
use std:: thread:: spawn;
1643
1643
1644
1644
use matches:: assert_matches;
1645
+ use std:: num:: NonZeroUsize ;
1645
1646
use vmm_sys_util:: tempfile:: TempFile ;
1646
1647
1647
1648
use crate :: bitmap:: tests:: {
1648
1649
check_range, range_is_clean, range_is_dirty, test_bytes, test_volatile_memory,
1649
1650
} ;
1650
1651
use crate :: bitmap:: { AtomicBitmap , RefSlice } ;
1651
1652
1653
+ const DEFAULT_PAGE_SIZE : NonZeroUsize = unsafe { NonZeroUsize :: new_unchecked ( 0x1000 ) } ;
1654
+
1652
1655
#[ test]
1653
1656
fn test_display_error ( ) {
1654
1657
assert_eq ! (
@@ -2298,14 +2301,13 @@ mod tests {
2298
2301
let val = 123u64 ;
2299
2302
let dirty_offset = 0x1000 ;
2300
2303
let dirty_len = size_of_val ( & val) ;
2301
- let page_size = 0x1000 ;
2302
2304
2303
2305
let len = 0x10000 ;
2304
2306
let buf = unsafe { std:: alloc:: alloc_zeroed ( Layout :: from_size_align ( len, 8 ) . unwrap ( ) ) } ;
2305
2307
2306
2308
// Invoke the `Bytes` test helper function.
2307
2309
{
2308
- let bitmap = AtomicBitmap :: new ( len, page_size ) ;
2310
+ let bitmap = AtomicBitmap :: new ( len, DEFAULT_PAGE_SIZE ) ;
2309
2311
let slice = unsafe { VolatileSlice :: with_bitmap ( buf, len, bitmap. slice_at ( 0 ) , None ) } ;
2310
2312
2311
2313
test_bytes (
@@ -2321,18 +2323,18 @@ mod tests {
2321
2323
2322
2324
// Invoke the `VolatileMemory` test helper function.
2323
2325
{
2324
- let bitmap = AtomicBitmap :: new ( len, page_size ) ;
2326
+ let bitmap = AtomicBitmap :: new ( len, DEFAULT_PAGE_SIZE ) ;
2325
2327
let slice = unsafe { VolatileSlice :: with_bitmap ( buf, len, bitmap. slice_at ( 0 ) , None ) } ;
2326
2328
test_volatile_memory ( & slice) ;
2327
2329
}
2328
2330
2329
- let bitmap = AtomicBitmap :: new ( len, page_size ) ;
2331
+ let bitmap = AtomicBitmap :: new ( len, DEFAULT_PAGE_SIZE ) ;
2330
2332
let slice = unsafe { VolatileSlice :: with_bitmap ( buf, len, bitmap. slice_at ( 0 ) , None ) } ;
2331
2333
2332
- let bitmap2 = AtomicBitmap :: new ( len, page_size ) ;
2334
+ let bitmap2 = AtomicBitmap :: new ( len, DEFAULT_PAGE_SIZE ) ;
2333
2335
let slice2 = unsafe { VolatileSlice :: with_bitmap ( buf, len, bitmap2. slice_at ( 0 ) , None ) } ;
2334
2336
2335
- let bitmap3 = AtomicBitmap :: new ( len, page_size ) ;
2337
+ let bitmap3 = AtomicBitmap :: new ( len, DEFAULT_PAGE_SIZE ) ;
2336
2338
let slice3 = unsafe { VolatileSlice :: with_bitmap ( buf, len, bitmap3. slice_at ( 0 ) , None ) } ;
2337
2339
2338
2340
assert ! ( range_is_clean( slice. bitmap( ) , 0 , slice. len( ) ) ) ;
@@ -2388,9 +2390,8 @@ mod tests {
2388
2390
fn test_volatile_ref_dirty_tracking ( ) {
2389
2391
let val = 123u64 ;
2390
2392
let mut buf = vec ! [ val] ;
2391
- let page_size = 0x1000 ;
2392
2393
2393
- let bitmap = AtomicBitmap :: new ( size_of_val ( & val) , page_size ) ;
2394
+ let bitmap = AtomicBitmap :: new ( size_of_val ( & val) , DEFAULT_PAGE_SIZE ) ;
2394
2395
let vref = unsafe {
2395
2396
VolatileRef :: with_bitmap ( buf. as_mut_ptr ( ) as * mut u8 , bitmap. slice_at ( 0 ) , None )
2396
2397
} ;
@@ -2400,8 +2401,11 @@ mod tests {
2400
2401
assert ! ( range_is_dirty( vref. bitmap( ) , 0 , vref. len( ) ) ) ;
2401
2402
}
2402
2403
2403
- fn test_volatile_array_ref_copy_from_tracking < T > ( buf : & mut [ T ] , index : usize , page_size : usize )
2404
- where
2404
+ fn test_volatile_array_ref_copy_from_tracking < T > (
2405
+ buf : & mut [ T ] ,
2406
+ index : usize ,
2407
+ page_size : NonZeroUsize ,
2408
+ ) where
2405
2409
T : ByteValued + From < u8 > ,
2406
2410
{
2407
2411
let bitmap = AtomicBitmap :: new ( size_of_val ( buf) , page_size) ;
@@ -2428,14 +2432,13 @@ mod tests {
2428
2432
let dirty_len = size_of_val ( & val) ;
2429
2433
let index = 0x1000 ;
2430
2434
let dirty_offset = dirty_len * index;
2431
- let page_size = 0x1000 ;
2432
2435
2433
2436
let mut buf = vec ! [ 0u64 ; index + 1 ] ;
2434
2437
let mut byte_buf = vec ! [ 0u8 ; index + 1 ] ;
2435
2438
2436
2439
// Test `ref_at`.
2437
2440
{
2438
- let bitmap = AtomicBitmap :: new ( buf. len ( ) * size_of_val ( & val) , page_size ) ;
2441
+ let bitmap = AtomicBitmap :: new ( buf. len ( ) * size_of_val ( & val) , DEFAULT_PAGE_SIZE ) ;
2439
2442
let arr = unsafe {
2440
2443
VolatileArrayRef :: with_bitmap (
2441
2444
buf. as_mut_ptr ( ) as * mut u8 ,
@@ -2452,7 +2455,7 @@ mod tests {
2452
2455
2453
2456
// Test `store`.
2454
2457
{
2455
- let bitmap = AtomicBitmap :: new ( buf. len ( ) * size_of_val ( & val) , page_size ) ;
2458
+ let bitmap = AtomicBitmap :: new ( buf. len ( ) * size_of_val ( & val) , DEFAULT_PAGE_SIZE ) ;
2456
2459
let arr = unsafe {
2457
2460
VolatileArrayRef :: with_bitmap (
2458
2461
buf. as_mut_ptr ( ) as * mut u8 ,
@@ -2469,8 +2472,8 @@ mod tests {
2469
2472
}
2470
2473
2471
2474
// Test `copy_from` when size_of::<T>() == 1.
2472
- test_volatile_array_ref_copy_from_tracking ( & mut byte_buf, index, page_size ) ;
2475
+ test_volatile_array_ref_copy_from_tracking ( & mut byte_buf, index, DEFAULT_PAGE_SIZE ) ;
2473
2476
// Test `copy_from` when size_of::<T>() > 1.
2474
- test_volatile_array_ref_copy_from_tracking ( & mut buf, index, page_size ) ;
2477
+ test_volatile_array_ref_copy_from_tracking ( & mut buf, index, DEFAULT_PAGE_SIZE ) ;
2475
2478
}
2476
2479
}
0 commit comments