commit 875fc6860c634d2369709fc6958b0f43b205cb4f
parent 96a241f06650def6339a201480e683f13f199428
Author: Matsuda Kenji <info@mtkn.jp>
Date: Thu, 19 Oct 2023 11:29:07 +0900
add stat_test
Diffstat:
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