@@ -69,7 +69,7 @@ pub(crate) trait AsSlice {
69
69
}
70
70
71
71
/// Errors that can occur when creating a memory map.
72
- #[ derive( Debug ) ]
72
+ #[ derive( Debug , PartialEq ) ]
73
73
pub enum Error {
74
74
/// Adding the guest base address to the length of the underlying mapping resulted
75
75
/// in an overflow.
@@ -770,43 +770,21 @@ mod tests {
770
770
#[ test]
771
771
fn test_no_memory_region ( ) {
772
772
let regions_summary = [ ] ;
773
-
774
773
assert_eq ! (
775
- format!(
776
- "{:?}" ,
777
- new_guest_memory_mmap( & regions_summary) . err( ) . unwrap( )
778
- ) ,
779
- format!( "{:?}" , Error :: NoMemoryRegion )
774
+ new_guest_memory_mmap( & regions_summary) . unwrap_err( ) ,
775
+ Error :: NoMemoryRegion
780
776
) ;
781
-
782
777
assert_eq ! (
783
- format!(
784
- "{:?}" ,
785
- new_guest_memory_mmap_with_files( & regions_summary)
786
- . err( )
787
- . unwrap( )
788
- ) ,
789
- format!( "{:?}" , Error :: NoMemoryRegion )
778
+ new_guest_memory_mmap_with_files( & regions_summary) . unwrap_err( ) ,
779
+ Error :: NoMemoryRegion
790
780
) ;
791
-
792
781
assert_eq ! (
793
- format!(
794
- "{:?}" ,
795
- new_guest_memory_mmap_from_regions( & regions_summary)
796
- . err( )
797
- . unwrap( )
798
- ) ,
799
- format!( "{:?}" , Error :: NoMemoryRegion )
782
+ new_guest_memory_mmap_from_regions( & regions_summary) . unwrap_err( ) ,
783
+ Error :: NoMemoryRegion
800
784
) ;
801
-
802
785
assert_eq ! (
803
- format!(
804
- "{:?}" ,
805
- new_guest_memory_mmap_from_arc_regions( & regions_summary)
806
- . err( )
807
- . unwrap( )
808
- ) ,
809
- format!( "{:?}" , Error :: NoMemoryRegion )
786
+ new_guest_memory_mmap_from_arc_regions( & regions_summary) . unwrap_err( ) ,
787
+ Error :: NoMemoryRegion
810
788
) ;
811
789
}
812
790
@@ -818,41 +796,20 @@ mod tests {
818
796
] ;
819
797
820
798
assert_eq ! (
821
- format!(
822
- "{:?}" ,
823
- new_guest_memory_mmap( & regions_summary) . err( ) . unwrap( )
824
- ) ,
825
- format!( "{:?}" , Error :: MemoryRegionOverlap )
799
+ new_guest_memory_mmap( & regions_summary) . unwrap_err( ) ,
800
+ Error :: MemoryRegionOverlap
826
801
) ;
827
-
828
802
assert_eq ! (
829
- format!(
830
- "{:?}" ,
831
- new_guest_memory_mmap_with_files( & regions_summary)
832
- . err( )
833
- . unwrap( )
834
- ) ,
835
- format!( "{:?}" , Error :: MemoryRegionOverlap )
803
+ new_guest_memory_mmap_with_files( & regions_summary) . unwrap_err( ) ,
804
+ Error :: MemoryRegionOverlap
836
805
) ;
837
-
838
806
assert_eq ! (
839
- format!(
840
- "{:?}" ,
841
- new_guest_memory_mmap_from_regions( & regions_summary)
842
- . err( )
843
- . unwrap( )
844
- ) ,
845
- format!( "{:?}" , Error :: MemoryRegionOverlap )
807
+ new_guest_memory_mmap_from_regions( & regions_summary) . unwrap_err( ) ,
808
+ Error :: MemoryRegionOverlap
846
809
) ;
847
-
848
810
assert_eq ! (
849
- format!(
850
- "{:?}" ,
851
- new_guest_memory_mmap_from_arc_regions( & regions_summary)
852
- . err( )
853
- . unwrap( )
854
- ) ,
855
- format!( "{:?}" , Error :: MemoryRegionOverlap )
811
+ new_guest_memory_mmap_from_arc_regions( & regions_summary) . unwrap_err( ) ,
812
+ Error :: MemoryRegionOverlap
856
813
) ;
857
814
}
858
815
@@ -862,43 +819,21 @@ mod tests {
862
819
( GuestAddress ( 100 ) , 100 as usize ) ,
863
820
( GuestAddress ( 0 ) , 100 as usize ) ,
864
821
] ;
865
-
866
822
assert_eq ! (
867
- format!(
868
- "{:?}" ,
869
- new_guest_memory_mmap( & regions_summary) . err( ) . unwrap( )
870
- ) ,
871
- format!( "{:?}" , Error :: UnsortedMemoryRegions )
823
+ new_guest_memory_mmap( & regions_summary) . unwrap_err( ) ,
824
+ Error :: UnsortedMemoryRegions
872
825
) ;
873
-
874
826
assert_eq ! (
875
- format!(
876
- "{:?}" ,
877
- new_guest_memory_mmap_with_files( & regions_summary)
878
- . err( )
879
- . unwrap( )
880
- ) ,
881
- format!( "{:?}" , Error :: UnsortedMemoryRegions )
827
+ new_guest_memory_mmap_with_files( & regions_summary) . unwrap_err( ) ,
828
+ Error :: UnsortedMemoryRegions
882
829
) ;
883
-
884
830
assert_eq ! (
885
- format!(
886
- "{:?}" ,
887
- new_guest_memory_mmap_from_regions( & regions_summary)
888
- . err( )
889
- . unwrap( )
890
- ) ,
891
- format!( "{:?}" , Error :: UnsortedMemoryRegions )
831
+ new_guest_memory_mmap_from_regions( & regions_summary) . unwrap_err( ) ,
832
+ Error :: UnsortedMemoryRegions
892
833
) ;
893
-
894
834
assert_eq ! (
895
- format!(
896
- "{:?}" ,
897
- new_guest_memory_mmap_from_arc_regions( & regions_summary)
898
- . err( )
899
- . unwrap( )
900
- ) ,
901
- format!( "{:?}" , Error :: UnsortedMemoryRegions )
835
+ new_guest_memory_mmap_from_arc_regions( & regions_summary) . unwrap_err( ) ,
836
+ Error :: UnsortedMemoryRegions
902
837
) ;
903
838
}
904
839
@@ -1058,7 +993,10 @@ mod tests {
1058
993
1059
994
let guest_mem_list = vec ! [ guest_mem, guest_mem_backed_by_file] ;
1060
995
for guest_mem in guest_mem_list. iter ( ) {
1061
- assert ! ( guest_mem. get_host_address( GuestAddress ( 0x600 ) ) . is_err( ) ) ;
996
+ assert_eq ! (
997
+ guest_mem. get_host_address( GuestAddress ( 0x600 ) ) . unwrap_err( ) ,
998
+ guest_memory:: Error :: InvalidGuestAddress ( GuestAddress ( 0x600 ) )
999
+ ) ;
1062
1000
let ptr0 = guest_mem. get_host_address ( GuestAddress ( 0x800 ) ) . unwrap ( ) ;
1063
1001
let ptr1 = guest_mem. get_host_address ( GuestAddress ( 0xa00 ) ) . unwrap ( ) ;
1064
1002
assert_eq ! (
@@ -1126,18 +1064,16 @@ mod tests {
1126
1064
let val1: u64 = 0xaa55_aa55_aa55_aa55 ;
1127
1065
let val2: u64 = 0x55aa_55aa_55aa_55aa ;
1128
1066
assert_eq ! (
1129
- format! ( "{:?}" , gm. write_obj( val1, bad_addr) . err ( ) . unwrap ( ) ) ,
1130
- format! ( " InvalidGuestAddress({:?})" , bad_addr, )
1067
+ gm. write_obj( val1, bad_addr) . unwrap_err ( ) ,
1068
+ guest_memory :: Error :: InvalidGuestAddress ( bad_addr)
1131
1069
) ;
1132
1070
assert_eq ! (
1133
- format!( "{:?}" , gm. write_obj( val1, bad_addr2) . err( ) . unwrap( ) ) ,
1134
- format!(
1135
- "PartialBuffer {{ expected: {:?}, completed: {:?} }}" ,
1136
- mem:: size_of:: <u64 >( ) ,
1137
- max_addr. checked_offset_from( bad_addr2) . unwrap( )
1138
- )
1071
+ gm. write_obj( val1, bad_addr2) . unwrap_err( ) ,
1072
+ guest_memory:: Error :: PartialBuffer {
1073
+ expected: mem:: size_of:: <u64 >( ) ,
1074
+ completed: max_addr. checked_offset_from( bad_addr2) . unwrap( ) as usize
1075
+ }
1139
1076
) ;
1140
-
1141
1077
gm. write_obj ( val1, GuestAddress ( 0x500 ) ) . unwrap ( ) ;
1142
1078
gm. write_obj ( val2, GuestAddress ( 0x1000 + 32 ) ) . unwrap ( ) ;
1143
1079
let num1: u64 = gm. read_obj ( GuestAddress ( 0x500 ) ) . unwrap ( ) ;
@@ -1439,7 +1375,11 @@ mod tests {
1439
1375
// Error case when slice_size is beyond the boundary.
1440
1376
let slice_addr = MemoryRegionAddress ( 0x300 ) ;
1441
1377
let slice_size = 0x200 ;
1442
- assert ! ( region. get_slice( slice_addr, slice_size) . is_err( ) ) ;
1378
+
1379
+ assert_eq ! (
1380
+ region. get_slice( slice_addr, slice_size) . unwrap_err( ) ,
1381
+ guest_memory:: Error :: InvalidBackendAddress
1382
+ ) ;
1443
1383
}
1444
1384
1445
1385
#[ test]
@@ -1487,9 +1427,18 @@ mod tests {
1487
1427
. is_empty( ) ) ;
1488
1428
1489
1429
// Error cases, wrong size or base address.
1490
- assert ! ( guest_mem. get_slice( GuestAddress ( 0 ) , 0x500 ) . is_err( ) ) ;
1491
- assert ! ( guest_mem. get_slice( GuestAddress ( 0x600 ) , 0x100 ) . is_err( ) ) ;
1492
- assert ! ( guest_mem. get_slice( GuestAddress ( 0xc00 ) , 0x100 ) . is_err( ) ) ;
1430
+ assert_eq ! (
1431
+ guest_mem. get_slice( GuestAddress ( 0 ) , 0x500 ) . unwrap_err( ) ,
1432
+ guest_memory:: Error :: InvalidBackendAddress
1433
+ ) ;
1434
+ assert_eq ! (
1435
+ guest_mem. get_slice( GuestAddress ( 0x600 ) , 0x100 ) . unwrap_err( ) ,
1436
+ guest_memory:: Error :: InvalidGuestAddress ( GuestAddress ( 0x600 ) )
1437
+ ) ;
1438
+ assert_eq ! (
1439
+ guest_mem. get_slice( GuestAddress ( 0xc00 ) , 0x100 ) . unwrap_err( ) ,
1440
+ guest_memory:: Error :: InvalidGuestAddress ( GuestAddress ( 0xc00 ) )
1441
+ ) ;
1493
1442
}
1494
1443
1495
1444
#[ test]
0 commit comments