[libvirt] [PATCH 10/10] Test that domain-specific qemu machine types are used correctly

Mark McLoughlin markmc at redhat.com
Thu Sep 10 11:35:18 UTC 2009


* tests/testutilsqemu.c: add a machine types list for /usr/bin/kvm
  which doesn't have any aliases, while the guest has aliases

* tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.*,
  tests/qemuxml2argvtest.c: add a test using /usr/bin/kvm and make
  sure that 'pc' machine type doesn't get canonicalized using the
  aliases in the guest machine type list
---
 .../qemuxml2argv-machine-aliases2.args             |    1 +
 .../qemuxml2argv-machine-aliases2.xml              |   22 ++++++++++++++++++++
 tests/qemuxml2argvtest.c                           |    1 +
 tests/testutilsqemu.c                              |    9 ++++++-
 4 files changed, 31 insertions(+), 2 deletions(-)
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.xml

diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.args
new file mode 100644
index 0000000..1a7650d
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.args
@@ -0,0 +1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/kvm -S -M pc -m 214 -smp 1 -nographic -monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.xml b/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.xml
new file mode 100644
index 0000000..6f62243
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.xml
@@ -0,0 +1,22 @@
+<domain type='qemu'>
+  <name>QEMUGuest1</name>
+  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+  <memory>219200</memory>
+  <currentMemory>219200</currentMemory>
+  <vcpu>1</vcpu>
+  <os>
+    <type arch='x86_64' machine='pc'>hvm</type>
+    <boot dev='hd'/>
+  </os>
+  <clock offset='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>destroy</on_crash>
+  <devices>
+    <emulator>/usr/bin/kvm</emulator>
+    <disk type='block' device='disk'>
+      <source dev='/dev/HostVG/QEMUGuest1'/>
+      <target dev='hda' bus='ide'/>
+    </disk>
+  </devices>
+</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index afaf392..d0cf712 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -191,6 +191,7 @@ mymain(int argc, char **argv)
 
     DO_TEST("minimal", QEMUD_CMD_FLAG_NAME);
     DO_TEST("machine-aliases1", 0);
+    DO_TEST("machine-aliases2", 0);
     DO_TEST("boot-cdrom", 0);
     DO_TEST("boot-network", 0);
     DO_TEST("boot-floppy", 0);
diff --git a/tests/testutilsqemu.c b/tests/testutilsqemu.c
index ad58010..9269f5c 100644
--- a/tests/testutilsqemu.c
+++ b/tests/testutilsqemu.c
@@ -101,13 +101,18 @@ virCapsPtr testQemuCapsInit(void) {
                                       0,
                                       NULL) == NULL)
         goto cleanup;
+
+    if ((machines = testQemuAllocMachines(&nmachines)) == NULL)
+        goto cleanup;
+
     if (virCapabilitiesAddGuestDomain(guest,
                                       "kvm",
                                       "/usr/bin/kvm",
                                       NULL,
-                                      0,
-                                      NULL) == NULL)
+                                      nmachines,
+                                      machines) == NULL)
         goto cleanup;
+    machines = NULL;
 
     nmachines = ARRAY_CARDINALITY(xen_machines);
     if ((machines = virCapabilitiesAllocMachines(xen_machines, nmachines)) == NULL)
-- 
1.6.2.5




More information about the libvir-list mailing list