Skip to content

Commit 23ca6f2

Browse files
committed
assert that write_at doesn't change the seek position
1 parent 833a3d1 commit 23ca6f2

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

library/std/src/fs/tests.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -500,8 +500,10 @@ fn file_test_append_write_at() {
500500
let msg = b"it's not working!";
501501
check!(fs::write(&filename, &msg));
502502
// 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);
504505
assert_eq!(check!(f.write_at(b" ", 5)), 3);
506+
assert_eq!(check!(f.stream_position()), 0);
505507

506508
let content = check!(fs::read(&filename));
507509
assert_eq!(&content, b"it's working!");

library/std/src/os/unix/fs/tests.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
use super::*;
22

3+
use crate::io::Seek;
4+
35
#[test]
46
fn read_vectored_at() {
57
let msg = b"preadv is working!";
@@ -40,13 +42,15 @@ fn write_vectored_at() {
4042
}
4143
let expected = {
4244
// 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();
4446
let buf0 = b" ";
4547
let buf1 = b"great ";
4648

4749
let iovec = [io::IoSlice::new(buf0), io::IoSlice::new(buf1)];
4850

51+
assert_eq!(file.stream_position().unwrap(), 0);
4952
let n = file.write_vectored_at(&iovec, 11).unwrap();
53+
assert_eq!(file.stream_position().unwrap(), 0);
5054

5155
assert!(n == 4 || n == 11);
5256

0 commit comments

Comments
 (0)