Message ID | 20220207224024.87745-12-wwcohen@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | 9p: Add support for darwin | expand |
On Mon, 7 Feb 2022 17:40:24 -0500 Will Cohen <wwcohen@gmail.com> wrote: > The previous test depended on the assumption that P9_DOTL_AT_REMOVEDIR > and AT_REMOVEDIR have the same value. > > While this is true on Linux, it is not true everywhere, and leads to an > incorrect test failure on unlink_at, noticed when adding 9p to darwin: > > Received response 7 (RLERROR) instead of 77 (RUNLINKAT) > Rlerror has errno 22 (Invalid argument) > ** > > ERROR:../tests/qtest/virtio-9p-test.c:305:v9fs_req_recv: assertion > failed (hdr.id == id): (7 == 77) Bail out! > > ERROR:../tests/qtest/virtio-9p-test.c:305:v9fs_req_recv: assertion > failed (hdr.id == id): (7 == 77) > > Signed-off-by: Fabian Franz <fabianfranz.oss@gmail.com> > [Will Cohen: - Add explanation of patch and description > of pre-patch test failure] > Signed-off-by: Will Cohen <wwcohen@gmail.com> > Acked-by: Thomas Huth <thuth@redhat.com> > --- LGTM but this patch should go before patch 10 that enables Darwin host support to avoid qtest breakage while bisecting. Reviewed-by: Greg Kurz <groug@kaod.org> > tests/qtest/virtio-9p-test.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tests/qtest/virtio-9p-test.c b/tests/qtest/virtio-9p-test.c > index 41fed41de1..6bcf89f0f8 100644 > --- a/tests/qtest/virtio-9p-test.c > +++ b/tests/qtest/virtio-9p-test.c > @@ -1270,7 +1270,7 @@ static void fs_unlinkat_dir(void *obj, void *data, QGuestAllocator *t_alloc) > /* ... and is actually a directory */ > g_assert((st.st_mode & S_IFMT) == S_IFDIR); > > - do_unlinkat(v9p, "/", "02", AT_REMOVEDIR); > + do_unlinkat(v9p, "/", "02", P9_DOTL_AT_REMOVEDIR); > /* directory should be gone now */ > g_assert(stat(new_dir, &st) != 0); >
diff --git a/tests/qtest/virtio-9p-test.c b/tests/qtest/virtio-9p-test.c index 41fed41de1..6bcf89f0f8 100644 --- a/tests/qtest/virtio-9p-test.c +++ b/tests/qtest/virtio-9p-test.c @@ -1270,7 +1270,7 @@ static void fs_unlinkat_dir(void *obj, void *data, QGuestAllocator *t_alloc) /* ... and is actually a directory */ g_assert((st.st_mode & S_IFMT) == S_IFDIR); - do_unlinkat(v9p, "/", "02", AT_REMOVEDIR); + do_unlinkat(v9p, "/", "02", P9_DOTL_AT_REMOVEDIR); /* directory should be gone now */ g_assert(stat(new_dir, &st) != 0);