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