tests/qtest: Allow qtest_qemu_binary to use a custom environment variable

We're adding support for testing migration using two different QEMU
binaries. We'll provide the second binary in a new environment
variable.

Allow qtest_qemu_binary() to receive the name of the new variable. If
the new environment variable is not set, that's not an error, we use
QTEST_QEMU_BINARY as a fallback.

Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231018192741.25885-2-farosas@suse.de>
master
Fabiano Rosas 2023-10-18 16:27:30 -03:00 committed by Juan Quintela
parent 175e63c982
commit f4a7b30fcd
1 changed files with 10 additions and 3 deletions

View File

@ -336,10 +336,17 @@ void qtest_remove_abrt_handler(void *data)
}
}
static const char *qtest_qemu_binary(void)
static const char *qtest_qemu_binary(const char *var)
{
const char *qemu_bin;
if (var) {
qemu_bin = getenv(var);
if (qemu_bin) {
return qemu_bin;
}
}
qemu_bin = getenv("QTEST_QEMU_BINARY");
if (!qemu_bin) {
fprintf(stderr, "Environment variable QTEST_QEMU_BINARY required\n");
@ -392,7 +399,7 @@ static QTestState *G_GNUC_PRINTF(1, 2) qtest_spawn_qemu(const char *fmt, ...)
va_start(ap, fmt);
g_string_append_printf(command, CMD_EXEC "%s %s",
qtest_qemu_binary(), tracearg);
qtest_qemu_binary(NULL), tracearg);
g_string_append_vprintf(command, fmt, ap);
va_end(ap);
@ -905,7 +912,7 @@ char *qtest_hmp(QTestState *s, const char *fmt, ...)
const char *qtest_get_arch(void)
{
const char *qemu = qtest_qemu_binary();
const char *qemu = qtest_qemu_binary(NULL);
const char *end = strrchr(qemu, '-');
if (!end) {