On Mon, 7 Feb 2022 17:40:24 -0500 Will Cohen <wwco...@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....@gmail.com> > [Will Cohen: - Add explanation of patch and description > of pre-patch test failure] > Signed-off-by: Will Cohen <wwco...@gmail.com> > Acked-by: Thomas Huth <th...@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 <gr...@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); >