From: Juan Quintela <quintela@redhat.com>
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org, "Cédric Le Goater" <clg@redhat.com>,
"Halil Pasic" <pasic@linux.ibm.com>,
"Denis V. Lunev" <den@openvz.org>,
"Juan Quintela" <quintela@redhat.com>,
"Fam Zheng" <fam@euphon.net>,
kvm@vger.kernel.org, "Harsh Prateek Bora" <harshpb@linux.ibm.com>,
"Nicholas Piggin" <npiggin@gmail.com>,
"Christian Borntraeger" <borntraeger@linux.ibm.com>,
"Eric Farman" <farman@linux.ibm.com>,
"Kevin Wolf" <kwolf@redhat.com>,
"David Hildenbrand" <david@redhat.com>,
"Jason Wang" <jasowang@redhat.com>,
"Sunil Muthuswamy" <sunilmut@microsoft.com>,
"David Gibson" <david@gibson.dropbear.id.au>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Stefan Hajnoczi" <stefanha@redhat.com>,
"Jagannathan Raman" <jag.raman@oracle.com>,
qemu-arm@nongnu.org,
"Alex Williamson" <alex.williamson@redhat.com>,
"Reinoud Zandijk" <reinoud@netbsd.org>,
"Thomas Huth" <thuth@redhat.com>,
"Cédric Le Goater" <clg@kaod.org>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Elena Ufimtseva" <elena.ufimtseva@oracle.com>,
qemu-ppc@nongnu.org, "Ilya Leoshkevich" <iii@linux.ibm.com>,
"Stefan Berger" <stefanb@linux.vnet.ibm.com>,
"Stefan Weil" <sw@weilnetz.de>, "Peter Xu" <peterx@redhat.com>,
"Christian Schoenebeck" <qemu_oss@crudebyte.com>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Richard Henderson" <richard.henderson@linaro.org>,
"Jeff Cody" <codyprime@gmail.com>,
"Laurent Vivier" <lvivier@redhat.com>,
"Hanna Reitz" <hreitz@redhat.com>,
"Marcelo Tosatti" <mtosatti@redhat.com>,
"Leonardo Bras" <leobras@redhat.com>,
"Fabiano Rosas" <farosas@suse.de>,
"Daniel Henrique Barboza" <danielhb413@gmail.com>,
"Greg Kurz" <groug@kaod.org>,
qemu-block@nongnu.org
Subject: [PULL 16/17] tests/qtest/migration: Allow user to specify a machine type
Date: Fri, 20 Oct 2023 08:57:50 +0200 [thread overview]
Message-ID: <20231020065751.26047-17-quintela@redhat.com> (raw)
In-Reply-To: <20231020065751.26047-1-quintela@redhat.com>
From: Fabiano Rosas <farosas@suse.de>
Accept the QTEST_QEMU_MACHINE_TYPE environment variable to take a
machine type to use in the tests.
The full machine type is recognized (e.g. pc-q35-8.2). Aliases
(e.g. pc) are also allowed and resolve to the latest machine version
for that alias, or, if using two QEMU binaries, to the latest common
machine version between the two.
Signed-off-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231018192741.25885-12-farosas@suse.de>
---
tests/qtest/migration-helpers.h | 2 ++
tests/qtest/migration-helpers.c | 26 ++++++++++++++++++++++++++
tests/qtest/migration-test.c | 5 +++--
3 files changed, 31 insertions(+), 2 deletions(-)
diff --git a/tests/qtest/migration-helpers.h b/tests/qtest/migration-helpers.h
index d1c2351d33..e31dc85cc7 100644
--- a/tests/qtest/migration-helpers.h
+++ b/tests/qtest/migration-helpers.h
@@ -45,4 +45,6 @@ void wait_for_migration_fail(QTestState *from, bool allow_active);
char *find_common_machine_version(const char *mtype, const char *var1,
const char *var2);
+char *resolve_machine_version(const char *alias, const char *var1,
+ const char *var2);
#endif /* MIGRATION_HELPERS_H */
diff --git a/tests/qtest/migration-helpers.c b/tests/qtest/migration-helpers.c
index 13449c1fe1..24fb7b3525 100644
--- a/tests/qtest/migration-helpers.c
+++ b/tests/qtest/migration-helpers.c
@@ -11,6 +11,7 @@
*/
#include "qemu/osdep.h"
+#include "qemu/ctype.h"
#include "qapi/qmp/qjson.h"
#include "migration-helpers.h"
@@ -266,3 +267,28 @@ char *find_common_machine_version(const char *mtype, const char *var1,
"binaries %s and %s", mtype, getenv(var1), getenv(var2));
g_assert_not_reached();
}
+
+char *resolve_machine_version(const char *alias, const char *var1,
+ const char *var2)
+{
+ const char *mname = g_getenv("QTEST_QEMU_MACHINE_TYPE");
+ g_autofree char *machine_name = NULL;
+
+ if (mname) {
+ const char *dash = strrchr(mname, '-');
+ const char *dot = strrchr(mname, '.');
+
+ machine_name = g_strdup(mname);
+
+ if (dash && dot) {
+ assert(qtest_has_machine(machine_name));
+ return g_steal_pointer(&machine_name);
+ }
+ /* else: probably an alias, let it be resolved below */
+ } else {
+ /* use the hardcoded alias */
+ machine_name = g_strdup(alias);
+ }
+
+ return find_common_machine_version(machine_name, var1, var2);
+}
diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
index 4a5d37317a..bc70a14642 100644
--- a/tests/qtest/migration-test.c
+++ b/tests/qtest/migration-test.c
@@ -825,8 +825,9 @@ static int test_migrate_start(QTestState **from, QTestState **to,
kvm_opts = ",dirty-ring-size=4096";
}
- machine = find_common_machine_version(machine_alias, QEMU_ENV_SRC,
- QEMU_ENV_DST);
+ machine = resolve_machine_version(machine_alias, QEMU_ENV_SRC,
+ QEMU_ENV_DST);
+
g_test_message("Using machine type: %s", machine);
cmd_source = g_strdup_printf("-accel kvm%s -accel tcg "
--
2.41.0
next prev parent reply other threads:[~2023-10-20 7:01 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-20 6:57 [PULL 00/17] Migration 20231020 patches Juan Quintela
2023-10-20 6:57 ` [PULL 01/17] tests/qtest/migration-test: Disable the analyze-migration.py test on s390x Juan Quintela
2023-10-20 6:57 ` [PULL 02/17] migration: simplify blockers Juan Quintela
2023-10-20 6:57 ` [PULL 03/17] migration: Fix parse_ramblock() on overwritten retvals Juan Quintela
2023-10-20 6:57 ` [PULL 04/17] migration: simplify notifiers Juan Quintela
2023-10-20 6:57 ` [PULL 05/17] migration/multifd: Stop checking p->quit in multifd_send_thread Juan Quintela
2023-10-20 6:57 ` [PULL 06/17] tests/qtest: Allow qtest_qemu_binary to use a custom environment variable Juan Quintela
2023-10-20 6:57 ` [PULL 07/17] tests/qtest: Introduce qtest_init_with_env Juan Quintela
2023-10-20 6:57 ` [PULL 08/17] tests/qtest: Allow qtest_get_machines to use an alternate QEMU binary Juan Quintela
2023-10-20 6:57 ` [PULL 09/17] tests/qtest: Introduce qtest_has_machine_with_env Juan Quintela
2023-10-20 6:57 ` [PULL 10/17] tests/qtest: Introduce qtest_resolve_machine_alias Juan Quintela
2023-10-20 6:57 ` [PULL 11/17] tests/qtest/migration: Introduce find_common_machine_version Juan Quintela
2023-10-20 6:57 ` [PULL 12/17] tests/qtest/migration: Define a machine for all architectures Juan Quintela
2023-10-20 6:57 ` [PULL 13/17] tests/qtest/migration: Specify the geometry of the bootsector Juan Quintela
2023-10-20 6:57 ` [PULL 14/17] tests/qtest/migration: Set q35 as the default machine for x86_86 Juan Quintela
2023-10-20 6:57 ` [PULL 15/17] tests/qtest/migration: Support more than one QEMU binary Juan Quintela
2023-10-20 6:57 ` Juan Quintela [this message]
2023-10-20 6:57 ` [PULL 17/17] tests/qtest: Don't print messages from query instances Juan Quintela
2023-10-20 16:07 ` [PULL 00/17] Migration 20231020 patches Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231020065751.26047-17-quintela@redhat.com \
--to=quintela@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=borntraeger@linux.ibm.com \
--cc=clg@kaod.org \
--cc=clg@redhat.com \
--cc=codyprime@gmail.com \
--cc=danielhb413@gmail.com \
--cc=david@gibson.dropbear.id.au \
--cc=david@redhat.com \
--cc=den@openvz.org \
--cc=elena.ufimtseva@oracle.com \
--cc=fam@euphon.net \
--cc=farman@linux.ibm.com \
--cc=farosas@suse.de \
--cc=groug@kaod.org \
--cc=harshpb@linux.ibm.com \
--cc=hreitz@redhat.com \
--cc=iii@linux.ibm.com \
--cc=jag.raman@oracle.com \
--cc=jasowang@redhat.com \
--cc=kraxel@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=kwolf@redhat.com \
--cc=leobras@redhat.com \
--cc=lvivier@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=mst@redhat.com \
--cc=mtosatti@redhat.com \
--cc=npiggin@gmail.com \
--cc=pasic@linux.ibm.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=peterx@redhat.com \
--cc=qemu-arm@nongnu.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=qemu_oss@crudebyte.com \
--cc=reinoud@netbsd.org \
--cc=richard.henderson@linaro.org \
--cc=stefanb@linux.vnet.ibm.com \
--cc=stefanha@redhat.com \
--cc=sunilmut@microsoft.com \
--cc=sw@weilnetz.de \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).