qemu-arm
[Top][All Lists]
Advanced

[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 */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]