@@ -384,7 +384,7 @@ mod tests {
384384
385385 use crate :: bitmap:: tests:: test_guest_memory_and_region;
386386 use crate :: bitmap:: AtomicBitmap ;
387- use crate :: { Error , GuestAddressSpace , GuestMemory } ;
387+ use crate :: { Error , GuestAddressSpace , GuestMemory , GuestMemoryError } ;
388388
389389 use std:: io:: Write ;
390390 use std:: mem;
@@ -481,129 +481,66 @@ mod tests {
481481 fn test_no_memory_region ( ) {
482482 let regions_summary = [ ] ;
483483
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+ ) ) ;
521500 }
522501
523502 #[ test]
524503 fn test_overlapping_memory_regions ( ) {
525504 let regions_summary = [ ( GuestAddress ( 0 ) , 100_usize ) , ( GuestAddress ( 99 ) , 100_usize ) ] ;
526505
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+ ) ) ;
564522 }
565523
566524 #[ test]
567525 fn test_unsorted_memory_regions ( ) {
568526 let regions_summary = [ ( GuestAddress ( 100 ) , 100_usize ) , ( GuestAddress ( 0 ) , 100_usize ) ] ;
569527
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+ ) ) ;
607544 }
608545
609546 #[ test]
@@ -828,18 +765,13 @@ mod tests {
828765 for gm in gm_list. iter ( ) {
829766 let val1: u64 = 0xaa55_aa55_aa55_aa55 ;
830767 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 ) ) ;
843775
844776 gm. write_obj ( val1, GuestAddress ( 0x500 ) ) . unwrap ( ) ;
845777 gm. write_obj ( val2, GuestAddress ( 0x1000 + 32 ) ) . unwrap ( ) ;
0 commit comments