lib9p

Go 9P library.
Log | Files | Refs | LICENSE

commit c0c3c839283b1e086e8eba03d07f9c2191e5f657
parent 46d6acafd1f08e02443ae59769f66b790ed2c030
Author: Matsuda Kenji <info@mtkn.jp>
Date:   Sat, 13 Jan 2024 15:48:05 +0900

refactor tests

Diffstat:
Mserver_test.go | 35++++++++++++++++++-----------------
1 file changed, 18 insertions(+), 17 deletions(-)

diff --git a/server_test.go b/server_test.go @@ -324,13 +324,13 @@ func TestSFlush(t *testing.T) { ctx, cancel := context.WithCancel(context.Background()) defer cancel() go sFlush(ctx, c, tc) - for _, test := range tests { + for i, test := range tests { tc <- test.input if gotmsg, ok := (<-rc).ofcall.(*RFlush); !ok { - t.Errorf("unexpected message: %v", gotmsg) + t.Errorf("%d: unexpected message: %v", i, gotmsg) } if _, ok := <-test.input.oldreq.done; ok { - t.Errorf("done channel not closed") + t.Errorf("%d: done channel not closed", i) } } } @@ -408,7 +408,7 @@ func TestSOpen(t *testing.T) { {"b", "glenda", &TOpen{Fid: 0, Mode: OREAD}, &RError{}}, {"b", "ken", &TOpen{Fid: 0, Mode: ORDWR}, &ROpen{}}, {"dir", "glenda", &TOpen{Fid: 0, Mode: OREAD}, &ROpen{}}, - // is a directory + // A directory can't be opened with OWRITE. {"dir", "glenda", &TOpen{Fid: 0, Mode: OWRITE}, &RError{}}, } c, rc := setupConn(testfs) @@ -418,6 +418,7 @@ func TestSOpen(t *testing.T) { go sOpen(ctx, c, tc) for i, test := range tests { c.fPool.delete(0) + // add the file to open to c.fPool. fid, err := c.fPool.add(0) if err != nil { t.Error(i, err) @@ -616,10 +617,12 @@ func testSRead(t *testing.T, pathname string, c *conn, tc, rc chan *request) { func TestSWrite(t *testing.T) { tests := []struct { - pathname string + omode OpenMode data []byte + err error }{ - {"c", []byte("hoge")}, + {ORDWR, []byte("hoge"), nil}, + {OREAD, []byte("hoge"), errors.New("omode")}, } c, rc := setupConn(testfs) tc := make(chan *request) @@ -634,30 +637,28 @@ func TestSWrite(t *testing.T) { t.Error(err) return } - fid.omode = ORDWR - fid.path = test.pathname - ff, err := testfs.OpenFile(test.pathname, ORDWR) - if err != nil { - t.Error(err) - return - } - defer ff.Close() - f := ff.(*testFile) + fid.omode = test.omode + f := &testFile{fsys: testfs} fid.file = f tc <- &request{ifcall: &TWrite{Count: uint32(len(test.data)), Data: test.data}} ofcall := (<-rc).ofcall switch ofcall := ofcall.(type) { case *RWrite: + if test.err != nil { + t.Errorf("%d: unexpected message: %v", i, ofcall) + return + } if !bytes.Equal(f.content, test.data) { t.Errorf("%d: content mismatch: want: %v, got: %v", i, test.data, f.content) } case *RError: - t.Error(ofcall.Ename) + if test.err == nil { + t.Errorf("%d: unexpected err: %v", i, ofcall.Ename) + } default: t.Errorf("%d: unexpected message: %v", i, ofcall) } - f.content = []byte("") }() } }