--- /dev/null
+<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/qemu-system-x86_64</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ </disk>
+ </devices>
+</domain>
unsetenv("LD_LIBRARY_PATH");
DO_TEST("minimal", QEMUD_CMD_FLAG_NAME);
+ DO_TEST("machine-aliases1", 0);
DO_TEST("boot-cdrom", 0);
DO_TEST("boot-network", 0);
DO_TEST("boot-floppy", 0);
return machines;
}
+/* Newer versions of qemu have versioned machine types to allow
+ * compatibility with older releases.
+ * The 'pc' machine type is an alias of the newest machine type.
+ */
+static virCapsGuestMachinePtr *testQemuAllocNewerMachines(int *nmachines)
+{
+ virCapsGuestMachinePtr *machines;
+ char *canonical;
+ static const char *const x86_machines[] = {
+ "pc-0.11", "pc", "pc-0.10", "isapc"
+ };
+
+ if ((canonical = strdup(x86_machines[0])) == NULL)
+ return NULL;
+
+ machines = virCapabilitiesAllocMachines(x86_machines,
+ ARRAY_CARDINALITY(x86_machines));
+ if (machines == NULL) {
+ VIR_FREE(canonical);
+ return NULL;
+ }
+
+ machines[1]->canonical = canonical;
+
+ *nmachines = ARRAY_CARDINALITY(x86_machines);
+
+ return machines;
+}
+
virCapsPtr testQemuCapsInit(void) {
struct utsname utsname;
virCapsPtr caps;
NULL) == NULL)
goto cleanup;
- if ((machines = testQemuAllocMachines(&nmachines)) == NULL)
+ if ((machines = testQemuAllocNewerMachines(&nmachines)) == NULL)
goto cleanup;
if ((guest = virCapabilitiesAddGuest(caps, "hvm", "x86_64", 64,