Skip to content

Commit 9b390e7

Browse files
committed
update test to check Take limits after copying
1 parent af69066 commit 9b390e7

File tree

1 file changed

+9
-2
lines changed
  • library/std/src/sys/unix/kernel_copy

1 file changed

+9
-2
lines changed

Diff for: library/std/src/sys/unix/kernel_copy/tests.rs

+9-2
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,15 @@ fn copy_specialization() -> Result<()> {
4242
assert_eq!(sink.buffer(), b"wxyz");
4343

4444
let copied = crate::io::copy(&mut source, &mut sink)?;
45-
assert_eq!(copied, 10);
46-
assert_eq!(sink.buffer().len(), 0);
45+
assert_eq!(copied, 10, "copy obeyed limit imposed by Take");
46+
assert_eq!(sink.buffer().len(), 0, "sink buffer was flushed");
47+
assert_eq!(source.limit(), 0, "outer Take was exhausted");
48+
assert_eq!(source.get_ref().buffer().len(), 0, "source buffer should be drained");
49+
assert_eq!(
50+
source.get_ref().get_ref().limit(),
51+
1,
52+
"inner Take allowed reading beyond end of file, some bytes should be left"
53+
);
4754

4855
let mut sink = sink.into_inner()?;
4956
sink.seek(SeekFrom::Start(0))?;

0 commit comments

Comments
 (0)