github.com/zhiqiangxu/util@v0.0.0-20230112053021-0a7aee056cd5/mapped/file_test.go (about) 1 package mapped 2 3 import ( 4 "bytes" 5 "os" 6 "testing" 7 8 "gotest.tools/assert" 9 ) 10 11 func TestFile(t *testing.T) { 12 13 fileName := "/tmp/test_file" 14 os.Remove(fileName) 15 f, err := CreateFile(fileName, 64000, false, nil) 16 assert.Assert(t, err == nil) 17 18 mtime, err := f.LastModified() 19 assert.Assert(t, err == nil) 20 mtime2, err := f.LastModified() 21 assert.Assert(t, err == nil && mtime2 == mtime) 22 23 wbytes := []byte("123") 24 n, err := f.Write(wbytes) 25 assert.Assert(t, err == nil && n == len(wbytes)) 26 27 mtime2, err = f.LastModified() 28 assert.Assert(t, err == nil && mtime2 != mtime) 29 30 rbytes := make([]byte, len(wbytes)) 31 n, err = f.Read(0, rbytes) 32 assert.Assert(t, err == nil && n == len(wbytes) && bytes.Equal(wbytes, rbytes)) 33 err = f.Close() 34 assert.Assert(t, err == nil) 35 36 f, err = CreateFile(fileName, 64000, false, nil) 37 // 已经存在 38 assert.Assert(t, err != nil) 39 os.Remove(fileName) 40 // 已删除 41 f, err = OpenFile(fileName, 64000, os.O_RDWR, false, nil) 42 assert.Assert(t, err != nil) 43 }