Message ID | 20220925113032.1949844-22-bmeng.cn@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tests/qtest: Enable running qtest on Windows | expand |
On Sun, Sep 25, 2022 at 3:54 PM Bin Meng <bmeng.cn@gmail.com> wrote: > From: Bin Meng <bin.meng@windriver.com> > > The qtest library was written to use hardcoded /tmp directory for > temporary files. Update to use g_get_tmp_dir() and g_dir_make_tmp() > for a portable implementation. > > Signed-off-by: Bin Meng <bin.meng@windriver.com> > Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> > --- > > Changes in v3: > - Split to a separate patch > - Ensure g_autofree variable is initialized > > tests/qtest/libqtest.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/tests/qtest/libqtest.c b/tests/qtest/libqtest.c > index 7c9fc07de4..d8ffa0e7b1 100644 > --- a/tests/qtest/libqtest.c > +++ b/tests/qtest/libqtest.c > @@ -265,8 +265,10 @@ QTestState *qtest_init_without_qmp_handshake(const > char *extra_args) > > s = g_new(QTestState, 1); > > - socket_path = g_strdup_printf("/tmp/qtest-%d.sock", getpid()); > - qmp_socket_path = g_strdup_printf("/tmp/qtest-%d.qmp", getpid()); > + socket_path = g_strdup_printf("%s/qtest-%d.sock", > + g_get_tmp_dir(), getpid()); > + qmp_socket_path = g_strdup_printf("%s/qtest-%d.qmp", > + g_get_tmp_dir(), getpid()); > > /* It's possible that if an earlier test run crashed it might > * have left a stale unix socket lying around. Delete any > @@ -390,10 +392,12 @@ QTestState *qtest_initf(const char *fmt, ...) > QTestState *qtest_init_with_serial(const char *extra_args, int *sock_fd) > { > int sock_fd_init; > - char *sock_path, sock_dir[] = "/tmp/qtest-serial-XXXXXX"; > + g_autofree char *sock_dir = NULL; > + char *sock_path; > QTestState *qts; > > - g_assert_true(g_mkdtemp(sock_dir) != NULL); > + sock_dir = g_dir_make_tmp("qtest-serial-XXXXXX", NULL); > + g_assert_true(sock_dir != NULL); > sock_path = g_strdup_printf("%s/sock", sock_dir); > > sock_fd_init = init_socket(sock_path); > -- > 2.34.1 > > >
diff --git a/tests/qtest/libqtest.c b/tests/qtest/libqtest.c index 7c9fc07de4..d8ffa0e7b1 100644 --- a/tests/qtest/libqtest.c +++ b/tests/qtest/libqtest.c @@ -265,8 +265,10 @@ QTestState *qtest_init_without_qmp_handshake(const char *extra_args) s = g_new(QTestState, 1); - socket_path = g_strdup_printf("/tmp/qtest-%d.sock", getpid()); - qmp_socket_path = g_strdup_printf("/tmp/qtest-%d.qmp", getpid()); + socket_path = g_strdup_printf("%s/qtest-%d.sock", + g_get_tmp_dir(), getpid()); + qmp_socket_path = g_strdup_printf("%s/qtest-%d.qmp", + g_get_tmp_dir(), getpid()); /* It's possible that if an earlier test run crashed it might * have left a stale unix socket lying around. Delete any @@ -390,10 +392,12 @@ QTestState *qtest_initf(const char *fmt, ...) QTestState *qtest_init_with_serial(const char *extra_args, int *sock_fd) { int sock_fd_init; - char *sock_path, sock_dir[] = "/tmp/qtest-serial-XXXXXX"; + g_autofree char *sock_dir = NULL; + char *sock_path; QTestState *qts; - g_assert_true(g_mkdtemp(sock_dir) != NULL); + sock_dir = g_dir_make_tmp("qtest-serial-XXXXXX", NULL); + g_assert_true(sock_dir != NULL); sock_path = g_strdup_printf("%s/sock", sock_dir); sock_fd_init = init_socket(sock_path);