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>
---
tests/qtest/libqtest.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/tests/qtest/libqtest.c b/tests/qtest/libqtest.c
index dc7a55634c..03fa644663 100644
--- a/tests/qtest/libqtest.c
+++ b/tests/qtest/libqtest.c
@@ -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) {
--
2.35.3