@@ -140,14 +140,12 @@ impl<M: GuestMemory> GuestMemoryExclusiveGuard<'_, M> {
140140}
141141
142142#[ cfg( test) ]
143- #[ cfg( feature = "backend-mmap" ) ]
144143mod tests {
145144 use super :: * ;
146- use crate :: { GuestAddress , GuestMemory , GuestMemoryRegion , GuestUsize , MmapRegion } ;
145+ use crate :: region:: tests:: { new_guest_memory_collection_from_regions, Collection , MockRegion } ;
146+ use crate :: { GuestAddress , GuestMemory , GuestMemoryRegion , GuestUsize } ;
147147
148- type GuestMemoryMmap = crate :: GuestMemoryMmap < ( ) > ;
149- type GuestRegionMmap = crate :: GuestRegionMmap < ( ) > ;
150- type GuestMemoryMmapAtomic = GuestMemoryAtomic < GuestMemoryMmap > ;
148+ type GuestMemoryMmapAtomic = GuestMemoryAtomic < Collection > ;
151149
152150 #[ test]
153151 fn test_atomic_memory ( ) {
@@ -157,7 +155,7 @@ mod tests {
157155 ( GuestAddress ( 0x1000 ) , region_size) ,
158156 ] ;
159157 let mut iterated_regions = Vec :: new ( ) ;
160- let gmm = GuestMemoryMmap :: from_ranges ( & regions) . unwrap ( ) ;
158+ let gmm = new_guest_memory_collection_from_regions ( & regions) . unwrap ( ) ;
161159 let gm = GuestMemoryMmapAtomic :: new ( gmm) ;
162160 let mem = gm. memory ( ) ;
163161
@@ -166,7 +164,7 @@ mod tests {
166164 }
167165
168166 for region in mem. iter ( ) {
169- iterated_regions. push ( ( region. start_addr ( ) , region. len ( ) as usize ) ) ;
167+ iterated_regions. push ( ( region. start_addr ( ) , region. len ( ) ) ) ;
170168 }
171169 assert_eq ! ( regions, iterated_regions) ;
172170 assert_eq ! ( mem. num_regions( ) , 2 ) ;
@@ -207,7 +205,7 @@ mod tests {
207205 ( GuestAddress ( 0x0 ) , region_size) ,
208206 ( GuestAddress ( 0x1000 ) , region_size) ,
209207 ] ;
210- let gmm = GuestMemoryMmap :: from_ranges ( & regions) . unwrap ( ) ;
208+ let gmm = new_guest_memory_collection_from_regions ( & regions) . unwrap ( ) ;
211209 let gm = GuestMemoryMmapAtomic :: new ( gmm) ;
212210 let mem = {
213211 let guard1 = gm. memory ( ) ;
@@ -219,38 +217,44 @@ mod tests {
219217 #[ test]
220218 fn test_atomic_hotplug ( ) {
221219 let region_size = 0x1000 ;
222- let regions = vec ! [
220+ let regions = [
223221 ( GuestAddress ( 0x0 ) , region_size) ,
224222 ( GuestAddress ( 0x10_0000 ) , region_size) ,
225223 ] ;
226- let mut gmm = Arc :: new ( GuestMemoryMmap :: from_ranges ( & regions) . unwrap ( ) ) ;
224+ let mut gmm = Arc :: new ( new_guest_memory_collection_from_regions ( & regions) . unwrap ( ) ) ;
227225 let gm: GuestMemoryAtomic < _ > = gmm. clone ( ) . into ( ) ;
228226 let mem_orig = gm. memory ( ) ;
229227 assert_eq ! ( mem_orig. num_regions( ) , 2 ) ;
230228
231229 {
232230 let guard = gm. lock ( ) . unwrap ( ) ;
233231 let new_gmm = Arc :: make_mut ( & mut gmm) ;
234- let mmap = Arc :: new (
235- GuestRegionMmap :: new ( MmapRegion :: new ( 0x1000 ) . unwrap ( ) , GuestAddress ( 0x8000 ) )
236- . unwrap ( ) ,
237- ) ;
238- let new_gmm = new_gmm. insert_region ( mmap) . unwrap ( ) ;
239- let mmap = Arc :: new (
240- GuestRegionMmap :: new ( MmapRegion :: new ( 0x1000 ) . unwrap ( ) , GuestAddress ( 0x4000 ) )
241- . unwrap ( ) ,
242- ) ;
243- let new_gmm = new_gmm. insert_region ( mmap) . unwrap ( ) ;
244- let mmap = Arc :: new (
245- GuestRegionMmap :: new ( MmapRegion :: new ( 0x1000 ) . unwrap ( ) , GuestAddress ( 0xc000 ) )
246- . unwrap ( ) ,
247- ) ;
248- let new_gmm = new_gmm. insert_region ( mmap) . unwrap ( ) ;
249- let mmap = Arc :: new (
250- GuestRegionMmap :: new ( MmapRegion :: new ( 0x1000 ) . unwrap ( ) , GuestAddress ( 0xc000 ) )
251- . unwrap ( ) ,
252- ) ;
253- new_gmm. insert_region ( mmap) . unwrap_err ( ) ;
232+ let new_gmm = new_gmm
233+ . insert_region ( Arc :: new ( MockRegion {
234+ start : GuestAddress ( 0x8000 ) ,
235+ len : 0x1000 ,
236+ } ) )
237+ . unwrap ( ) ;
238+ let new_gmm = new_gmm
239+ . insert_region ( Arc :: new ( MockRegion {
240+ start : GuestAddress ( 0x4000 ) ,
241+ len : 0x1000 ,
242+ } ) )
243+ . unwrap ( ) ;
244+ let new_gmm = new_gmm
245+ . insert_region ( Arc :: new ( MockRegion {
246+ start : GuestAddress ( 0xc000 ) ,
247+ len : 0x1000 ,
248+ } ) )
249+ . unwrap ( ) ;
250+
251+ new_gmm
252+ . insert_region ( Arc :: new ( MockRegion {
253+ start : GuestAddress ( 0x8000 ) ,
254+ len : 0x1000 ,
255+ } ) )
256+ . unwrap_err ( ) ;
257+
254258 guard. replace ( new_gmm) ;
255259 }
256260
0 commit comments