From: Steve Sistare Date: Wed, 1 Oct 2025 15:34:03 +0000 (-0700) Subject: tests/qtest: qtest_create_test_state X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bf64633510b2a13268425a3eb78500bc88898bb8;p=thirdparty%2Fqemu.git tests/qtest: qtest_create_test_state Refactor qtest_spawn_qemu and create a subroutine to create a QTestState object, to be used in a subsequent patch. Signed-off-by: Steve Sistare Reviewed-by: Fabiano Rosas Link: https://lore.kernel.org/qemu-devel/1759332851-370353-12-git-send-email-steven.sistare@oracle.com Signed-off-by: Fabiano Rosas --- diff --git a/tests/qtest/libqtest.c b/tests/qtest/libqtest.c index 551bc8c1b83..3fa93172c16 100644 --- a/tests/qtest/libqtest.c +++ b/tests/qtest/libqtest.c @@ -409,22 +409,29 @@ static pid_t qtest_create_process(char *cmd) } #endif /* _WIN32 */ -static QTestState *qtest_spawn_qemu(const char *qemu_bin, const char *args) +static QTestState *qtest_create_test_state(int pid) { QTestState *s = g_new0(QTestState, 1); + + s->qemu_pid = pid; + qtest_add_abrt_handler(kill_qemu_hook_func, s); + return s; +} + +static QTestState *qtest_spawn_qemu(const char *qemu_bin, const char *args) +{ + int pid; g_autoptr(GString) command = g_string_new(""); g_string_printf(command, CMD_EXEC "%s %s", qemu_bin, args); - qtest_add_abrt_handler(kill_qemu_hook_func, s); - if (!silence_spawn_log) { g_test_message("starting QEMU: %s", command->str); } #ifndef _WIN32 - s->qemu_pid = fork(); - if (s->qemu_pid == 0) { + pid = fork(); + if (pid == 0) { #ifdef __linux__ /* * Although we register a ABRT handler to kill off QEMU @@ -447,10 +454,10 @@ static QTestState *qtest_spawn_qemu(const char *qemu_bin, const char *args) exit(1); } #else - s->qemu_pid = qtest_create_process(command->str); + pid = qtest_create_process(command->str); #endif /* _WIN32 */ - return s; + return qtest_create_test_state(pid); } static char *qtest_socket_path(const char *suffix)