Real capabilities populate the binary name, while fake don't. We can directly insert the capabilities using the real binary name. This will allow to remove 'qemu_emulators' entries once all tests are converted to real capabilties. Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx> --- tests/testutilsqemu.c | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/tests/testutilsqemu.c b/tests/testutilsqemu.c index 9d7bc2ed51..588abf662d 100644 --- a/tests/testutilsqemu.c +++ b/tests/testutilsqemu.c @@ -530,24 +530,30 @@ qemuTestCapsCacheInsertImpl(virFileCache *cache, * * before populating the cache; */ - virArch arch = virQEMUCapsGetArch(caps); - g_autoptr(virQEMUCaps) copyCaps = NULL; - virQEMUCaps *effCaps = caps; + /* caps->binary is populated only for real capabilities */ + if (virQEMUCapsGetBinary(caps)) { + if (qemuTestCapsCacheInsertData(cache, virQEMUCapsGetBinary(caps), caps) < 0) + return -1; + } else { + virArch arch = virQEMUCapsGetArch(caps); + g_autoptr(virQEMUCaps) copyCaps = NULL; + virQEMUCaps *effCaps = caps; - if (arch_alias[arch] != VIR_ARCH_NONE) - arch = arch_alias[arch]; + if (arch_alias[arch] != VIR_ARCH_NONE) + arch = arch_alias[arch]; - if (qemu_emulators[arch]) { - /* if we are dealing with fake caps we need to populate machine types */ - if (!virQEMUCapsHasMachines(caps)) { - if (!(copyCaps = effCaps = virQEMUCapsNewCopy(caps))) - return -1; + if (qemu_emulators[arch]) { + /* if we are dealing with fake caps we need to populate machine types */ + if (!virQEMUCapsHasMachines(caps)) { + if (!(copyCaps = effCaps = virQEMUCapsNewCopy(caps))) + return -1; - qemuTestCapsPopulateFakeMachines(copyCaps, arch, hostOS); - } + qemuTestCapsPopulateFakeMachines(copyCaps, arch, hostOS); + } - if (qemuTestCapsCacheInsertData(cache, qemu_emulators[arch], effCaps) < 0) - return -1; + if (qemuTestCapsCacheInsertData(cache, qemu_emulators[arch], effCaps) < 0) + return -1; + } } } else { /* in case when caps are missing or are missing architecture, we populate -- 2.39.2