From 605a52de92a89eb5208ec5b9b8722143e9798f8a Mon Sep 17 00:00:00 2001 From: Aaron Jacobs Date: Tue, 3 Mar 2015 10:37:09 +1100 Subject: [PATCH] Added better tests for statting new dirs. --- samples/memfs/memfs_test.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/samples/memfs/memfs_test.go b/samples/memfs/memfs_test.go index 9e2dfd8..2700eb6 100644 --- a/samples/memfs/memfs_test.go +++ b/samples/memfs/memfs_test.go @@ -9,6 +9,7 @@ import ( "os" "path" "strings" + "syscall" "testing" "time" @@ -22,6 +23,16 @@ import ( func TestMemFS(t *testing.T) { RunTests(t) } +//////////////////////////////////////////////////////////////////////// +// Helpers +//////////////////////////////////////////////////////////////////////// + +func currentUid() uint32 + +func currentGid() uint32 + +func timespecToTime(ts syscall.Timespec) time.Time + //////////////////////////////////////////////////////////////////////// // Boilerplate //////////////////////////////////////////////////////////////////////// @@ -97,6 +108,8 @@ func (t *MemFSTest) ContentsOfEmptyFileSystem() { func (t *MemFSTest) Mkdir() { var err error var fi os.FileInfo + var stat *syscall.Stat_t + dirName := path.Join(t.mfs.Dir(), "dir") // Create a directory within the root. @@ -109,6 +122,7 @@ func (t *MemFSTest) Mkdir() { // Stat the directory. fi, err = os.Stat(dirName) + stat = fi.Sys().(*syscall.Stat_t) AssertEq(nil, err) ExpectEq("dir", fi.Name()) @@ -117,6 +131,14 @@ func (t *MemFSTest) Mkdir() { ExpectEq(0, fi.ModTime().Sub(createTime)) ExpectTrue(fi.IsDir()) + ExpectEq(1, stat.Nlink) + ExpectEq(currentUid(), stat.Uid) + ExpectEq(currentGid(), stat.Gid) + ExpectEq(0, stat.Size) + ExpectEq(createTime, timespecToTime(stat.Atimespec)) + ExpectEq(createTime, timespecToTime(stat.Mtimespec)) + ExpectEq(createTime, timespecToTime(stat.Ctimespec)) + // Read the directory. entries, err := ioutil.ReadDir(dirName)