@@ -497,10 +497,8 @@ mod test {
497
497
}
498
498
499
499
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 }
504
502
}
505
503
}
506
504
@@ -516,8 +514,8 @@ mod test {
516
514
#[ test]
517
515
fn test_device_map ( ) {
518
516
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 ( ) ;
521
519
let _dev = map. find_device ( 0u16 ) . unwrap ( ) ;
522
520
523
521
assert_eq ! ( map. find_device( 10u16 ) . is_none( ) , true ) ;
@@ -552,62 +550,62 @@ mod test {
552
550
#[ test]
553
551
fn test_conflicting_portio_device ( ) {
554
552
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 ( ) ) ;
558
556
559
- assert ! ( map. register_device( com) . is_err( ) ) ;
557
+ assert ! ( map. register_device( & com) . is_err( ) ) ;
560
558
}
561
559
562
560
#[ test]
563
561
fn test_fully_overlapping_portio_device ( ) {
564
562
// region 2 fully inside region 1
565
563
let services = vec ! [ 0 ..=10 , 2 ..=8 ] ;
566
- let dummy = DummyDevice :: new ( services) ;
564
+ let dummy = RwLock :: new ( DummyDevice :: new ( services) ) ;
567
565
let mut map = DeviceMap :: default ( ) ;
568
566
569
- assert ! ( map. register_device( dummy) . is_err( ) ) ;
567
+ assert ! ( map. register_device( & dummy) . is_err( ) ) ;
570
568
}
571
569
572
570
#[ test]
573
571
fn test_fully_encompassing_portio_device ( ) {
574
572
// region 1 fully inside region 2
575
573
let services = vec ! [ 2 ..=8 , 0 ..=10 ] ;
576
- let dummy = DummyDevice :: new ( services) ;
574
+ let dummy = RwLock :: new ( DummyDevice :: new ( services) ) ;
577
575
let mut map = DeviceMap :: default ( ) ;
578
576
579
- assert ! ( map. register_device( dummy) . is_err( ) ) ;
577
+ assert ! ( map. register_device( & dummy) . is_err( ) ) ;
580
578
}
581
579
582
580
#[ test]
583
581
fn test_partially_overlapping_tail_portio_device ( ) {
584
582
// region 1 and region 2 partially overlap at the tail of region 1 and
585
583
// the start of region 2
586
584
let services = vec ! [ 0 ..=4 , 3 ..=8 ] ;
587
- let dummy = DummyDevice :: new ( services) ;
585
+ let dummy = RwLock :: new ( DummyDevice :: new ( services) ) ;
588
586
let mut map = DeviceMap :: default ( ) ;
589
587
590
- assert ! ( map. register_device( dummy) . is_err( ) ) ;
588
+ assert ! ( map. register_device( & dummy) . is_err( ) ) ;
591
589
}
592
590
593
591
#[ test]
594
592
fn test_partially_overlapping_head_portio_device ( ) {
595
593
// region 1 and region 2 partially overlap at the start of region 1 and
596
594
// the tail of region 2
597
595
let services = vec ! [ 3 ..=8 , 0 ..=4 ] ;
598
- let dummy = DummyDevice :: new ( services) ;
596
+ let dummy = RwLock :: new ( DummyDevice :: new ( services) ) ;
599
597
let mut map = DeviceMap :: default ( ) ;
600
598
601
- assert ! ( map. register_device( dummy) . is_err( ) ) ;
599
+ assert ! ( map. register_device( & dummy) . is_err( ) ) ;
602
600
}
603
601
604
602
#[ test]
605
603
fn test_non_overlapping_portio_device ( ) {
606
604
// region 1 and region 2 don't overlap
607
605
let services = vec ! [ 0 ..=3 , 4 ..=8 ] ;
608
- let dummy = DummyDevice :: new ( services) ;
606
+ let dummy = RwLock :: new ( DummyDevice :: new ( services) ) ;
609
607
let mut map = DeviceMap :: default ( ) ;
610
608
611
- assert ! ( map. register_device( dummy) . is_ok( ) ) ;
609
+ assert ! ( map. register_device( & dummy) . is_ok( ) ) ;
612
610
}
613
611
}
0 commit comments