diff mbox series

[RFC,v12,42/65] tests: do not run test-hmp on all machines for ARM KVM-only

Message ID 20210326193701.5981-43-cfontana@suse.de
State New
Headers show
Series arm cleanup experiment for kvm-only build | expand

Commit Message

Claudio Fontana March 26, 2021, 7:36 p.m. UTC
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>
---
 tests/qtest/test-hmp.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

Comments

Richard Henderson March 28, 2021, 5:24 p.m. UTC | #1
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 <cfontana@suse.de>
> Cc: Philippe Mathieu-Daudé <f4bug@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);
>   
>
diff mbox series

Patch

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
+    {
+        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);