Create a fake PPC64 QEMU so that we can run PPC64 QEMU tests when we
don't have a real version of the emulator available.
Signed-off-by: Michael Ellerman <michael(a)ellerman.id.au>
---
tests/testutilsqemu.c | 30 ++++++++++++++++++++++++++++++
1 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/tests/testutilsqemu.c b/tests/testutilsqemu.c
index 857f5da..fa6422a 100644
--- a/tests/testutilsqemu.c
+++ b/tests/testutilsqemu.c
@@ -60,6 +60,33 @@ static int testQemuDefaultConsoleType(const char *ostype
ATTRIBUTE_UNUSED)
return VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_SERIAL;
}
+static int testQemuAddPPC64Guest(virCapsPtr caps)
+{
+ static const char *machine[] = { "pseries" };
+ virCapsGuestMachinePtr *machines = NULL;
+ virCapsGuestPtr guest;
+
+ machines = virCapabilitiesAllocMachines(machine, 1);
+ if (!machines)
+ goto error;
+
+ guest = virCapabilitiesAddGuest(caps, "hvm", "ppc64", 64,
+ "/usr/bin/qemu-system-ppc64", NULL,
+ 1, machines);
+ if (!guest)
+ goto error;
+
+ if (!virCapabilitiesAddGuestDomain(guest, "qemu", NULL, NULL, 0, NULL))
+ goto error;
+
+ return 0;
+
+error:
+ /* No way to free a guest? */
+ virCapabilitiesFreeMachines(machines, 1);
+ return -1;
+}
+
virCapsPtr testQemuCapsInit(void) {
virCapsPtr caps;
virCapsGuestPtr guest;
@@ -172,6 +199,9 @@ virCapsPtr testQemuCapsInit(void) {
NULL) == NULL)
goto cleanup;
+ if (testQemuAddPPC64Guest(caps))
+ goto cleanup;
+
if (virTestGetDebug()) {
char *caps_str;
--
1.7.7.3