On Mon, Oct 21, 2019 at 04:43:22PM +0100, Peter Maydell wrote: > On Mon, 21 Oct 2019 at 15:23, Andrew Jones <drjo...@redhat.com> wrote: > > Peter, would you mind running your test on the kvm32 machine with this > > change before I send a v7? > > Still fails: > > pm215@pm-ct:~/qemu/build/arm$ > QTEST_QEMU_BINARY=arm-softmmu/qemu-system-arm tests/arm-cpu-features > /arm/arm/query-cpu-model-expansion: OK > /arm/arm/kvm/query-cpu-model-expansion: ** > ERROR:/home/pm215/qemu/tests/arm-cpu-features.c:498:test_query_cpu_model_expansion_kvm: > assertion failed: (resp_has_props(_resp)) > Aborted > > This is asserting on the line: > 498 assert_has_not_feature(qts, "host", "sve"); >
Oh, I see. It's not failing the specific absence of 'sve', but the test code (assert_has_not_feature()) is assuming at least one property is present. This isn't the case for kvm32 'host' cpus. They apparently have none. We need this patch too, then diff --git a/tests/arm-cpu-features.c b/tests/arm-cpu-features.c index 14100ebd8521..9aa728ed8469 100644 --- a/tests/arm-cpu-features.c +++ b/tests/arm-cpu-features.c @@ -136,8 +136,8 @@ static bool resp_get_feature(QDict *resp, const char *feature) ({ \ QDict *_resp = do_query_no_props(qts, cpu_type); \ g_assert(_resp); \ - g_assert(resp_has_props(_resp)); \ - g_assert(!qdict_get(resp_get_props(_resp), feature)); \ + g_assert(!resp_has_props(_resp) || \ + !qdict_get(resp_get_props(_resp), feature)); \ qobject_unref(_resp); \ }) Thanks, drew