From 30fdf384ecc95a3e31b4261ee4480a3ca13ab50a Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Wed, 1 Jul 2026 20:51:09 +0200 Subject: [PATCH] block: Test write_unaligned closure error propagation Add a write side counterpart to read_unaligned_propagates_closure_error. The test drives write_unaligned with a gather closure that returns an error and checks that write_unaligned surfaces it unchanged. Assisted-by: Claude:Opus-4.8 Signed-off-by: Anatol Belski --- block/src/aligned_file.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/block/src/aligned_file.rs b/block/src/aligned_file.rs index d9cf2affa..3034702bd 100644 --- a/block/src/aligned_file.rs +++ b/block/src/aligned_file.rs @@ -484,4 +484,16 @@ mod tests { .unwrap_err(); assert_eq!(err.kind(), io::ErrorKind::InvalidInput); } + + #[test] + fn write_unaligned_propagates_closure_error() { + let file = pattern_file(8192); + let aligned_file = forced(file.as_file().try_clone().unwrap(), 512); + let err = aligned_file + .write_unaligned(100, 200, |_| { + Err(io::Error::new(io::ErrorKind::InvalidInput, "boom")) + }) + .unwrap_err(); + assert_eq!(err.kind(), io::ErrorKind::InvalidInput); + } }