PosixTest.WriteAtDoesntChangeOffset_AppendMode

geesefs-0-30-9
Aaron Jacobs 2015-03-05 19:22:32 +11:00
parent 49bead83fa
commit 95a89e5302
1 changed files with 29 additions and 1 deletions

View File

@ -187,7 +187,35 @@ func (t *PosixTest) WriteAtDoesntChangeOffset_NotAppendMode() {
}
func (t *PosixTest) WriteAtDoesntChangeOffset_AppendMode() {
AssertTrue(false, "TODO")
var err error
var n int
// Create a file in append mode.
f, err := os.OpenFile(
path.Join(t.dir, "foo"),
os.O_RDWR|os.O_APPEND|os.O_CREATE,
0600)
t.toClose = append(t.toClose, f)
AssertEq(nil, err)
// Make it 16 bytes long.
err = f.Truncate(16)
AssertEq(nil, err)
// Seek to offset 4.
_, err = f.Seek(4, 0)
AssertEq(nil, err)
// Write the range [10, 14).
n, err = f.WriteAt([]byte("taco"), 2)
AssertEq(nil, err)
AssertEq(4, n)
// We should still be at offset 4.
offset, err := getFileOffset(f)
AssertEq(nil, err)
ExpectEq(4, offset)
}
func (t *PosixTest) ReadOverlapsEndOfFile() {