[libvirt] [PATCH 4/6] tests: Add fake PPC64 emulator for QEMU testing

Michael Ellerman michael at ellerman.id.au
Mon Dec 12 23:39:33 UTC 2011


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 at 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




More information about the libvir-list mailing list