@@ -497,10 +497,8 @@ mod test {
497497 }
498498
499499 impl DummyDevice {
500- fn new (
501- services : Vec < RangeInclusive < Port > > ,
502- ) -> Arc < RwLock < dyn EmulatedDevice > > {
503- Arc :: new ( RwLock :: new ( Self { services } ) )
500+ fn new ( services : Vec < RangeInclusive < Port > > ) -> Self {
501+ Self { services }
504502 }
505503 }
506504
@@ -516,8 +514,8 @@ mod test {
516514 #[ test]
517515 fn test_device_map ( ) {
518516 let mut map = DeviceMap :: default ( ) ;
519- let com = Uart8250 :: new ( 0 ) ;
520- map. register_device ( com) . unwrap ( ) ;
517+ let com = RwLock :: new ( Uart8250 :: new ( 0 ) . unwrap ( ) ) ;
518+ map. register_device ( & com) . unwrap ( ) ;
521519 let _dev = map. find_device ( 0u16 ) . unwrap ( ) ;
522520
523521 assert_eq ! ( map. find_device( 10u16 ) . is_none( ) , true ) ;
@@ -552,62 +550,62 @@ mod test {
552550 #[ test]
553551 fn test_conflicting_portio_device ( ) {
554552 let mut map = DeviceMap :: default ( ) ;
555- let com = Uart8250 :: new ( 0 ) ;
556- map. register_device ( com) . unwrap ( ) ;
557- let com = Uart8250 :: new ( 0 ) ;
553+ let com = RwLock :: new ( Uart8250 :: new ( 0 ) . unwrap ( ) ) ;
554+ map. register_device ( & com) . unwrap ( ) ;
555+ let com = RwLock :: new ( Uart8250 :: new ( 0 ) . unwrap ( ) ) ;
558556
559- assert ! ( map. register_device( com) . is_err( ) ) ;
557+ assert ! ( map. register_device( & com) . is_err( ) ) ;
560558 }
561559
562560 #[ test]
563561 fn test_fully_overlapping_portio_device ( ) {
564562 // region 2 fully inside region 1
565563 let services = vec ! [ 0 ..=10 , 2 ..=8 ] ;
566- let dummy = DummyDevice :: new ( services) ;
564+ let dummy = RwLock :: new ( DummyDevice :: new ( services) ) ;
567565 let mut map = DeviceMap :: default ( ) ;
568566
569- assert ! ( map. register_device( dummy) . is_err( ) ) ;
567+ assert ! ( map. register_device( & dummy) . is_err( ) ) ;
570568 }
571569
572570 #[ test]
573571 fn test_fully_encompassing_portio_device ( ) {
574572 // region 1 fully inside region 2
575573 let services = vec ! [ 2 ..=8 , 0 ..=10 ] ;
576- let dummy = DummyDevice :: new ( services) ;
574+ let dummy = RwLock :: new ( DummyDevice :: new ( services) ) ;
577575 let mut map = DeviceMap :: default ( ) ;
578576
579- assert ! ( map. register_device( dummy) . is_err( ) ) ;
577+ assert ! ( map. register_device( & dummy) . is_err( ) ) ;
580578 }
581579
582580 #[ test]
583581 fn test_partially_overlapping_tail_portio_device ( ) {
584582 // region 1 and region 2 partially overlap at the tail of region 1 and
585583 // the start of region 2
586584 let services = vec ! [ 0 ..=4 , 3 ..=8 ] ;
587- let dummy = DummyDevice :: new ( services) ;
585+ let dummy = RwLock :: new ( DummyDevice :: new ( services) ) ;
588586 let mut map = DeviceMap :: default ( ) ;
589587
590- assert ! ( map. register_device( dummy) . is_err( ) ) ;
588+ assert ! ( map. register_device( & dummy) . is_err( ) ) ;
591589 }
592590
593591 #[ test]
594592 fn test_partially_overlapping_head_portio_device ( ) {
595593 // region 1 and region 2 partially overlap at the start of region 1 and
596594 // the tail of region 2
597595 let services = vec ! [ 3 ..=8 , 0 ..=4 ] ;
598- let dummy = DummyDevice :: new ( services) ;
596+ let dummy = RwLock :: new ( DummyDevice :: new ( services) ) ;
599597 let mut map = DeviceMap :: default ( ) ;
600598
601- assert ! ( map. register_device( dummy) . is_err( ) ) ;
599+ assert ! ( map. register_device( & dummy) . is_err( ) ) ;
602600 }
603601
604602 #[ test]
605603 fn test_non_overlapping_portio_device ( ) {
606604 // region 1 and region 2 don't overlap
607605 let services = vec ! [ 0 ..=3 , 4 ..=8 ] ;
608- let dummy = DummyDevice :: new ( services) ;
606+ let dummy = RwLock :: new ( DummyDevice :: new ( services) ) ;
609607 let mut map = DeviceMap :: default ( ) ;
610608
611- assert ! ( map. register_device( dummy) . is_ok( ) ) ;
609+ assert ! ( map. register_device( & dummy) . is_ok( ) ) ;
612610 }
613611}
0 commit comments