From: "Michael S. Tsirkin" <mst@redhat.com>
To: Fabiano Rosas <farosas@suse.de>
Cc: qemu-devel@nongnu.org, qemu-arm@nongnu.org,
"Peter Maydell" <peter.maydell@linaro.org>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Richard Henderson" <richard.henderson@linaro.org>,
"Alex Bennée" <alex.bennee@linaro.org>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Claudio Fontana" <cfontana@suse.de>,
"Eduardo Habkost" <ehabkost@redhat.com>,
"Alexander Graf" <agraf@csgraf.de>,
"Cornelia Huck" <cohuck@redhat.com>,
"Juan Quintela" <quintela@redhat.com>,
"Thomas Huth" <thuth@redhat.com>,
"Igor Mammedov" <imammedo@redhat.com>,
"Ani Sinha" <anisinha@redhat.com>,
"Laurent Vivier" <lvivier@redhat.com>
Subject: Re: [PATCH v11 08/13] tests/qtest: Fix tests when no KVM or TCG are present
Date: Thu, 27 Apr 2023 14:41:10 -0400 [thread overview]
Message-ID: <20230427144055-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20230426180013.14814-9-farosas@suse.de>
On Wed, Apr 26, 2023 at 03:00:08PM -0300, Fabiano Rosas wrote:
> It is possible to have a build with both TCG and KVM disabled due to
> Xen requiring the i386 and x86_64 binaries to be present in an aarch64
> host.
>
> If we build with --disable-tcg on the aarch64 host, we will end-up
> with a QEMU binary (x86) that does not support TCG nor KVM.
>
> Skip tests that crash or hang in the above scenario. Do not include
> any test cases if TCG and KVM are missing.
>
> Make sure that calls to qtest_has_accel are placed after g_test_init
> in similar fashion to commit ae4b01b349 ("tests: Ensure TAP version is
> printed before other messages") to avoid TAP parsing errors.
>
> Reviewed-by: Juan Quintela <quintela@redhat.com>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> Signed-off-by: Fabiano Rosas <farosas@suse.de>
makes sense to me
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> ---
> tests/qtest/bios-tables-test.c | 11 +++++++++--
> tests/qtest/boot-serial-test.c | 5 +++++
> tests/qtest/migration-test.c | 9 ++++++++-
> tests/qtest/pxe-test.c | 8 +++++++-
> tests/qtest/vmgenid-test.c | 9 +++++++--
> 5 files changed, 36 insertions(+), 6 deletions(-)
>
> diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
> index 464f87382e..7fd88b0e9c 100644
> --- a/tests/qtest/bios-tables-test.c
> +++ b/tests/qtest/bios-tables-test.c
> @@ -2045,8 +2045,7 @@ static void test_acpi_virt_oem_fields(void)
> int main(int argc, char *argv[])
> {
> const char *arch = qtest_get_arch();
> - const bool has_kvm = qtest_has_accel("kvm");
> - const bool has_tcg = qtest_has_accel("tcg");
> + bool has_kvm, has_tcg;
> char *v_env = getenv("V");
> int ret;
>
> @@ -2056,6 +2055,14 @@ int main(int argc, char *argv[])
>
> g_test_init(&argc, &argv, NULL);
>
> + has_kvm = qtest_has_accel("kvm");
> + has_tcg = qtest_has_accel("tcg");
> +
> + if (!has_tcg && !has_kvm) {
> + g_test_skip("No KVM or TCG accelerator available");
> + return 0;
> + }
> +
> if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
> ret = boot_sector_init(disk);
> if (ret) {
> diff --git a/tests/qtest/boot-serial-test.c b/tests/qtest/boot-serial-test.c
> index 3aef3a97a9..6dd06aeaf4 100644
> --- a/tests/qtest/boot-serial-test.c
> +++ b/tests/qtest/boot-serial-test.c
> @@ -287,6 +287,11 @@ int main(int argc, char *argv[])
>
> g_test_init(&argc, &argv, NULL);
>
> + if (!qtest_has_accel("tcg") && !qtest_has_accel("kvm")) {
> + g_test_skip("No KVM or TCG accelerator available");
> + return 0;
> + }
> +
> for (i = 0; tests[i].arch != NULL; i++) {
> if (g_str_equal(arch, tests[i].arch) &&
> qtest_has_machine(tests[i].machine)) {
> diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
> index 60dd53d3ec..be73ec3c06 100644
> --- a/tests/qtest/migration-test.c
> +++ b/tests/qtest/migration-test.c
> @@ -2477,7 +2477,7 @@ static bool kvm_dirty_ring_supported(void)
>
> int main(int argc, char **argv)
> {
> - bool has_kvm;
> + bool has_kvm, has_tcg;
> bool has_uffd;
> const char *arch;
> g_autoptr(GError) err = NULL;
> @@ -2486,6 +2486,13 @@ int main(int argc, char **argv)
> g_test_init(&argc, &argv, NULL);
>
> has_kvm = qtest_has_accel("kvm");
> + has_tcg = qtest_has_accel("tcg");
> +
> + if (!has_tcg && !has_kvm) {
> + g_test_skip("No KVM or TCG accelerator available");
> + return 0;
> + }
> +
> has_uffd = ufd_version_check();
> arch = qtest_get_arch();
>
> diff --git a/tests/qtest/pxe-test.c b/tests/qtest/pxe-test.c
> index 62b6eef464..e4b48225a5 100644
> --- a/tests/qtest/pxe-test.c
> +++ b/tests/qtest/pxe-test.c
> @@ -131,11 +131,17 @@ int main(int argc, char *argv[])
> int ret;
> const char *arch = qtest_get_arch();
>
> + g_test_init(&argc, &argv, NULL);
> +
> + if (!qtest_has_accel("tcg") && !qtest_has_accel("kvm")) {
> + g_test_skip("No KVM or TCG accelerator available");
> + return 0;
> + }
> +
> ret = boot_sector_init(disk);
> if(ret)
> return ret;
>
> - g_test_init(&argc, &argv, NULL);
>
> if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
> test_batch(x86_tests, false);
> diff --git a/tests/qtest/vmgenid-test.c b/tests/qtest/vmgenid-test.c
> index efba76e716..324db08c7a 100644
> --- a/tests/qtest/vmgenid-test.c
> +++ b/tests/qtest/vmgenid-test.c
> @@ -165,13 +165,18 @@ int main(int argc, char **argv)
> {
> int ret;
>
> + g_test_init(&argc, &argv, NULL);
> +
> + if (!qtest_has_accel("tcg") && !qtest_has_accel("kvm")) {
> + g_test_skip("No KVM or TCG accelerator available");
> + return 0;
> + }
> +
> ret = boot_sector_init(disk);
> if (ret) {
> return ret;
> }
>
> - g_test_init(&argc, &argv, NULL);
> -
> qtest_add_func("/vmgenid/vmgenid/set-guid",
> vmgenid_set_guid_test);
> qtest_add_func("/vmgenid/vmgenid/set-guid-auto",
> --
> 2.35.3
next prev parent reply other threads:[~2023-04-27 18:41 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-26 18:00 [PATCH v11 00/13] target/arm: Allow CONFIG_TCG=n builds Fabiano Rosas
2023-04-26 18:00 ` [PATCH v11 01/13] target/arm: Move cortex sysregs into a separate file Fabiano Rosas
2023-04-28 22:41 ` Philippe Mathieu-Daudé
2023-04-26 18:00 ` [PATCH v11 02/13] target/arm: Remove dead code from cpu_max_set_sve_max_vq Fabiano Rosas
2023-04-26 18:00 ` [PATCH v11 03/13] target/arm: Extract TCG -cpu max code into a function Fabiano Rosas
2023-04-26 18:00 ` [PATCH v11 04/13] target/arm: Do not expose all -cpu max features to qtests Fabiano Rosas
2023-04-27 9:37 ` Richard Henderson
2023-04-28 22:35 ` Philippe Mathieu-Daudé
2023-05-02 12:23 ` Fabiano Rosas
2023-04-26 18:00 ` [PATCH v11 05/13] target/arm: Move 64-bit TCG CPUs into tcg/ Fabiano Rosas
2023-04-28 22:38 ` Philippe Mathieu-Daudé
2023-04-26 18:00 ` [PATCH v11 06/13] tests/qtest: Adjust and document query-cpu-model-expansion test for arm Fabiano Rosas
2023-04-27 8:08 ` Thomas Huth
2023-04-27 9:39 ` Richard Henderson
2023-04-27 13:16 ` Fabiano Rosas
2023-04-28 7:45 ` Richard Henderson
2023-04-28 13:43 ` Fabiano Rosas
2023-05-02 9:46 ` Peter Maydell
2023-04-26 18:00 ` [PATCH v11 07/13] target/arm: move cpu_tcg to tcg/cpu32.c Fabiano Rosas
2023-04-28 22:37 ` Philippe Mathieu-Daudé
2023-04-26 18:00 ` [PATCH v11 08/13] tests/qtest: Fix tests when no KVM or TCG are present Fabiano Rosas
2023-04-27 9:42 ` Richard Henderson
2023-04-27 18:41 ` Michael S. Tsirkin [this message]
2023-04-28 22:32 ` Philippe Mathieu-Daudé
2023-04-26 18:00 ` [PATCH v11 09/13] tests/avocado: Pass parameters to migration test Fabiano Rosas
2023-04-26 18:00 ` [PATCH v11 10/13] arm/Kconfig: Always select SEMIHOSTING when TCG is present Fabiano Rosas
2023-04-26 18:00 ` [PATCH v11 11/13] arm/Kconfig: Do not build TCG-only boards on a KVM-only build Fabiano Rosas
2023-04-26 18:00 ` [PATCH v11 12/13] tests/qtest: Restrict tpm-tis-i2c-test to CONFIG_TCG Fabiano Rosas
2023-04-27 7:00 ` Thomas Huth
2023-04-27 9:44 ` Richard Henderson
2023-04-26 18:00 ` [PATCH v11 13/13] gitlab-ci: Check building KVM-only aarch64 target Fabiano Rosas
2023-04-27 9:46 ` Richard Henderson
2023-05-02 9:55 ` [PATCH v11 00/13] target/arm: Allow CONFIG_TCG=n builds Peter Maydell
2023-05-02 14:51 ` Peter Maydell
2023-05-02 16:07 ` Peter Maydell
2023-05-02 16:23 ` Fabiano Rosas
2023-05-02 17:11 ` Fabiano Rosas
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=20230427144055-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=agraf@csgraf.de \
--cc=alex.bennee@linaro.org \
--cc=anisinha@redhat.com \
--cc=cfontana@suse.de \
--cc=cohuck@redhat.com \
--cc=ehabkost@redhat.com \
--cc=farosas@suse.de \
--cc=imammedo@redhat.com \
--cc=lvivier@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=richard.henderson@linaro.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.