On Fri, Jan 13 2023, Fabiano Rosas <faro...@suse.de> wrote: > Signed-off-by: Fabiano Rosas <faro...@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 */