testutilsqemu: Remove infrastructure for fake-caps testing of OSX

All tests using this were refactored to use real capabilities.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2023-03-08 17:49:28 +01:00
parent bfc5955406
commit 252019e087
2 changed files with 31 additions and 123 deletions

View File

@ -62,15 +62,6 @@ static const char *const *qemu_machines[VIR_ARCH_LAST] = {
[VIR_ARCH_S390X] = s390x_machines, [VIR_ARCH_S390X] = s390x_machines,
}; };
static const char *const *hvf_machines[VIR_ARCH_LAST] = {
[VIR_ARCH_I686] = NULL,
[VIR_ARCH_X86_64] = x86_64_machines,
[VIR_ARCH_AARCH64] = aarch64_machines,
[VIR_ARCH_PPC64] = NULL,
[VIR_ARCH_RISCV64] = NULL,
[VIR_ARCH_S390X] = NULL,
};
static const char *qemu_default_ram_id[VIR_ARCH_LAST] = { static const char *qemu_default_ram_id[VIR_ARCH_LAST] = {
[VIR_ARCH_I686] = "pc.ram", [VIR_ARCH_I686] = "pc.ram",
[VIR_ARCH_X86_64] = "pc.ram", [VIR_ARCH_X86_64] = "pc.ram",
@ -165,8 +156,7 @@ virHostCPUX86GetCPUID(uint32_t leaf,
static int static int
testQemuAddGuest(virCaps *caps, testQemuAddGuest(virCaps *caps,
virArch arch, virArch arch)
testQemuHostOS hostOS)
{ {
size_t nmachines; size_t nmachines;
virCapsGuestMachine **machines = NULL; virCapsGuestMachine **machines = NULL;
@ -199,31 +189,15 @@ testQemuAddGuest(virCaps *caps,
virCapabilitiesAddGuestDomain(guest, VIR_DOMAIN_VIRT_QEMU, virCapabilitiesAddGuestDomain(guest, VIR_DOMAIN_VIRT_QEMU,
NULL, NULL, 0, NULL); NULL, NULL, 0, NULL);
if (hostOS == HOST_OS_LINUX) { nmachines = g_strv_length((char **)qemu_machines[emu_arch]);
nmachines = g_strv_length((char **)qemu_machines[emu_arch]); machines = virCapabilitiesAllocMachines(qemu_machines[emu_arch],
machines = virCapabilitiesAllocMachines(qemu_machines[emu_arch], nmachines);
nmachines); if (machines == NULL)
if (machines == NULL) goto error;
goto error;
virCapabilitiesAddGuestDomain(guest, VIR_DOMAIN_VIRT_KVM, virCapabilitiesAddGuestDomain(guest, VIR_DOMAIN_VIRT_KVM,
qemu_emulators[emu_arch], qemu_emulators[emu_arch],
NULL, nmachines, machines); NULL, nmachines, machines);
}
if (hostOS == HOST_OS_MACOS) {
if (hvf_machines[emu_arch] != NULL) {
nmachines = g_strv_length((char **)hvf_machines[emu_arch]);
machines = virCapabilitiesAllocMachines(hvf_machines[emu_arch],
nmachines);
if (machines == NULL)
goto error;
virCapabilitiesAddGuestDomain(guest, VIR_DOMAIN_VIRT_HVF,
qemu_emulators[emu_arch],
NULL, nmachines, machines);
}
}
return 0; return 0;
@ -233,8 +207,8 @@ testQemuAddGuest(virCaps *caps,
} }
static virCaps* virCaps *
testQemuCapsInitImpl(testQemuHostOS hostOS) testQemuCapsInit(void)
{ {
virCaps *caps; virCaps *caps;
size_t i; size_t i;
@ -254,7 +228,7 @@ testQemuCapsInitImpl(testQemuHostOS hostOS)
goto cleanup; goto cleanup;
for (i = 0; i < VIR_ARCH_LAST; i++) { for (i = 0; i < VIR_ARCH_LAST; i++) {
if (testQemuAddGuest(caps, i, hostOS) < 0) if (testQemuAddGuest(caps, i) < 0)
goto cleanup; goto cleanup;
} }
@ -276,19 +250,6 @@ testQemuCapsInitImpl(testQemuHostOS hostOS)
return NULL; return NULL;
} }
virCaps*
testQemuCapsInit(void)
{
return testQemuCapsInitImpl(HOST_OS_LINUX);
}
virCaps*
testQemuCapsInitMacOS(void)
{
return testQemuCapsInitImpl(HOST_OS_MACOS);
}
virCPUDef * virCPUDef *
qemuTestGetCPUDef(qemuTestCPUDef d) qemuTestGetCPUDef(qemuTestCPUDef d)
{ {
@ -386,8 +347,7 @@ void qemuTestDriverFree(virQEMUDriver *driver)
static void static void
qemuTestCapsPopulateFakeMachines(virQEMUCaps *caps, qemuTestCapsPopulateFakeMachines(virQEMUCaps *caps,
virArch arch, virArch arch)
testQemuHostOS hostOS)
{ {
size_t i; size_t i;
const char *defaultRAMid = NULL; const char *defaultRAMid = NULL;
@ -415,41 +375,19 @@ qemuTestCapsPopulateFakeMachines(virQEMUCaps *caps,
VIR_TRISTATE_BOOL_ABSENT); VIR_TRISTATE_BOOL_ABSENT);
virQEMUCapsSet(caps, QEMU_CAPS_TCG); virQEMUCapsSet(caps, QEMU_CAPS_TCG);
if (hostOS == HOST_OS_LINUX) { virQEMUCapsAddMachine(caps,
virQEMUCapsAddMachine(caps, VIR_DOMAIN_VIRT_KVM,
VIR_DOMAIN_VIRT_KVM, qemu_machines[arch][i],
qemu_machines[arch][i], NULL,
NULL, NULL,
NULL, 0,
0, false,
false, false,
false, true,
true, defaultRAMid,
defaultRAMid, false,
false, VIR_TRISTATE_BOOL_ABSENT);
VIR_TRISTATE_BOOL_ABSENT); virQEMUCapsSet(caps, QEMU_CAPS_KVM);
virQEMUCapsSet(caps, QEMU_CAPS_KVM);
}
}
if (hostOS == HOST_OS_MACOS) {
if (hvf_machines[arch] != NULL) {
for (i = 0; hvf_machines[arch][i] != NULL; i++) {
virQEMUCapsAddMachine(caps,
VIR_DOMAIN_VIRT_HVF,
hvf_machines[arch][i],
NULL,
NULL,
0,
false,
false,
true,
defaultRAMid,
false,
VIR_TRISTATE_BOOL_ABSENT);
virQEMUCapsSet(caps, QEMU_CAPS_HVF);
}
}
} }
} }
@ -468,10 +406,9 @@ qemuTestCapsCacheInsertData(virFileCache *cache,
} }
static int int
qemuTestCapsCacheInsertImpl(virFileCache *cache, qemuTestCapsCacheInsert(virFileCache *cache,
virQEMUCaps *caps, virQEMUCaps *caps)
testQemuHostOS hostOS)
{ {
size_t i; size_t i;
@ -498,7 +435,7 @@ qemuTestCapsCacheInsertImpl(virFileCache *cache,
/* if we are dealing with fake caps we need to populate machine types */ /* if we are dealing with fake caps we need to populate machine types */
if (!virQEMUCapsHasMachines(caps)) { if (!virQEMUCapsHasMachines(caps)) {
copyCaps = effCaps = virQEMUCapsNewCopy(caps); copyCaps = effCaps = virQEMUCapsNewCopy(caps);
qemuTestCapsPopulateFakeMachines(copyCaps, arch, hostOS); qemuTestCapsPopulateFakeMachines(copyCaps, arch);
} }
if (qemuTestCapsCacheInsertData(cache, qemu_emulators[arch], effCaps) < 0) if (qemuTestCapsCacheInsertData(cache, qemu_emulators[arch], effCaps) < 0)
@ -516,7 +453,7 @@ qemuTestCapsCacheInsertImpl(virFileCache *cache,
tmp = virQEMUCapsNewCopy(caps); tmp = virQEMUCapsNewCopy(caps);
qemuTestCapsPopulateFakeMachines(tmp, i, hostOS); qemuTestCapsPopulateFakeMachines(tmp, i);
if (qemuTestCapsCacheInsertData(cache, qemu_emulators[i], tmp) < 0) if (qemuTestCapsCacheInsertData(cache, qemu_emulators[i], tmp) < 0)
return -1; return -1;
@ -526,21 +463,6 @@ qemuTestCapsCacheInsertImpl(virFileCache *cache,
return 0; return 0;
} }
int
qemuTestCapsCacheInsert(virFileCache *cache,
virQEMUCaps *caps)
{
return qemuTestCapsCacheInsertImpl(cache, caps, HOST_OS_LINUX);
}
int
qemuTestCapsCacheInsertMacOS(virFileCache *cache,
virQEMUCaps *caps)
{
return qemuTestCapsCacheInsertImpl(cache, caps, HOST_OS_MACOS);
}
# define STATEDIRTEMPLATE abs_builddir "/qemustatedir-XXXXXX" # define STATEDIRTEMPLATE abs_builddir "/qemustatedir-XXXXXX"
# define CONFIGDIRTEMPLATE abs_builddir "/qemuconfigdir-XXXXXX" # define CONFIGDIRTEMPLATE abs_builddir "/qemuconfigdir-XXXXXX"
@ -951,10 +873,6 @@ testQemuInfoSetArgs(struct testQemuInfo *info,
info->args.capsHostCPUModel = va_arg(argptr, int); info->args.capsHostCPUModel = va_arg(argptr, int);
break; break;
case ARG_HOST_OS:
info->args.hostOS = va_arg(argptr, int);
break;
case ARG_FD_GROUP: { case ARG_FD_GROUP: {
virStorageSourceFDTuple *new = virStorageSourceFDTupleNew(); virStorageSourceFDTuple *new = virStorageSourceFDTupleNew();
const char *fdname = va_arg(argptr, char *); const char *fdname = va_arg(argptr, char *);

View File

@ -36,11 +36,6 @@ enum {
GIC_BOTH, GIC_BOTH,
}; };
typedef enum {
HOST_OS_LINUX = 0,
HOST_OS_MACOS,
} testQemuHostOS;
typedef enum { typedef enum {
ARG_QEMU_CAPS = QEMU_CAPS_LAST + 1, ARG_QEMU_CAPS = QEMU_CAPS_LAST + 1,
ARG_QEMU_CAPS_DEL, ARG_QEMU_CAPS_DEL,
@ -53,7 +48,6 @@ typedef enum {
ARG_CAPS_VER, ARG_CAPS_VER,
ARG_CAPS_VARIANT, ARG_CAPS_VARIANT,
ARG_CAPS_HOST_CPU_MODEL, ARG_CAPS_HOST_CPU_MODEL,
ARG_HOST_OS,
ARG_FD_GROUP, /* name, nfds, fd[0], ... fd[n-1] */ ARG_FD_GROUP, /* name, nfds, fd[0], ... fd[n-1] */
ARG_END, ARG_END,
} testQemuInfoArgName; } testQemuInfoArgName;
@ -90,7 +84,6 @@ struct testQemuArgs {
const char *capsvariant; const char *capsvariant;
qemuTestCPUDef capsHostCPUModel; qemuTestCPUDef capsHostCPUModel;
int gic; int gic;
testQemuHostOS hostOS;
GHashTable *fds; GHashTable *fds;
bool invalidarg; bool invalidarg;
}; };
@ -113,7 +106,6 @@ struct testQemuInfo {
}; };
virCaps *testQemuCapsInit(void); virCaps *testQemuCapsInit(void);
virCaps *testQemuCapsInitMacOS(void);
virDomainXMLOption *testQemuXMLConfInit(void); virDomainXMLOption *testQemuXMLConfInit(void);
@ -131,8 +123,6 @@ int qemuTestDriverInit(virQEMUDriver *driver);
void qemuTestDriverFree(virQEMUDriver *driver); void qemuTestDriverFree(virQEMUDriver *driver);
int qemuTestCapsCacheInsert(virFileCache *cache, int qemuTestCapsCacheInsert(virFileCache *cache,
virQEMUCaps *caps); virQEMUCaps *caps);
int qemuTestCapsCacheInsertMacOS(virFileCache *cache,
virQEMUCaps *caps);
int testQemuCapsSetGIC(virQEMUCaps *qemuCaps, int testQemuCapsSetGIC(virQEMUCaps *qemuCaps,
int gic); int gic);