On Sun, Sep 25, 2022 at 3:51 PM Bin Meng <[email protected]> wrote:
> From: Bin Meng <[email protected]>
>
> This case was written to use hardcoded /tmp directory for temporary
> files. Update to use g_dir_make_tmp() for a portable implementation.
>
> Signed-off-by: Bin Meng <[email protected]>
> ---
>
> Changes in v3:
> - Split to a separate patch
>
> tests/qtest/qmp-test.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/tests/qtest/qmp-test.c b/tests/qtest/qmp-test.c
> index bf7304c7dc..0fa00c12dc 100644
> --- a/tests/qtest/qmp-test.c
> +++ b/tests/qtest/qmp-test.c
> @@ -161,12 +161,13 @@ static void test_qmp_protocol(void)
>
> /* Out-of-band tests */
>
> -char tmpdir[] = "/tmp/qmp-test-XXXXXX";
> +char *tmpdir;
> char *fifo_name;
>
> static void setup_blocking_cmd(void)
> {
> - if (!g_mkdtemp(tmpdir)) {
> + tmpdir = g_dir_make_tmp("qmp-test-XXXXXX", NULL);
> + if (!tmpdir) {
> g_error("g_mkdtemp: %s", strerror(errno));
> }
>
Again, errno usage is not correct for glib, using GError.
I would replace with g_assert_no_error(err) here too
fifo_name = g_strdup_printf("%s/fifo", tmpdir);
> @@ -179,6 +180,7 @@ static void cleanup_blocking_cmd(void)
> {
> unlink(fifo_name);
> rmdir(tmpdir);
> + g_free(tmpdir);
> }
>
> static void send_cmd_that_blocks(QTestState *s, const char *id)
> --
> 2.34.1
>
>
>
--
Marc-André Lureau