Skip to content

Commit 614bbb8

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

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-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: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
use super::*;
2+
use crate::io::Seek;
23

34
#[test]
45
fn read_vectored_at() {
@@ -40,13 +41,15 @@ fn write_vectored_at() {
4041
}
4142
let expected = {
4243
// Open in append mode to test that positioned writes bypass O_APPEND.
43-
let file = fs::File::options().append(true).open(&filename).unwrap();
44+
let mut file = fs::File::options().append(true).open(&filename).unwrap();
4445
let buf0 = b" ";
4546
let buf1 = b"great ";
4647

4748
let iovec = [io::IoSlice::new(buf0), io::IoSlice::new(buf1)];
4849

50+
assert_eq!(file.stream_position().unwrap(), 0);
4951
let n = file.write_vectored_at(&iovec, 11).unwrap();
52+
assert_eq!(file.stream_position().unwrap(), 0);
5053

5154
assert!(n == 4 || n == 11);
5255

0 commit comments

Comments
 (0)