mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-10-18 03:33:51 +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:
@@ -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,
|
||||
|
Reference in New Issue
Block a user