On 3/26/21 1:36 PM, Claudio Fontana wrote:
on ARM we currently list and build all machines, even when
building KVM-only, without TCG.
Until we fix this (and we only list and build machines that are
compatible with KVM), only test specifically using the "virt"
machine in this case.
Signed-off-by: Claudio Fontana <cfont...@suse.de>
Cc: Philippe Mathieu-Daudé <f4...@amsat.org>
---
tests/qtest/test-hmp.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/tests/qtest/test-hmp.c b/tests/qtest/test-hmp.c
index 413eb95d2a..1d4b4f2f0e 100644
--- a/tests/qtest/test-hmp.c
+++ b/tests/qtest/test-hmp.c
@@ -157,8 +157,28 @@ int main(int argc, char **argv)
g_test_init(&argc, &argv, NULL);
+ /*
+ * XXX currently we build also boards for ARM that are incompatible with
KVM.
+ * We therefore need to check this explicitly, and only test virt for
kvm-only
+ * arm builds.
+ * After we do the work of Kconfig etc to ensure that only KVM-compatible
boards
+ * are built for the kvm-only build, we could remove this.
+ */
+#ifndef CONFIG_TCG
I don't think you need the ifdef, then you can use an else and no goto.
+ {
+ const char *arch = qtest_get_arch();
+
+ if (strcmp(arch, "arm") == 0 || strcmp(arch, "aarch64") == 0) {
+ add_machine_test_case("virt");
+ goto add_machine_test_done;
+ }
+ }
+#endif /* !CONFIG_TCG */
+
qtest_cb_for_every_machine(add_machine_test_case, g_test_quick());
+ goto add_machine_test_done;
+ add_machine_test_done:
/* as none machine has no memory by default, add a test case with memory
*/
qtest_add_data_func("hmp/none+2MB", g_strdup("none -m 2"), test_machine);