lib9p

Go 9P library.
Log | Files | Refs

commit 875fc6860c634d2369709fc6958b0f43b205cb4f
parent 96a241f06650def6339a201480e683f13f199428
Author: Matsuda Kenji <info@mtkn.jp>
Date:   Thu, 19 Oct 2023 11:29:07 +0900

add stat_test

Diffstat:
Mstat.go | 1+
Astat_test.go | 26++++++++++++++++++++++++++
2 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/stat.go b/stat.go @@ -173,6 +173,7 @@ func (fi *FileInfo) Size() int64 { return fi.Stat.Length } func (fi *FileInfo) Mode() fs.FileMode { return Mode9ToFSMode(fi.Stat.Mode) } func (fi *FileInfo) ModTime() time.Time { return time.Unix(int64(fi.Stat.Mtime), 0) } func (fi *FileInfo) IsDir() bool { return fi.Stat.Mode&fs.ModeDir != 0 } +// Sys returns *Stat func (fi *FileInfo) Sys() any { return &fi.Stat } func (fi *FileInfo) Qid() Qid { return fi.Stat.Qid } diff --git a/stat_test.go b/stat_test.go @@ -0,0 +1,25 @@ +package lib9p + +import ( + "io/fs" + "reflect" + "testing" +) + +func TestStatMarshal(t *testing.T) { + tests := []struct{ + name string + stat *Stat + }{ + {"0", &Stat{}}, + {"1", &Stat{Type: 1, Dev: 2, Qid: Qid{3, 4, 5}, Mode: fs.ModeDir, + Atime: 6, Mtime: 7, Length: 8, Name: "9", + Uid: "10", Gid: "11", Muid: "12"}}, + } + for _, test := range tests { + got := newStat(test.stat.marshal()) + if !reflect.DeepEqual(got, test.stat) { + t.Errorf("%s: got: %v, want: %v", test.name, got, test.stat) + } + } +} +\ No newline at end of file