Blame


1 fb1a36c0 2022-01-09 op include "lib.9ps"
2 fb1a36c0 2022-01-09 op
3 a0ec53a2 2022-01-09 op testing "if version works" {
4 fb1a36c0 2022-01-09 op send(Tversion, notag, msize, np2000)
5 fb1a36c0 2022-01-09 op m = recv()
6 fb1a36c0 2022-01-09 op assert m.type == Rversion
7 fb1a36c0 2022-01-09 op }
8 fb1a36c0 2022-01-09 op
9 6be59daa 2022-05-22 op testing "that fails with an msize too small" {
10 6be59daa 2022-05-22 op send(Tversion, notag, 64:u32, np2000)
11 6be59daa 2022-05-22 op m = recv()
12 6be59daa 2022-05-22 op assert m.type == Rversion
13 6be59daa 2022-05-22 op
14 6be59daa 2022-05-22 op # we can't check if the replied version is "unknown" because
15 6be59daa 2022-05-22 op # of a limitation of 9pscript... instead, we'll try to attach
16 6be59daa 2022-05-22 op # and expect a failure.
17 6be59daa 2022-05-22 op attach(0, nofid, "op", "/")
18 6be59daa 2022-05-22 op should-fail recv() : "the connection should have been closed"
19 6be59daa 2022-05-22 op }
20 6be59daa 2022-05-22 op
21 a0ec53a2 2022-01-09 op testing "fails when sending a R-message" {
22 fb1a36c0 2022-01-09 op send(Rversion, notag, msize, np2000)
23 fb1a36c0 2022-01-09 op should-fail recv() : "the connection should have been closed"
24 fb1a36c0 2022-01-09 op }
25 fb1a36c0 2022-01-09 op
26 a0ec53a2 2022-01-09 op testing "multiple attach" {
27 fb1a36c0 2022-01-09 op version(msize, np2000)
28 fb1a36c0 2022-01-09 op
29 fb1a36c0 2022-01-09 op m = recv()
30 fb1a36c0 2022-01-09 op assert (
31 fb1a36c0 2022-01-09 op m.type == Rversion
32 fb1a36c0 2022-01-09 op m.tag == notag
33 fb1a36c0 2022-01-09 op m.msize <= msize
34 fb1a36c0 2022-01-09 op )
35 fb1a36c0 2022-01-09 op
36 fb1a36c0 2022-01-09 op fid1 = 0
37 fb1a36c0 2022-01-09 op fid2 = 1
38 fb1a36c0 2022-01-09 op
39 fb1a36c0 2022-01-09 op # attach the first fid
40 fb1a36c0 2022-01-09 op attach(fid1, nofid, "op", "/")
41 fb1a36c0 2022-01-09 op m = recv()
42 fb1a36c0 2022-01-09 op assert (
43 fb1a36c0 2022-01-09 op m.type == Rattach
44 fb1a36c0 2022-01-09 op m.qid.type == QTDIR
45 fb1a36c0 2022-01-09 op )
46 fb1a36c0 2022-01-09 op
47 fb1a36c0 2022-01-09 op # attach the second fid
48 fb1a36c0 2022-01-09 op attach(fid2, nofid, "op", "/")
49 fb1a36c0 2022-01-09 op m = recv()
50 fb1a36c0 2022-01-09 op assert (
51 fb1a36c0 2022-01-09 op m.type == Rattach
52 fb1a36c0 2022-01-09 op m.qid.type == QTDIR
53 fb1a36c0 2022-01-09 op )
54 fb1a36c0 2022-01-09 op }
55 fb1a36c0 2022-01-09 op
56 a0ec53a2 2022-01-09 op testing "don't close used qids" {
57 fb1a36c0 2022-01-09 op mount(0, "/")
58 fb1a36c0 2022-01-09 op
59 fb1a36c0 2022-01-09 op walk(0, 2, "dir")
60 fb1a36c0 2022-01-09 op expect(Rwalk)
61 fb1a36c0 2022-01-09 op
62 fb1a36c0 2022-01-09 op clunk(0)
63 fb1a36c0 2022-01-09 op expect(Rclunk)
64 fb1a36c0 2022-01-09 op
65 fb1a36c0 2022-01-09 op walk(2, 3, "a-file")
66 fb1a36c0 2022-01-09 op expect(Rwalk)
67 fb1a36c0 2022-01-09 op
68 fb1a36c0 2022-01-09 op clunk(2)
69 fb1a36c0 2022-01-09 op expect(Rclunk)
70 fb1a36c0 2022-01-09 op
71 fb1a36c0 2022-01-09 op open(3, OREAD)
72 fb1a36c0 2022-01-09 op expect(Ropen)
73 fb1a36c0 2022-01-09 op }