chiark / gitweb /
packetframe: Fix expect_boom to cope with short reads
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 17 Apr 2021 12:44:55 +0000 (13:44 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 23 Apr 2021 18:32:07 +0000 (19:32 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/packetframe.rs

index 1912c43282cd1723490a96bd39230b806b21f566..7fcc00163a367db400c7a2fbe60be623141d1882 100644 (file)
@@ -336,9 +336,12 @@ fn write_test(){
   fn expect_boom<R:Read>(rd: &mut FrameReader<R>) {
     let mut buf = [0u8;10];
     let mut frame = rd.new_frame().unwrap();
-    let y = frame.read(&mut buf).unwrap();
-    dbgc!(&buf[0..y]);
-    let r = frame.read(&mut buf).unwrap_err();
+    let r = loop {
+      match frame.read(&mut buf) {
+        Ok(y) => dbgc!(&buf[0..y]),
+        Err(e) => break e,
+      };
+    };
     dbgc!(&r);
     assert_eq!(r.kind(), ErrorKind::Other);
     assert!(r.into_inner().unwrap().is::<SenderError>());