PageCacheTest.SingleFileHandle_NoKeepCache
parent
28ee2de1e9
commit
a95b1fb276
|
@ -61,6 +61,10 @@ type CachingFS interface {
|
|||
// Cause further queries for the attributes of inodes to use the supplied
|
||||
// time as the inode's mtime.
|
||||
SetMtime(mtime time.Time)
|
||||
|
||||
// Instruct the file system whether or not to reply to OpenFileOp with
|
||||
// FOPEN_KEEP_CACHE set.
|
||||
SetKeepCache(keep bool)
|
||||
}
|
||||
|
||||
// Create a file system that issues cacheable responses according to the
|
||||
|
@ -240,9 +244,6 @@ func (fs *cachingFS) SetMtime(mtime time.Time) {
|
|||
fs.mtime = mtime
|
||||
}
|
||||
|
||||
// Instruct the file system whether or not to reply to OpenFileOp with
|
||||
// FOPEN_KEEP_CACHE set.
|
||||
//
|
||||
// LOCKS_EXCLUDED(fs.mu)
|
||||
func (fs *cachingFS) SetKeepCache(keep bool) {
|
||||
// TODO
|
||||
|
|
|
@ -15,6 +15,8 @@
|
|||
package cachingfs_test
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path"
|
||||
"runtime"
|
||||
|
@ -553,18 +555,43 @@ func (t *PageCacheTest) SetUp(ti *TestInfo) {
|
|||
t.cachingFSTest.setUp(ti, lookupEntryTimeout, getattrTimeout)
|
||||
}
|
||||
|
||||
func (t *PageCacheTest) SingleFile_NoKeepCache() {
|
||||
func (t *PageCacheTest) SingleFileHandle_NoKeepCache() {
|
||||
t.fs.SetKeepCache(false)
|
||||
|
||||
// Open the file.
|
||||
f, err := os.Open(path.Join(t.Dir, "foo"))
|
||||
AssertEq(nil, err)
|
||||
|
||||
defer f.Close()
|
||||
|
||||
// Read its contents once.
|
||||
f.Seek(0, 0)
|
||||
AssertEq(nil, err)
|
||||
|
||||
c1, err := ioutil.ReadAll(f)
|
||||
AssertEq(nil, err)
|
||||
AssertEq(cachingfs.FooSize, len(c1))
|
||||
|
||||
// And again.
|
||||
f.Seek(0, 0)
|
||||
AssertEq(nil, err)
|
||||
|
||||
c2, err := ioutil.ReadAll(f)
|
||||
AssertEq(nil, err)
|
||||
AssertEq(cachingfs.FooSize, len(c2))
|
||||
|
||||
// We should have seen the same contents each time.
|
||||
ExpectTrue(bytes.Equal(c1, c2))
|
||||
}
|
||||
|
||||
func (t *PageCacheTest) SingleFileHandle_KeepCache() {
|
||||
AssertTrue(false, "TODO")
|
||||
}
|
||||
|
||||
func (t *PageCacheTest) SingleFile_KeepCache() {
|
||||
func (t *PageCacheTest) TwoFileHandles_NoKeepCache() {
|
||||
AssertTrue(false, "TODO")
|
||||
}
|
||||
|
||||
func (t *PageCacheTest) TwoFiles_NoKeepCache() {
|
||||
AssertTrue(false, "TODO")
|
||||
}
|
||||
|
||||
func (t *PageCacheTest) TwoFiles_KeepCache() {
|
||||
func (t *PageCacheTest) TwoFileHandles_KeepCache() {
|
||||
AssertTrue(false, "TODO")
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue