@@ -382,7 +382,7 @@ mod tests {
382
382
383
383
use crate :: bitmap:: tests:: test_guest_memory_and_region;
384
384
use crate :: bitmap:: AtomicBitmap ;
385
- use crate :: { Error , GuestAddressSpace , GuestMemory } ;
385
+ use crate :: { Error , GuestAddressSpace , GuestMemory , GuestMemoryError } ;
386
386
387
387
use std:: io:: Write ;
388
388
use std:: mem;
@@ -479,129 +479,66 @@ mod tests {
479
479
fn test_no_memory_region ( ) {
480
480
let regions_summary = [ ] ;
481
481
482
- assert_eq ! (
483
- format!(
484
- "{:?}" ,
485
- new_guest_memory_mmap( & regions_summary) . err( ) . unwrap( )
486
- ) ,
487
- format!( "{:?}" , Error :: NoMemoryRegion )
488
- ) ;
489
-
490
- assert_eq ! (
491
- format!(
492
- "{:?}" ,
493
- new_guest_memory_mmap_with_files( & regions_summary)
494
- . err( )
495
- . unwrap( )
496
- ) ,
497
- format!( "{:?}" , Error :: NoMemoryRegion )
498
- ) ;
499
-
500
- assert_eq ! (
501
- format!(
502
- "{:?}" ,
503
- new_guest_memory_mmap_from_regions( & regions_summary)
504
- . err( )
505
- . unwrap( )
506
- ) ,
507
- format!( "{:?}" , Error :: NoMemoryRegion )
508
- ) ;
509
-
510
- assert_eq ! (
511
- format!(
512
- "{:?}" ,
513
- new_guest_memory_mmap_from_arc_regions( & regions_summary)
514
- . err( )
515
- . unwrap( )
516
- ) ,
517
- format!( "{:?}" , Error :: NoMemoryRegion )
518
- ) ;
482
+ assert ! ( matches!(
483
+ new_guest_memory_mmap( & regions_summary) . unwrap_err( ) ,
484
+ Error :: NoMemoryRegion
485
+ ) ) ;
486
+ assert ! ( matches!(
487
+ new_guest_memory_mmap_with_files( & regions_summary) . unwrap_err( ) ,
488
+ Error :: NoMemoryRegion
489
+ ) ) ;
490
+ assert ! ( matches!(
491
+ new_guest_memory_mmap_from_regions( & regions_summary) . unwrap_err( ) ,
492
+ Error :: NoMemoryRegion
493
+ ) ) ;
494
+ assert ! ( matches!(
495
+ new_guest_memory_mmap_from_regions( & regions_summary) . unwrap_err( ) ,
496
+ Error :: NoMemoryRegion
497
+ ) ) ;
519
498
}
520
499
521
500
#[ test]
522
501
fn test_overlapping_memory_regions ( ) {
523
502
let regions_summary = [ ( GuestAddress ( 0 ) , 100_usize ) , ( GuestAddress ( 99 ) , 100_usize ) ] ;
524
503
525
- assert_eq ! (
526
- format!(
527
- "{:?}" ,
528
- new_guest_memory_mmap( & regions_summary) . err( ) . unwrap( )
529
- ) ,
530
- format!( "{:?}" , Error :: MemoryRegionOverlap )
531
- ) ;
532
-
533
- assert_eq ! (
534
- format!(
535
- "{:?}" ,
536
- new_guest_memory_mmap_with_files( & regions_summary)
537
- . err( )
538
- . unwrap( )
539
- ) ,
540
- format!( "{:?}" , Error :: MemoryRegionOverlap )
541
- ) ;
542
-
543
- assert_eq ! (
544
- format!(
545
- "{:?}" ,
546
- new_guest_memory_mmap_from_regions( & regions_summary)
547
- . err( )
548
- . unwrap( )
549
- ) ,
550
- format!( "{:?}" , Error :: MemoryRegionOverlap )
551
- ) ;
552
-
553
- assert_eq ! (
554
- format!(
555
- "{:?}" ,
556
- new_guest_memory_mmap_from_arc_regions( & regions_summary)
557
- . err( )
558
- . unwrap( )
559
- ) ,
560
- format!( "{:?}" , Error :: MemoryRegionOverlap )
561
- ) ;
504
+ assert ! ( matches!(
505
+ new_guest_memory_mmap( & regions_summary) . unwrap_err( ) ,
506
+ Error :: MemoryRegionOverlap
507
+ ) ) ;
508
+ assert ! ( matches!(
509
+ new_guest_memory_mmap_with_files( & regions_summary) . unwrap_err( ) ,
510
+ Error :: MemoryRegionOverlap
511
+ ) ) ;
512
+ assert ! ( matches!(
513
+ new_guest_memory_mmap_from_regions( & regions_summary) . unwrap_err( ) ,
514
+ Error :: MemoryRegionOverlap
515
+ ) ) ;
516
+ assert ! ( matches!(
517
+ new_guest_memory_mmap_from_regions( & regions_summary) . unwrap_err( ) ,
518
+ Error :: MemoryRegionOverlap
519
+ ) ) ;
562
520
}
563
521
564
522
#[ test]
565
523
fn test_unsorted_memory_regions ( ) {
566
524
let regions_summary = [ ( GuestAddress ( 100 ) , 100_usize ) , ( GuestAddress ( 0 ) , 100_usize ) ] ;
567
525
568
- assert_eq ! (
569
- format!(
570
- "{:?}" ,
571
- new_guest_memory_mmap( & regions_summary) . err( ) . unwrap( )
572
- ) ,
573
- format!( "{:?}" , Error :: UnsortedMemoryRegions )
574
- ) ;
575
-
576
- assert_eq ! (
577
- format!(
578
- "{:?}" ,
579
- new_guest_memory_mmap_with_files( & regions_summary)
580
- . err( )
581
- . unwrap( )
582
- ) ,
583
- format!( "{:?}" , Error :: UnsortedMemoryRegions )
584
- ) ;
585
-
586
- assert_eq ! (
587
- format!(
588
- "{:?}" ,
589
- new_guest_memory_mmap_from_regions( & regions_summary)
590
- . err( )
591
- . unwrap( )
592
- ) ,
593
- format!( "{:?}" , Error :: UnsortedMemoryRegions )
594
- ) ;
595
-
596
- assert_eq ! (
597
- format!(
598
- "{:?}" ,
599
- new_guest_memory_mmap_from_arc_regions( & regions_summary)
600
- . err( )
601
- . unwrap( )
602
- ) ,
603
- format!( "{:?}" , Error :: UnsortedMemoryRegions )
604
- ) ;
526
+ assert ! ( matches!(
527
+ new_guest_memory_mmap( & regions_summary) . unwrap_err( ) ,
528
+ Error :: UnsortedMemoryRegions
529
+ ) ) ;
530
+ assert ! ( matches!(
531
+ new_guest_memory_mmap_with_files( & regions_summary) . unwrap_err( ) ,
532
+ Error :: UnsortedMemoryRegions
533
+ ) ) ;
534
+ assert ! ( matches!(
535
+ new_guest_memory_mmap_from_regions( & regions_summary) . unwrap_err( ) ,
536
+ Error :: UnsortedMemoryRegions
537
+ ) ) ;
538
+ assert ! ( matches!(
539
+ new_guest_memory_mmap_from_regions( & regions_summary) . unwrap_err( ) ,
540
+ Error :: UnsortedMemoryRegions
541
+ ) ) ;
605
542
}
606
543
607
544
#[ test]
@@ -826,18 +763,13 @@ mod tests {
826
763
for gm in gm_list. iter ( ) {
827
764
let val1: u64 = 0xaa55_aa55_aa55_aa55 ;
828
765
let val2: u64 = 0x55aa_55aa_55aa_55aa ;
829
- assert_eq ! (
830
- format!( "{:?}" , gm. write_obj( val1, bad_addr) . err( ) . unwrap( ) ) ,
831
- format!( "InvalidGuestAddress({:?})" , bad_addr, )
832
- ) ;
833
- assert_eq ! (
834
- format!( "{:?}" , gm. write_obj( val1, bad_addr2) . err( ) . unwrap( ) ) ,
835
- format!(
836
- "PartialBuffer {{ expected: {:?}, completed: {:?} }}" ,
837
- mem:: size_of:: <u64 >( ) ,
838
- max_addr. checked_offset_from( bad_addr2) . unwrap( )
839
- )
840
- ) ;
766
+ assert ! ( matches!(
767
+ gm. write_obj( val1, bad_addr) . unwrap_err( ) ,
768
+ GuestMemoryError :: InvalidGuestAddress ( addr) if addr == bad_addr
769
+ ) ) ;
770
+ assert ! ( matches!(
771
+ gm. write_obj( val1, bad_addr2) . unwrap_err( ) ,
772
+ GuestMemoryError :: PartialBuffer { expected, completed} if expected == size_of:: <u64 >( ) && completed == max_addr. checked_offset_from( bad_addr2) . unwrap( ) as usize ) ) ;
841
773
842
774
gm. write_obj ( val1, GuestAddress ( 0x500 ) ) . unwrap ( ) ;
843
775
gm. write_obj ( val2, GuestAddress ( 0x1000 + 32 ) ) . unwrap ( ) ;
0 commit comments