@@ -355,7 +355,7 @@ mod tests {
355
355
356
356
use crate :: bitmap:: tests:: test_guest_memory_and_region;
357
357
use crate :: bitmap:: AtomicBitmap ;
358
- use crate :: { Error , GuestAddressSpace , GuestMemory } ;
358
+ use crate :: { Error , GuestAddressSpace , GuestMemory , GuestMemoryError } ;
359
359
360
360
use std:: io:: Write ;
361
361
use std:: mem;
@@ -452,129 +452,66 @@ mod tests {
452
452
fn test_no_memory_region ( ) {
453
453
let regions_summary = [ ] ;
454
454
455
- assert_eq ! (
456
- format!(
457
- "{:?}" ,
458
- new_guest_memory_mmap( & regions_summary) . err( ) . unwrap( )
459
- ) ,
460
- format!( "{:?}" , Error :: NoMemoryRegion )
461
- ) ;
462
-
463
- assert_eq ! (
464
- format!(
465
- "{:?}" ,
466
- new_guest_memory_mmap_with_files( & regions_summary)
467
- . err( )
468
- . unwrap( )
469
- ) ,
470
- format!( "{:?}" , Error :: NoMemoryRegion )
471
- ) ;
472
-
473
- assert_eq ! (
474
- format!(
475
- "{:?}" ,
476
- new_guest_memory_mmap_from_regions( & regions_summary)
477
- . err( )
478
- . unwrap( )
479
- ) ,
480
- format!( "{:?}" , Error :: NoMemoryRegion )
481
- ) ;
482
-
483
- assert_eq ! (
484
- format!(
485
- "{:?}" ,
486
- new_guest_memory_mmap_from_arc_regions( & regions_summary)
487
- . err( )
488
- . unwrap( )
489
- ) ,
490
- format!( "{:?}" , Error :: NoMemoryRegion )
491
- ) ;
455
+ assert ! ( matches!(
456
+ new_guest_memory_mmap( & regions_summary) . unwrap_err( ) ,
457
+ Error :: NoMemoryRegion
458
+ ) ) ;
459
+ assert ! ( matches!(
460
+ new_guest_memory_mmap_with_files( & regions_summary) . unwrap_err( ) ,
461
+ Error :: NoMemoryRegion
462
+ ) ) ;
463
+ assert ! ( matches!(
464
+ new_guest_memory_mmap_from_regions( & regions_summary) . unwrap_err( ) ,
465
+ Error :: NoMemoryRegion
466
+ ) ) ;
467
+ assert ! ( matches!(
468
+ new_guest_memory_mmap_from_regions( & regions_summary) . unwrap_err( ) ,
469
+ Error :: NoMemoryRegion
470
+ ) ) ;
492
471
}
493
472
494
473
#[ test]
495
474
fn test_overlapping_memory_regions ( ) {
496
475
let regions_summary = [ ( GuestAddress ( 0 ) , 100_usize ) , ( GuestAddress ( 99 ) , 100_usize ) ] ;
497
476
498
- assert_eq ! (
499
- format!(
500
- "{:?}" ,
501
- new_guest_memory_mmap( & regions_summary) . err( ) . unwrap( )
502
- ) ,
503
- format!( "{:?}" , Error :: MemoryRegionOverlap )
504
- ) ;
505
-
506
- assert_eq ! (
507
- format!(
508
- "{:?}" ,
509
- new_guest_memory_mmap_with_files( & regions_summary)
510
- . err( )
511
- . unwrap( )
512
- ) ,
513
- format!( "{:?}" , Error :: MemoryRegionOverlap )
514
- ) ;
515
-
516
- assert_eq ! (
517
- format!(
518
- "{:?}" ,
519
- new_guest_memory_mmap_from_regions( & regions_summary)
520
- . err( )
521
- . unwrap( )
522
- ) ,
523
- format!( "{:?}" , Error :: MemoryRegionOverlap )
524
- ) ;
525
-
526
- assert_eq ! (
527
- format!(
528
- "{:?}" ,
529
- new_guest_memory_mmap_from_arc_regions( & regions_summary)
530
- . err( )
531
- . unwrap( )
532
- ) ,
533
- format!( "{:?}" , Error :: MemoryRegionOverlap )
534
- ) ;
477
+ assert ! ( matches!(
478
+ new_guest_memory_mmap( & regions_summary) . unwrap_err( ) ,
479
+ Error :: MemoryRegionOverlap
480
+ ) ) ;
481
+ assert ! ( matches!(
482
+ new_guest_memory_mmap_with_files( & regions_summary) . unwrap_err( ) ,
483
+ Error :: MemoryRegionOverlap
484
+ ) ) ;
485
+ assert ! ( matches!(
486
+ new_guest_memory_mmap_from_regions( & regions_summary) . unwrap_err( ) ,
487
+ Error :: MemoryRegionOverlap
488
+ ) ) ;
489
+ assert ! ( matches!(
490
+ new_guest_memory_mmap_from_regions( & regions_summary) . unwrap_err( ) ,
491
+ Error :: MemoryRegionOverlap
492
+ ) ) ;
535
493
}
536
494
537
495
#[ test]
538
496
fn test_unsorted_memory_regions ( ) {
539
497
let regions_summary = [ ( GuestAddress ( 100 ) , 100_usize ) , ( GuestAddress ( 0 ) , 100_usize ) ] ;
540
498
541
- assert_eq ! (
542
- format!(
543
- "{:?}" ,
544
- new_guest_memory_mmap( & regions_summary) . err( ) . unwrap( )
545
- ) ,
546
- format!( "{:?}" , Error :: UnsortedMemoryRegions )
547
- ) ;
548
-
549
- assert_eq ! (
550
- format!(
551
- "{:?}" ,
552
- new_guest_memory_mmap_with_files( & regions_summary)
553
- . err( )
554
- . unwrap( )
555
- ) ,
556
- format!( "{:?}" , Error :: UnsortedMemoryRegions )
557
- ) ;
558
-
559
- assert_eq ! (
560
- format!(
561
- "{:?}" ,
562
- new_guest_memory_mmap_from_regions( & regions_summary)
563
- . err( )
564
- . unwrap( )
565
- ) ,
566
- format!( "{:?}" , Error :: UnsortedMemoryRegions )
567
- ) ;
568
-
569
- assert_eq ! (
570
- format!(
571
- "{:?}" ,
572
- new_guest_memory_mmap_from_arc_regions( & regions_summary)
573
- . err( )
574
- . unwrap( )
575
- ) ,
576
- format!( "{:?}" , Error :: UnsortedMemoryRegions )
577
- ) ;
499
+ assert ! ( matches!(
500
+ new_guest_memory_mmap( & regions_summary) . unwrap_err( ) ,
501
+ Error :: UnsortedMemoryRegions
502
+ ) ) ;
503
+ assert ! ( matches!(
504
+ new_guest_memory_mmap_with_files( & regions_summary) . unwrap_err( ) ,
505
+ Error :: UnsortedMemoryRegions
506
+ ) ) ;
507
+ assert ! ( matches!(
508
+ new_guest_memory_mmap_from_regions( & regions_summary) . unwrap_err( ) ,
509
+ Error :: UnsortedMemoryRegions
510
+ ) ) ;
511
+ assert ! ( matches!(
512
+ new_guest_memory_mmap_from_regions( & regions_summary) . unwrap_err( ) ,
513
+ Error :: UnsortedMemoryRegions
514
+ ) ) ;
578
515
}
579
516
580
517
#[ test]
@@ -799,18 +736,13 @@ mod tests {
799
736
for gm in gm_list. iter ( ) {
800
737
let val1: u64 = 0xaa55_aa55_aa55_aa55 ;
801
738
let val2: u64 = 0x55aa_55aa_55aa_55aa ;
802
- assert_eq ! (
803
- format!( "{:?}" , gm. write_obj( val1, bad_addr) . err( ) . unwrap( ) ) ,
804
- format!( "InvalidGuestAddress({:?})" , bad_addr, )
805
- ) ;
806
- assert_eq ! (
807
- format!( "{:?}" , gm. write_obj( val1, bad_addr2) . err( ) . unwrap( ) ) ,
808
- format!(
809
- "PartialBuffer {{ expected: {:?}, completed: {:?} }}" ,
810
- mem:: size_of:: <u64 >( ) ,
811
- max_addr. checked_offset_from( bad_addr2) . unwrap( )
812
- )
813
- ) ;
739
+ assert ! ( matches!(
740
+ gm. write_obj( val1, bad_addr) . unwrap_err( ) ,
741
+ GuestMemoryError :: InvalidGuestAddress ( addr) if addr == bad_addr
742
+ ) ) ;
743
+ assert ! ( matches!(
744
+ gm. write_obj( val1, bad_addr2) . unwrap_err( ) ,
745
+ GuestMemoryError :: PartialBuffer { expected, completed} if expected == size_of:: <u64 >( ) && completed == max_addr. checked_offset_from( bad_addr2) . unwrap( ) as usize ) ) ;
814
746
815
747
gm. write_obj ( val1, GuestAddress ( 0x500 ) ) . unwrap ( ) ;
816
748
gm. write_obj ( val2, GuestAddress ( 0x1000 + 32 ) ) . unwrap ( ) ;
0 commit comments