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(a)redhat.com>
---
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