commit 54b8547e46c57f6a208bf3efd5a40e9cca9df833
parent c948d3b33c2cf1775263cf57bec489ae8392fd4e
Author: Matsuda Kenji <info@mtkn.jp>
Date: Sat, 16 Dec 2023 08:46:01 +0900
add test for diskfs/stat
Diffstat:
3 files changed, 45 insertions(+), 2 deletions(-)
diff --git a/diskfs/stat_unix.go b/diskfs/stat_unix.go
@@ -83,6 +83,7 @@ func (f *File) stat() (*lib9p.FileInfo, error) {
}
stat.Uid = usr.Username
gid := fsfi.Sys().(*syscall.Stat_t).Gid
+ // TODO: this call is time consuming.
group, err := user.LookupGroupId(strconv.Itoa(int(gid)))
if err != nil {
return nil, fmt.Errorf("LookupGroupId(%d): %v", gid, err)
diff --git a/diskfs/stat_unix_test.go b/diskfs/stat_unix_test.go
@@ -0,0 +1,41 @@
+package diskfs
+
+import (
+ "context"
+ "io"
+ "testing"
+
+ "git.mtkn.jp/lib9p"
+ "git.mtkn.jp/lib9p/client"
+)
+
+var testdir string = "../testdir"
+
+func BenchmarkGID(b *testing.B) {
+ cr, sw := io.Pipe()
+ defer cr.Close()
+ defer sw.Close()
+ sr, cw := io.Pipe()
+ defer sr.Close()
+ defer cw.Close()
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ disk, err := Open(testdir)
+ if err != nil {
+ b.Fatalf("open dir: %v", err)
+ }
+ s := lib9p.NewServer(disk, 8*1024, sr, sw)
+ go s.Serve(ctx)
+ c := client.NewClient(8*1024, "kenji", cr, cw)
+ defer c.Stop()
+ _, err = c.Attach(ctx, ^uint16(0), 0, lib9p.NOFID, "kenji", "")
+ if err != nil {
+ b.Fatalf("attach: %v", err)
+ }
+ for i := 0; i < b.N; i++ {
+ _, err := c.Stat(ctx, 0, 0)
+ if err != nil {
+ b.Fatalf("stat: %v", err)
+ }
+ }
+}
+\ No newline at end of file
diff --git a/server.go b/server.go
@@ -964,7 +964,7 @@ L:
}
}()
case <-ctx.Done():
- log.Println(ctx.Err())
+ //log.Println(ctx.Err())
break L
}
}
@@ -1027,6 +1027,6 @@ func Respond(ctx context.Context, r *Req, err error) {
log.Printf("speak: %v", err)
}
case <-ctx.Done():
- log.Printf("respond: %v", ctx.Err())
+ //log.Printf("respond: %v", ctx.Err())
}
}