mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 17:34:18 +03:00
Test qemu machine aliases
* tests/testutilsqemu.c: make 'pc' an alias for qemu-system-x86_64 * tests/qemuxml2argvdata/qemuxml2argv-machine-aliases1.*, tests/qemuxml2argvtest.c: add a test which uses qemu-system-x86_64 and make sure the machine type is canonicalized.
This commit is contained in:
parent
d4c032d0b7
commit
aa67241bde
@ -0,0 +1 @@
|
||||
LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu-system-x86_64 -S -M pc-0.11 -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
|
22
tests/qemuxml2argvdata/qemuxml2argv-machine-aliases1.xml
Normal file
22
tests/qemuxml2argvdata/qemuxml2argv-machine-aliases1.xml
Normal file
@ -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/qemu-system-x86_64</emulator>
|
||||
<disk type='block' device='disk'>
|
||||
<source dev='/dev/HostVG/QEMUGuest1'/>
|
||||
<target dev='hda' bus='ide'/>
|
||||
</disk>
|
||||
</devices>
|
||||
</domain>
|
@ -190,6 +190,7 @@ mymain(int argc, char **argv)
|
||||
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);
|
||||
|
@ -24,6 +24,35 @@ static virCapsGuestMachinePtr *testQemuAllocMachines(int *nmachines)
|
||||
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;
|
||||
@ -56,7 +85,7 @@ virCapsPtr testQemuCapsInit(void) {
|
||||
NULL) == NULL)
|
||||
goto cleanup;
|
||||
|
||||
if ((machines = testQemuAllocMachines(&nmachines)) == NULL)
|
||||
if ((machines = testQemuAllocNewerMachines(&nmachines)) == NULL)
|
||||
goto cleanup;
|
||||
|
||||
if ((guest = virCapabilitiesAddGuest(caps, "hvm", "x86_64", 64,
|
||||
|
Loading…
Reference in New Issue
Block a user