diff mbox series

[v16,66/99] tests: do not run qom-test on all machines for ARM KVM-only

Message ID 20210604155312.15902-67-alex.bennee@linaro.org
State New
Headers show
Series arm tcg/kvm refactor and split with kvm only support | expand

Commit Message

Alex Bennée June 4, 2021, 3:52 p.m. UTC
From: Claudio Fontana <cfontana@suse.de>


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 <cfontana@suse.de>

Cc: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

---
 tests/qtest/qom-test.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

-- 
2.20.1

Comments

Richard Henderson June 5, 2021, 4:32 p.m. UTC | #1
On 6/4/21 8:52 AM, Alex Bennée wrote:
> From: Claudio Fontana<cfontana@suse.de>

> 

> 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<cfontana@suse.de>

> Cc: Philippe Mathieu-Daudé<f4bug@amsat.org>

> Signed-off-by: Alex Bennée<alex.bennee@linaro.org>

> ---

>   tests/qtest/qom-test.c | 20 ++++++++++++++++++++

>   1 file changed, 20 insertions(+)


Similarly, qtest_has_accel.

r~
diff mbox series

Patch

diff --git a/tests/qtest/qom-test.c b/tests/qtest/qom-test.c
index eb34af843b..b0a6d10148 100644
--- a/tests/qtest/qom-test.c
+++ b/tests/qtest/qom-test.c
@@ -90,7 +90,27 @@  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
+    {
+        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:
     return g_test_run();
 }