From 4fa8cb7ef0651f429a9d6c5a432ab8e66cd16ece Mon Sep 17 00:00:00 2001 From: overtrue Date: Tue, 10 Jun 2025 23:21:07 +0800 Subject: [PATCH] fix(rio): resolve infinite loop in bitrot tests --- crates/rio/src/bitrot.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/crates/rio/src/bitrot.rs b/crates/rio/src/bitrot.rs index c47a97a0..76a4e97e 100644 --- a/crates/rio/src/bitrot.rs +++ b/crates/rio/src/bitrot.rs @@ -237,6 +237,9 @@ mod tests { while n < data_size { let mut buf = vec![0u8; shard_size]; let m = bitrot_reader.read(&mut buf).await.unwrap(); + if m == 0 { + break; + } assert_eq!(&buf[..m], &data[n..n + m]); out.extend_from_slice(&buf[..m]); @@ -281,6 +284,9 @@ mod tests { } let m = res.unwrap(); + if m == 0 { + break; + } assert_eq!(&buf[..m], &data[n..n + m]); @@ -312,6 +318,9 @@ mod tests { while n < data_size { let mut buf = vec![0u8; shard_size]; let m = bitrot_reader.read(&mut buf).await.unwrap(); + if m == 0 { + break; + } assert_eq!(&buf[..m], &data[n..n + m]); out.extend_from_slice(&buf[..m]); n += m;