File tree 1 file changed +9
-2
lines changed
library/std/src/sys/unix/kernel_copy
1 file changed +9
-2
lines changed Original file line number Diff line number Diff line change @@ -42,8 +42,15 @@ fn copy_specialization() -> Result<()> {
42
42
assert_eq ! ( sink. buffer( ) , b"wxyz" ) ;
43
43
44
44
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
+ ) ;
47
54
48
55
let mut sink = sink. into_inner ( ) ?;
49
56
sink. seek ( SeekFrom :: Start ( 0 ) ) ?;
You can’t perform that action at this time.
0 commit comments