misc: Eliminate use of assert!((...).is_ok())

Asserting on .is_ok()/.is_err() leads to hard to debug failures (as if
the test fails, it will only say "assertion failed: false". We replace
these with `.unwrap()`, which also prints the exact error variant that
was unexpectedly encountered (we can to this these days thanks to
efforts to implement Display and Debug for our error types). If the
assert!((...).is_ok()) was followed by an .unwrap() anyway, we just drop
the assert.

Inspired by and quoted from @roypat.

Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn>
This commit is contained in:
Ruoqing He
2024-09-30 19:07:39 +00:00
committed by Rob Bradford
parent 83bcf2a1ff
commit 297236a7c0
25 changed files with 244 additions and 281 deletions

View File

@@ -288,21 +288,20 @@ mod tests {
fn bus_insert() {
let bus = Bus::new();
let dummy = Arc::new(DummyDevice);
assert!(bus.insert(dummy.clone(), 0x10, 0).is_err());
assert!(bus.insert(dummy.clone(), 0x10, 0x10).is_ok());
bus.insert(dummy.clone(), 0x10, 0).unwrap_err();
bus.insert(dummy.clone(), 0x10, 0x10).unwrap();
let result = bus.insert(dummy.clone(), 0x0f, 0x10);
assert!(result.is_err());
assert_eq!(format!("{result:?}"), "Err(Overlap)");
assert!(bus.insert(dummy.clone(), 0x10, 0x10).is_err());
assert!(bus.insert(dummy.clone(), 0x10, 0x15).is_err());
assert!(bus.insert(dummy.clone(), 0x12, 0x15).is_err());
assert!(bus.insert(dummy.clone(), 0x12, 0x01).is_err());
assert!(bus.insert(dummy.clone(), 0x0, 0x20).is_err());
assert!(bus.insert(dummy.clone(), 0x20, 0x05).is_ok());
assert!(bus.insert(dummy.clone(), 0x25, 0x05).is_ok());
assert!(bus.insert(dummy, 0x0, 0x10).is_ok());
bus.insert(dummy.clone(), 0x10, 0x10).unwrap_err();
bus.insert(dummy.clone(), 0x10, 0x15).unwrap_err();
bus.insert(dummy.clone(), 0x12, 0x15).unwrap_err();
bus.insert(dummy.clone(), 0x12, 0x01).unwrap_err();
bus.insert(dummy.clone(), 0x0, 0x20).unwrap_err();
bus.insert(dummy.clone(), 0x20, 0x05).unwrap();
bus.insert(dummy.clone(), 0x25, 0x05).unwrap();
bus.insert(dummy, 0x0, 0x10).unwrap();
}
#[test]
@@ -310,17 +309,17 @@ mod tests {
fn bus_read_write() {
let bus = Bus::new();
let dummy = Arc::new(DummyDevice);
assert!(bus.insert(dummy.clone(), 0x10, 0x10).is_ok());
assert!(bus.read(0x10, &mut [0, 0, 0, 0]).is_ok());
assert!(bus.write(0x10, &[0, 0, 0, 0]).is_ok());
assert!(bus.read(0x11, &mut [0, 0, 0, 0]).is_ok());
assert!(bus.write(0x11, &[0, 0, 0, 0]).is_ok());
assert!(bus.read(0x16, &mut [0, 0, 0, 0]).is_ok());
assert!(bus.write(0x16, &[0, 0, 0, 0]).is_ok());
assert!(bus.read(0x20, &mut [0, 0, 0, 0]).is_err());
assert!(bus.write(0x20, &[0, 0, 0, 0]).is_err());
assert!(bus.read(0x06, &mut [0, 0, 0, 0]).is_err());
assert!(bus.write(0x06, &[0, 0, 0, 0]).is_err());
bus.insert(dummy.clone(), 0x10, 0x10).unwrap();
bus.read(0x10, &mut [0, 0, 0, 0]).unwrap();
bus.write(0x10, &[0, 0, 0, 0]).unwrap();
bus.read(0x11, &mut [0, 0, 0, 0]).unwrap();
bus.write(0x11, &[0, 0, 0, 0]).unwrap();
bus.read(0x16, &mut [0, 0, 0, 0]).unwrap();
bus.write(0x16, &[0, 0, 0, 0]).unwrap();
bus.read(0x20, &mut [0, 0, 0, 0]).unwrap_err();
bus.write(0x20, &[0, 0, 0, 0]).unwrap_err();
bus.read(0x06, &mut [0, 0, 0, 0]).unwrap_err();
bus.write(0x06, &[0, 0, 0, 0]).unwrap_err();
}
#[test]
@@ -328,15 +327,15 @@ mod tests {
fn bus_read_write_values() {
let bus = Bus::new();
let dummy = Arc::new(ConstantDevice);
assert!(bus.insert(dummy.clone(), 0x10, 0x10).is_ok());
bus.insert(dummy.clone(), 0x10, 0x10).unwrap();
let mut values = [0, 1, 2, 3];
assert!(bus.read(0x10, &mut values).is_ok());
bus.read(0x10, &mut values).unwrap();
assert_eq!(values, [0, 1, 2, 3]);
assert!(bus.write(0x10, &values).is_ok());
assert!(bus.read(0x15, &mut values).is_ok());
bus.write(0x10, &values).unwrap();
bus.read(0x15, &mut values).unwrap();
assert_eq!(values, [5, 6, 7, 8]);
assert!(bus.write(0x15, &values).is_ok());
bus.write(0x15, &values).unwrap();
}
#[test]
@@ -354,9 +353,9 @@ mod tests {
let bus = Bus::new();
let mut data = [1, 2, 3, 4];
let device = Arc::new(DummyDevice);
assert!(bus.insert(device.clone(), 0x10, 0x10).is_ok());
assert!(bus.write(0x10, &data).is_ok());
assert!(bus.read(0x10, &mut data).is_ok());
bus.insert(device.clone(), 0x10, 0x10).unwrap();
bus.write(0x10, &data).unwrap();
bus.read(0x10, &mut data).unwrap();
assert_eq!(data, [1, 2, 3, 4]);
}