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