From bbae92f8b82fded314583382db5a7f0dd9e17184 Mon Sep 17 00:00:00 2001 From: Michael Ellerman Date: Tue, 13 Dec 2011 10:39:33 +1100 Subject: [PATCH] tests: Add fake PPC64 emulator for QEMU testing 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 --- tests/testutilsqemu.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/tests/testutilsqemu.c b/tests/testutilsqemu.c index 857f5daed9..fa6422a706 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;