File tree Expand file tree Collapse file tree 2 files changed +8
-2
lines changed Expand file tree Collapse file tree 2 files changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -500,8 +500,10 @@ fn file_test_append_write_at() {
500
500
let msg = b"it's not working!" ;
501
501
check ! ( fs:: write( & filename, & msg) ) ;
502
502
// write_at should work even in in append mode
503
- let f = check ! ( fs:: File :: options( ) . append( true ) . open( & filename) ) ;
503
+ let mut f = check ! ( fs:: File :: options( ) . append( true ) . open( & filename) ) ;
504
+ assert_eq ! ( check!( f. stream_position( ) ) , 0 ) ;
504
505
assert_eq ! ( check!( f. write_at( b" " , 5 ) ) , 3 ) ;
506
+ assert_eq ! ( check!( f. stream_position( ) ) , 0 ) ;
505
507
506
508
let content = check ! ( fs:: read( & filename) ) ;
507
509
assert_eq ! ( & content, b"it's working!" ) ;
Original file line number Diff line number Diff line change 1
1
use super :: * ;
2
2
3
+ use crate :: io:: Seek ;
4
+
3
5
#[ test]
4
6
fn read_vectored_at ( ) {
5
7
let msg = b"preadv is working!" ;
@@ -40,13 +42,15 @@ fn write_vectored_at() {
40
42
}
41
43
let expected = {
42
44
// Open in append mode to test that positioned writes bypass O_APPEND.
43
- let file = fs:: File :: options ( ) . append ( true ) . open ( & filename) . unwrap ( ) ;
45
+ let mut file = fs:: File :: options ( ) . append ( true ) . open ( & filename) . unwrap ( ) ;
44
46
let buf0 = b" " ;
45
47
let buf1 = b"great " ;
46
48
47
49
let iovec = [ io:: IoSlice :: new ( buf0) , io:: IoSlice :: new ( buf1) ] ;
48
50
51
+ assert_eq ! ( file. stream_position( ) . unwrap( ) , 0 ) ;
49
52
let n = file. write_vectored_at ( & iovec, 11 ) . unwrap ( ) ;
53
+ assert_eq ! ( file. stream_position( ) . unwrap( ) , 0 ) ;
50
54
51
55
assert ! ( n == 4 || n == 11 ) ;
52
56
You can’t perform that action at this time.
0 commit comments