[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH v3 21/28] tests/qtest: Skip tests that depend on TCG when
From: |
Cornelia Huck |
Subject: |
Re: [RFC PATCH v3 21/28] tests/qtest: Skip tests that depend on TCG when CONFIG_TCG=n |
Date: |
Tue, 17 Jan 2023 15:32:18 +0100 |
User-agent: |
Notmuch/0.37 (https://notmuchmail.org) |
On Fri, Jan 13 2023, Fabiano Rosas <farosas@suse.de> wrote:
> Signed-off-by: Fabiano Rosas <farosas@suse.de>
> ---
> tests/qtest/arm-cpu-features.c | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/tests/qtest/arm-cpu-features.c b/tests/qtest/arm-cpu-features.c
> index 4be1415823..9a052e41fc 100644
> --- a/tests/qtest/arm-cpu-features.c
> +++ b/tests/qtest/arm-cpu-features.c
> @@ -217,6 +217,15 @@ static void assert_bad_props(QTestState *qts, const char
> *cpu_type)
> qobject_unref(resp);
> }
>
> +static bool tcg_disabled(void)
> +{
> +#ifndef CONFIG_TCG
> + return true;
> +#else
> + return false;
> +#endif
> +}
> +
> static uint64_t resp_get_sve_vls(QDict *resp)
> {
> QDict *props;
> @@ -338,6 +347,11 @@ static void sve_tests_sve_max_vq_8(const void *data)
> {
> QTestState *qts;
>
> + if (tcg_disabled()) {
> + g_test_skip("TCG support disabled in this build");
> + return;
> + }
> +
> qts = qtest_init(MACHINE "-cpu max,sve-max-vq=8");
>
> assert_sve_vls(qts, "max", BIT_ULL(8) - 1, NULL);
> @@ -373,6 +387,11 @@ static void sve_tests_sve_off(const void *data)
> {
> QTestState *qts;
>
> + if (tcg_disabled()) {
> + g_test_skip("TCG support is disabled in this build");
> + return;
> + }
> +
> qts = qtest_init(MACHINE "-cpu max,sve=off");
>
> /* SVE is off, so the map should be empty. */
I'm wondering whether the invocation of tcg and kvm test cases should be
reorganized a bit. Currently, we have test cases that use MACHINE (tcg),
and test cases that use MACHINE_KVM (kvm with a fallback to
tcg). MACHINE_KVM is used either for aarch64 && kvm
(test_query_cpu_model_expansion_kvm, which tests behaviour specific to
kvm), or for aarch64 (sve_tests_sve_off_kvm, which tests behaviour that
is the same for both kvm and tcg, and therefore tests tcg twice if kvm
is not available.)
So, should we
- drop "-accel tcg" from MACHINE_KVM,
- call sve_tests_sve_off_kvm only if kvm is available, and
- call the functions you skip here conditionally on tcg being available
instead? (not sure whether not calling should be preferred to skipping
in general)
> @@ -429,6 +448,11 @@ static void test_query_cpu_model_expansion(const void
> *data)
> {
> QTestState *qts;
>
> + if (tcg_disabled()) {
> + g_test_skip("TCG support disabled in this build");
> + return;
> + }
> +
> qts = qtest_init(MACHINE "-cpu max");
>
> /* Test common query-cpu-model-expansion input validation */
- Re: [RFC PATCH v3 18/28] target/arm: Move common cpu code into cpu.c, (continued)
[RFC PATCH v3 19/28] target/arm: move cpu_tcg to tcg/cpu32.c, Fabiano Rosas, 2023/01/13
[RFC PATCH v3 17/28] target/arm: Move cortex sysregs into cpregs.c, Fabiano Rosas, 2023/01/13
[RFC PATCH v3 21/28] tests/qtest: Skip tests that depend on TCG when CONFIG_TCG=n, Fabiano Rosas, 2023/01/13
[RFC PATCH v3 20/28] target/arm: Set cortex-a57 as default cpu for KVM-only build, Fabiano Rosas, 2023/01/13
Re: [RFC PATCH v3 20/28] target/arm: Set cortex-a57 as default cpu for KVM-only build, Richard Henderson, 2023/01/13
Re: [RFC PATCH v3 20/28] target/arm: Set cortex-a57 as default cpu for KVM-only build, Peter Maydell, 2023/01/16