[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 05/23] tests/9p: simplify callers of twalk()
From: |
Christian Schoenebeck |
Subject: |
[PULL 05/23] tests/9p: simplify callers of twalk() |
Date: |
Mon, 24 Oct 2022 12:54:23 +0200 |
Now as twalk() is using a declarative approach, simplify the
code of callers of this function.
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Message-Id:
<8b9d3c656ad43b6c953d6bdacd8d9f4c8e599b2a.1664917004.git.qemu_oss@crudebyte.com>
---
tests/qtest/virtio-9p-test.c | 92 +++++++++++++-----------------------
1 file changed, 32 insertions(+), 60 deletions(-)
diff --git a/tests/qtest/virtio-9p-test.c b/tests/qtest/virtio-9p-test.c
index cf5d6146ad..3c326451b1 100644
--- a/tests/qtest/virtio-9p-test.c
+++ b/tests/qtest/virtio-9p-test.c
@@ -90,19 +90,17 @@ static void fs_walk(void *obj, void *data, QGuestAllocator
*t_alloc)
uint16_t nwqid;
g_autofree v9fs_qid *wqid = NULL;
int i;
- P9Req *req;
for (i = 0; i < P9_MAXWELEM; i++) {
wnames[i] = g_strdup_printf(QTEST_V9FS_SYNTH_WALK_FILE, i);
}
do_attach(v9p);
- req = twalk({
+ twalk({
.client = v9p, .fid = 0, .newfid = 1,
- .nwname = P9_MAXWELEM, .wnames = wnames, .requestOnly = true
- }).req;
- v9fs_req_wait_for_reply(req, NULL);
- v9fs_rwalk(req, &nwqid, &wqid);
+ .nwname = P9_MAXWELEM, .wnames = wnames,
+ .rwalk = { .nwqid = &nwqid, .wqid = &wqid }
+ });
g_assert_cmpint(nwqid, ==, P9_MAXWELEM);
@@ -134,12 +132,10 @@ static void fs_readdir(void *obj, void *data,
QGuestAllocator *t_alloc)
P9Req *req;
do_attach(v9p);
- req = twalk({
+ twalk({
.client = v9p, .fid = 0, .newfid = 1,
- .nwname = 1, .wnames = wnames, .requestOnly = true
- }).req;
- v9fs_req_wait_for_reply(req, NULL);
- v9fs_rwalk(req, &nqid, NULL);
+ .nwname = 1, .wnames = wnames, .rwalk.nwqid = &nqid
+ });
g_assert_cmpint(nqid, ==, 1);
req = v9fs_tlopen(v9p, 1, O_DIRECTORY, 0);
@@ -198,12 +194,10 @@ static void do_readdir_split(QVirtio9P *v9p, uint32_t
count)
nentries = 0;
tail = NULL;
- req = twalk({
+ twalk({
.client = v9p, .fid = 0, .newfid = fid,
- .nwname = 1, .wnames = wnames, .requestOnly = true
- }).req;
- v9fs_req_wait_for_reply(req, NULL);
- v9fs_rwalk(req, &nqid, NULL);
+ .nwname = 1, .wnames = wnames, .rwalk.nwqid = &nqid
+ });
g_assert_cmpint(nqid, ==, 1);
req = v9fs_tlopen(v9p, fid, O_DIRECTORY, 0);
@@ -266,18 +260,12 @@ static void fs_walk_no_slash(void *obj, void *data,
QGuestAllocator *t_alloc)
QVirtio9P *v9p = obj;
v9fs_set_allocator(t_alloc);
char *wnames[] = { g_strdup(" /") };
- P9Req *req;
- uint32_t err;
do_attach(v9p);
- req = twalk({
+ twalk({
.client = v9p, .fid = 0, .newfid = 1, .nwname = 1, .wnames = wnames,
- .requestOnly = true
- }).req;
- v9fs_req_wait_for_reply(req, NULL);
- v9fs_rlerror(req, &err);
-
- g_assert_cmpint(err, ==, ENOENT);
+ .expectErr = ENOENT
+ });
g_free(wnames[0]);
}
@@ -312,7 +300,7 @@ static void fs_walk_2nd_nonexistent(void *obj, void *data,
do_attach_rqid(v9p, &root_qid);
fid = twalk({
.client = v9p, .path = path,
- .rwalk.nwqid = &nwqid, .rwalk.wqid = &wqid
+ .rwalk = { .nwqid = &nwqid, .wqid = &wqid }
}).newfid;
/*
* The 9p2000 protocol spec says: "nwqid is therefore either nwname or the
@@ -345,12 +333,10 @@ static void fs_walk_none(void *obj, void *data,
QGuestAllocator *t_alloc)
v9fs_req_wait_for_reply(req, NULL);
v9fs_rattach(req, &root_qid);
- req = twalk({
+ twalk({
.client = v9p, .fid = 0, .newfid = 1, .nwname = 0, .wnames = NULL,
- .requestOnly = true
- }).req;
- v9fs_req_wait_for_reply(req, NULL);
- v9fs_rwalk(req, NULL, &wqid);
+ .rwalk.wqid = &wqid
+ });
/* special case: no QID is returned if nwname=0 was sent */
g_assert(wqid == NULL);
@@ -376,12 +362,10 @@ static void fs_walk_dotdot(void *obj, void *data,
QGuestAllocator *t_alloc)
v9fs_req_wait_for_reply(req, NULL);
v9fs_rattach(req, &root_qid);
- req = twalk({
+ twalk({
.client = v9p, .fid = 0, .newfid = 1, .nwname = 1, .wnames = wnames,
- .requestOnly = true
- }).req;
- v9fs_req_wait_for_reply(req, NULL);
- v9fs_rwalk(req, NULL, &wqid); /* We now we'll get one qid */
+ .rwalk.wqid = &wqid /* We now we'll get one qid */
+ });
g_assert_cmpmem(&root_qid, 13, wqid[0], 13);
@@ -396,12 +380,9 @@ static void fs_lopen(void *obj, void *data,
QGuestAllocator *t_alloc)
P9Req *req;
do_attach(v9p);
- req = twalk({
- .client = v9p, .fid = 0, .newfid = 1, .nwname = 1, .wnames = wnames,
- .requestOnly = true
- }).req;
- v9fs_req_wait_for_reply(req, NULL);
- v9fs_rwalk(req, NULL, NULL);
+ twalk({
+ .client = v9p, .fid = 0, .newfid = 1, .nwname = 1, .wnames = wnames
+ });
req = v9fs_tlopen(v9p, 1, O_WRONLY, 0);
v9fs_req_wait_for_reply(req, NULL);
@@ -421,12 +402,9 @@ static void fs_write(void *obj, void *data,
QGuestAllocator *t_alloc)
P9Req *req;
do_attach(v9p);
- req = twalk({
- .client = v9p, .fid = 0, .newfid = 1, .nwname = 1, .wnames = wnames,
- .requestOnly = true
- }).req;
- v9fs_req_wait_for_reply(req, NULL);
- v9fs_rwalk(req, NULL, NULL);
+ twalk({
+ .client = v9p, .fid = 0, .newfid = 1, .nwname = 1, .wnames = wnames
+ });
req = v9fs_tlopen(v9p, 1, O_WRONLY, 0);
v9fs_req_wait_for_reply(req, NULL);
@@ -450,12 +428,9 @@ static void fs_flush_success(void *obj, void *data,
QGuestAllocator *t_alloc)
uint8_t should_block;
do_attach(v9p);
- req = twalk({
- .client = v9p, .fid = 0, .newfid = 1, .nwname = 1, .wnames = wnames,
- .requestOnly = true
- }).req;
- v9fs_req_wait_for_reply(req, NULL);
- v9fs_rwalk(req, NULL, NULL);
+ twalk({
+ .client = v9p, .fid = 0, .newfid = 1, .nwname = 1, .wnames = wnames
+ });
req = v9fs_tlopen(v9p, 1, O_WRONLY, 0);
v9fs_req_wait_for_reply(req, NULL);
@@ -490,12 +465,9 @@ static void fs_flush_ignored(void *obj, void *data,
QGuestAllocator *t_alloc)
uint8_t should_block;
do_attach(v9p);
- req = twalk({
- .client = v9p, .fid = 0, .newfid = 1, .nwname = 1, .wnames = wnames,
- .requestOnly = true
- }).req;
- v9fs_req_wait_for_reply(req, NULL);
- v9fs_rwalk(req, NULL, NULL);
+ twalk({
+ .client = v9p, .fid = 0, .newfid = 1, .nwname = 1, .wnames = wnames
+ });
req = v9fs_tlopen(v9p, 1, O_WRONLY, 0);
v9fs_req_wait_for_reply(req, NULL);
--
2.30.2
- [PULL 00/23] 9p queue 2022-10-24, Christian Schoenebeck, 2022/10/24
- [PULL 01/23] fsdev/virtfs-proxy-helper: Use g_mkdir(), Christian Schoenebeck, 2022/10/24
- [PULL 03/23] 9pfs: use GHashTable for fid table, Christian Schoenebeck, 2022/10/24
- [PULL 02/23] tests/9p: split virtio-9p-test.c into tests and 9p client part, Christian Schoenebeck, 2022/10/24
- [PULL 04/23] tests/9p: merge *walk*() functions, Christian Schoenebeck, 2022/10/24
- [PULL 06/23] tests/9p: merge v9fs_tversion() and do_version(), Christian Schoenebeck, 2022/10/24
- [PULL 07/23] tests/9p: merge v9fs_tattach(), do_attach(), do_attach_rqid(), Christian Schoenebeck, 2022/10/24
- [PULL 05/23] tests/9p: simplify callers of twalk(),
Christian Schoenebeck <=
- [PULL 08/23] tests/9p: simplify callers of tattach(), Christian Schoenebeck, 2022/10/24
- [PULL 10/23] tests/9p: simplify callers of tgetattr(), Christian Schoenebeck, 2022/10/24
- [PULL 11/23] tests/9p: convert v9fs_treaddir() to declarative arguments, Christian Schoenebeck, 2022/10/24
- [PULL 12/23] tests/9p: simplify callers of treaddir(), Christian Schoenebeck, 2022/10/24
- [PULL 09/23] tests/9p: convert v9fs_tgetattr() to declarative arguments, Christian Schoenebeck, 2022/10/24
- [PULL 13/23] tests/9p: convert v9fs_tlopen() to declarative arguments, Christian Schoenebeck, 2022/10/24
- [PULL 15/23] tests/9p: convert v9fs_twrite() to declarative arguments, Christian Schoenebeck, 2022/10/24
- [PULL 14/23] tests/9p: simplify callers of tlopen(), Christian Schoenebeck, 2022/10/24
- [PULL 16/23] tests/9p: simplify callers of twrite(), Christian Schoenebeck, 2022/10/24
- [PULL 17/23] tests/9p: convert v9fs_tflush() to declarative arguments, Christian Schoenebeck, 2022/10/24