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