bool keep;
virDomainObj *vm;
bool deviceDeletedEvent;
+ const char *arch;
+ GHashTable *capsLatestFiles;
+ GHashTable *capsCache;
+ GHashTable *schemaCache;
};
static int
qemuHotplugCreateObjects(virDomainXMLOption *xmlopt,
virDomainObj **vm,
- const char *domxml)
+ const char *domxml,
+ const char *arch,
+ GHashTable *capsLatestFiles,
+ GHashTable *capsCache,
+ GHashTable *schemaCache,
+ GHashTable **schema)
+
{
qemuDomainObjPrivate *priv = NULL;
const unsigned int parseFlags = 0;
priv = (*vm)->privateData;
- priv->qemuCaps = virQEMUCapsNew();
-
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_SCSI_LSI);
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_VIRTIO_SCSI);
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE_USB_STORAGE);
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE_IVSHMEM_PLAIN);
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE_IVSHMEM_DOORBELL);
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_SCSI_DISK_WWN);
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE_VFIO_PCI);
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE);
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE_QXL);
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE_VGA);
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE_CIRRUS_VGA);
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_PIIX_DISABLE_S3);
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_PIIX_DISABLE_S4);
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_VNC);
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_SPICE);
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_PR_MANAGER_HELPER);
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_SCSI_BLOCK);
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE_USB_KBD);
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_NETDEV_VHOST_VDPA);
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_SET_ACTION);
+ if (!(priv->qemuCaps = testQemuGetRealCaps(arch, "latest", "",
+ capsLatestFiles, capsCache,
+ schemaCache, schema)))
+ return -1;
if (qemuTestCapsCacheInsert(driver.qemuCapsCache, priv->qemuCaps) < 0)
return -1;
goto cleanup;
}
} else {
- if (qemuHotplugCreateObjects(driver.xmlopt, &vm, domain_xml) < 0)
+ if (qemuHotplugCreateObjects(driver.xmlopt, &vm, domain_xml,
+ test->arch, test->capsLatestFiles,
+ test->capsCache, test->schemaCache,
+ NULL) < 0)
goto cleanup;
}
bool state;
bool modern;
bool fail;
- GHashTable *schema;
+ const char *arch;
+ GHashTable *capsLatestFiles;
+ GHashTable *capsCache;
+ GHashTable *schemaCache;
};
qemuDomainObjPrivate *priv = NULL;
g_autofree char *prefix = NULL;
struct testQemuHotplugCpuData *data = NULL;
+ GHashTable *schema = NULL;
prefix = g_strdup_printf("%s/qemuhotplugtestcpus/%s", abs_srcdir, params->test);
if (virTestLoadFile(data->file_xml_dom, &data->xml_dom) < 0)
goto error;
- if (qemuHotplugCreateObjects(driver.xmlopt, &data->vm, data->xml_dom) < 0)
+ if (qemuHotplugCreateObjects(driver.xmlopt, &data->vm, data->xml_dom,
+ params->arch, params->capsLatestFiles,
+ params->capsCache, params->schemaCache, &schema) < 0)
goto error;
/* create vm->newDef */
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS);
if (!(data->mon = qemuMonitorTestNewFromFileFull(data->file_json_monitor,
- &driver, data->vm, params->schema)))
+ &driver, data->vm, schema)))
goto error;
if (params->fail)
static int
mymain(void)
{
- g_autoptr(GHashTable) qmpschema = NULL;
int ret = 0;
- struct qemuHotplugTestData data = {0};
- struct testQemuHotplugCpuParams cpudata;
g_autoptr(virQEMUDriverConfig) cfg = NULL;
+ g_autoptr(GHashTable) capsLatestFiles = testQemuGetLatestCaps();
+ g_autoptr(GHashTable) capsCache = virHashNew(virObjectUnref);
+ g_autoptr(GHashTable) schemaCache = virHashNew((GDestroyNotify) g_hash_table_unref);
+ struct qemuHotplugTestData data = { .capsLatestFiles = capsLatestFiles,
+ .capsCache = capsCache,
+ .schemaCache = schemaCache };
+ struct testQemuHotplugCpuParams cpudata = { .capsLatestFiles = capsLatestFiles,
+ .capsCache = capsCache,
+ .schemaCache = schemaCache };
if (qemuTestDriverInit(&driver) < 0)
return EXIT_FAILURE;
if (!(driver.domainEventState = virObjectEventStateNew()))
return EXIT_FAILURE;
- if (!(qmpschema = testQEMUSchemaLoadLatest("x86_64"))) {
- VIR_TEST_VERBOSE("failed to load qapi schema\n");
- return EXIT_FAILURE;
- }
-
- cpudata.schema = qmpschema;
-
driver.lockManager = virLockManagerPluginNew("nop", "qemu",
driver.config->configBaseDir,
0);
}
-#define DO_TEST(file, ACTION, dev, fail_, keep_, ...) \
+#define DO_TEST(archname, file, ACTION, dev, fail_, keep_, ...) \
do { \
const char *my_mon[] = { __VA_ARGS__, NULL}; \
const char *name = file " " #ACTION " " dev; \
+ data.arch = archname; \
data.action = ACTION; \
data.domain_filename = file; \
data.device_filename = dev; \
ret = -1; \
} while (0)
-#define DO_TEST_ATTACH(file, dev, fail, keep, ...) \
- DO_TEST(file, ATTACH, dev, fail, keep, __VA_ARGS__)
+#define DO_TEST_ATTACH(arch, file, dev, fail, keep, ...) \
+ DO_TEST(arch, file, ATTACH, dev, fail, keep, __VA_ARGS__)
-#define DO_TEST_DETACH(file, dev, fail, keep, ...) \
- DO_TEST(file, DETACH, dev, fail, keep, __VA_ARGS__)
+#define DO_TEST_DETACH(arch, file, dev, fail, keep, ...) \
+ DO_TEST(arch, file, DETACH, dev, fail, keep, __VA_ARGS__)
-#define DO_TEST_UPDATE(file, dev, fail, keep, ...) \
- DO_TEST(file, UPDATE, dev, fail, keep, __VA_ARGS__)
+#define DO_TEST_UPDATE(arch, file, dev, fail, keep, ...) \
+ DO_TEST(arch, file, UPDATE, dev, fail, keep, __VA_ARGS__)
#define QMP_OK "{\"return\": {}}"
"}\r\n"
cfg->spiceTLS = true;
- DO_TEST_UPDATE("graphics-spice", "graphics-spice-nochange", false, false, NULL);
- DO_TEST_UPDATE("graphics-spice-timeout", "graphics-spice-timeout-nochange", false, false,
+ DO_TEST_UPDATE("x86_64", "graphics-spice", "graphics-spice-nochange", false, false, NULL);
+ DO_TEST_UPDATE("x86_64", "graphics-spice-timeout", "graphics-spice-timeout-nochange", false, false,
"set_password", QMP_OK, "expire_password", QMP_OK);
- DO_TEST_UPDATE("graphics-spice-timeout", "graphics-spice-timeout-password", false, false,
+ DO_TEST_UPDATE("x86_64", "graphics-spice-timeout", "graphics-spice-timeout-password", false, false,
"set_password", QMP_OK, "expire_password", QMP_OK);
- DO_TEST_UPDATE("graphics-spice", "graphics-spice-listen", true, false, NULL);
- DO_TEST_UPDATE("graphics-spice-listen-network", "graphics-spice-listen-network-password", false, false,
+ DO_TEST_UPDATE("x86_64", "graphics-spice", "graphics-spice-listen", true, false, NULL);
+ DO_TEST_UPDATE("x86_64", "graphics-spice-listen-network", "graphics-spice-listen-network-password", false, false,
"set_password", QMP_OK, "expire_password", QMP_OK);
cfg->spiceTLS = false;
/* Strange huh? Currently, only graphics can be updated :-P */
- DO_TEST_UPDATE("disk-cdrom", "disk-cdrom-nochange", true, false, NULL);
+ DO_TEST_UPDATE("x86_64", "disk-cdrom", "disk-cdrom-nochange", true, false, NULL);
- DO_TEST_ATTACH("console-compat-2-live", "console-virtio", false, true,
+ DO_TEST_ATTACH("x86_64", "console-compat-2-live", "console-virtio", false, true,
"chardev-add", "{\"return\": {\"pty\": \"/dev/pts/26\"}}",
"device_add", QMP_OK);
- DO_TEST_DETACH("console-compat-2-live", "console-virtio", false, false,
+ DO_TEST_DETACH("x86_64", "console-compat-2-live", "console-virtio", false, false,
"device_del", QMP_DEVICE_DELETED("console1") QMP_OK,
"chardev-remove", QMP_OK, "query-fdsets", "{\"return\": []}");
- DO_TEST_ATTACH("base-live", "disk-virtio", false, true,
+ DO_TEST_ATTACH("x86_64", "base-live", "disk-virtio", false, true,
"blockdev-add", QMP_OK,
"blockdev-add", QMP_OK,
"device_add", QMP_OK);
- DO_TEST_DETACH("base-live", "disk-virtio", true, true,
+ DO_TEST_DETACH("x86_64", "base-live", "disk-virtio", true, true,
"device_del", QMP_OK);
- DO_TEST_DETACH("base-live", "disk-virtio", false, false,
+ DO_TEST_DETACH("x86_64", "base-live", "disk-virtio", false, false,
"device_del", QMP_DEVICE_DELETED("virtio-disk4") QMP_OK,
"blockdev-del", QMP_OK,
"blockdev-del", QMP_OK);
- DO_TEST_ATTACH("base-live", "disk-usb", false, true,
+ DO_TEST_ATTACH("x86_64", "base-live", "disk-usb", false, true,
"blockdev-add", QMP_OK,
"blockdev-add", QMP_OK,
"device_add", QMP_OK);
- DO_TEST_DETACH("base-live", "disk-usb", true, true,
+ DO_TEST_DETACH("x86_64", "base-live", "disk-usb", true, true,
"device_del", QMP_OK);
- DO_TEST_DETACH("base-live", "disk-usb", false, false,
+ DO_TEST_DETACH("x86_64", "base-live", "disk-usb", false, false,
"device_del", QMP_DEVICE_DELETED("usb-disk16") QMP_OK,
"blockdev-del", QMP_OK,
"blockdev-del", QMP_OK);
- DO_TEST_ATTACH("base-live", "disk-scsi", false, true,
+ DO_TEST_ATTACH("x86_64", "base-live", "disk-scsi", false, true,
"blockdev-add", QMP_OK,
"blockdev-add", QMP_OK,
"device_add", QMP_OK);
- DO_TEST_DETACH("base-live", "disk-scsi", true, true,
+ DO_TEST_DETACH("x86_64", "base-live", "disk-scsi", true, true,
"device_del", QMP_OK);
- DO_TEST_DETACH("base-live", "disk-scsi", false, false,
+ DO_TEST_DETACH("x86_64", "base-live", "disk-scsi", false, false,
"device_del", QMP_DEVICE_DELETED("scsi0-0-0-5") QMP_OK,
"blockdev-del", QMP_OK,
"blockdev-del", QMP_OK);
- DO_TEST_ATTACH("base-without-scsi-controller-live", "disk-scsi-2", false, true,
+ DO_TEST_ATTACH("x86_64", "base-without-scsi-controller-live", "disk-scsi-2", false, true,
/* Four controllers added */
"device_add", QMP_OK,
"device_add", QMP_OK,
"blockdev-add", QMP_OK,
"blockdev-add", QMP_OK,
"device_add", QMP_OK);
- DO_TEST_DETACH("base-with-scsi-controller-live", "disk-scsi-2", true, true,
+ DO_TEST_DETACH("x86_64", "base-with-scsi-controller-live", "disk-scsi-2", true, true,
"device_del", QMP_OK);
- DO_TEST_DETACH("base-with-scsi-controller-live", "disk-scsi-2", false, false,
+ DO_TEST_DETACH("x86_64", "base-with-scsi-controller-live", "disk-scsi-2", false, false,
"device_del", QMP_DEVICE_DELETED("scsi3-0-6") QMP_OK,
"blockdev-del", QMP_OK,
"blockdev-del", QMP_OK);
- DO_TEST_ATTACH("base-live", "disk-scsi-multipath", false, true,
+ DO_TEST_ATTACH("x86_64", "base-live", "disk-scsi-multipath", false, true,
"object-add", QMP_OK,
"blockdev-add", QMP_OK,
"blockdev-add", QMP_OK,
"device_add", QMP_OK);
- DO_TEST_DETACH("base-live", "disk-scsi-multipath", true, true,
+ DO_TEST_DETACH("x86_64", "base-live", "disk-scsi-multipath", true, true,
"device_del", QMP_OK);
- DO_TEST_DETACH("base-live", "disk-scsi-multipath", false, false,
+ DO_TEST_DETACH("x86_64", "base-live", "disk-scsi-multipath", false, false,
"device_del", QMP_DEVICE_DELETED("scsi0-0-0-0") QMP_OK,
"blockdev-del", QMP_OK,
"blockdev-del", QMP_OK,
"object-del", QMP_OK);
- DO_TEST_ATTACH("base-live", "qemu-agent", false, true,
+ DO_TEST_ATTACH("x86_64", "base-live", "qemu-agent", false, true,
"getfd", QMP_OK,
"chardev-add", QMP_OK,
"device_add", QMP_OK);
- DO_TEST_DETACH("base-live", "qemu-agent-detach", false, false,
+ DO_TEST_DETACH("x86_64", "base-live", "qemu-agent-detach", false, false,
"device_del", QMP_DEVICE_DELETED("channel0") QMP_OK,
"chardev-remove", QMP_OK, "query-fdsets", "{\"return\": []}");
- DO_TEST_ATTACH("base-ccw-live", "ccw-virtio", false, true,
+ DO_TEST_ATTACH("s390x", "base-ccw-live", "ccw-virtio", false, true,
"blockdev-add", QMP_OK,
"blockdev-add", QMP_OK,
"device_add", QMP_OK);
- DO_TEST_DETACH("base-ccw-live", "ccw-virtio", false, false,
+ DO_TEST_DETACH("s390x", "base-ccw-live", "ccw-virtio", false, false,
"device_del", QMP_DEVICE_DELETED("virtio-disk4") QMP_OK,
"blockdev-del", QMP_OK,
"blockdev-del", QMP_OK);
- DO_TEST_ATTACH("base-ccw-live-with-ccw-virtio", "ccw-virtio-2", false, true,
+ DO_TEST_ATTACH("s390x", "base-ccw-live-with-ccw-virtio", "ccw-virtio-2", false, true,
"blockdev-add", QMP_OK,
"blockdev-add", QMP_OK,
"device_add", QMP_OK);
- DO_TEST_DETACH("base-ccw-live-with-ccw-virtio", "ccw-virtio-2", false, false,
+ DO_TEST_DETACH("s390x", "base-ccw-live-with-ccw-virtio", "ccw-virtio-2", false, false,
"device_del", QMP_DEVICE_DELETED("virtio-disk0") QMP_OK,
"blockdev-del", QMP_OK,
"blockdev-del", QMP_OK);
- DO_TEST_ATTACH("base-ccw-live-with-ccw-virtio", "ccw-virtio-2-explicit", false, true,
+ DO_TEST_ATTACH("s390x", "base-ccw-live-with-ccw-virtio", "ccw-virtio-2-explicit", false, true,
"blockdev-add", QMP_OK,
"blockdev-add", QMP_OK,
"device_add", QMP_OK);
- DO_TEST_DETACH("base-ccw-live-with-ccw-virtio", "ccw-virtio-2-explicit", false, false,
+ DO_TEST_DETACH("s390x", "base-ccw-live-with-ccw-virtio", "ccw-virtio-2-explicit", false, false,
"device_del", QMP_DEVICE_DELETED("virtio-disk0") QMP_OK,
"blockdev-del", QMP_OK,
"blockdev-del", QMP_OK);
/* Attach a second device, then detach the first one. Then attach the first one again. */
- DO_TEST_ATTACH("base-ccw-live-with-ccw-virtio", "ccw-virtio-2-explicit", false, true,
+ DO_TEST_ATTACH("s390x", "base-ccw-live-with-ccw-virtio", "ccw-virtio-2-explicit", false, true,
"blockdev-add", QMP_OK,
"blockdev-add", QMP_OK,
"device_add", QMP_OK);
- DO_TEST_DETACH("base-ccw-live-with-2-ccw-virtio", "ccw-virtio-1-explicit", false, true,
+ DO_TEST_DETACH("s390x", "base-ccw-live-with-2-ccw-virtio", "ccw-virtio-1-explicit", false, true,
"device_del", QMP_DEVICE_DELETED("virtio-disk4") QMP_OK);
- DO_TEST_ATTACH("base-ccw-live-with-2-ccw-virtio", "ccw-virtio-1-reverse", false, false,
+ DO_TEST_ATTACH("s390x", "base-ccw-live-with-2-ccw-virtio", "ccw-virtio-1-reverse", false, false,
"blockdev-add", QMP_OK,
"blockdev-add", QMP_OK,
"device_add", QMP_OK);
- DO_TEST_ATTACH("base-live", "ivshmem-plain", false, true,
+ DO_TEST_ATTACH("x86_64", "base-live", "ivshmem-plain", false, true,
"object-add", QMP_OK,
"device_add", QMP_OK);
- DO_TEST_ATTACH("base-live", "ivshmem-doorbell", false, true,
+ DO_TEST_ATTACH("x86_64", "base-live", "ivshmem-doorbell", false, true,
"chardev-add", QMP_OK,
"device_add", QMP_OK);
- DO_TEST_DETACH("base-live+ivshmem-plain", "ivshmem-doorbell-detach", false, true,
+ DO_TEST_DETACH("x86_64", "base-live+ivshmem-plain", "ivshmem-doorbell-detach", false, true,
"device_del", QMP_DEVICE_DELETED("shmem1") QMP_OK,
"chardev-remove", QMP_OK);
- DO_TEST_DETACH("base-live", "ivshmem-plain-detach", false, false,
+ DO_TEST_DETACH("x86_64", "base-live", "ivshmem-plain-detach", false, false,
"device_del", QMP_DEVICE_DELETED("shmem0") QMP_OK,
"object-del", QMP_OK);
- DO_TEST_ATTACH("base-live+disk-scsi-wwn",
+ DO_TEST_ATTACH("x86_64", "base-live+disk-scsi-wwn",
"disk-scsi-duplicate-wwn", false, false,
"blockdev-add", QMP_OK,
"blockdev-add", QMP_OK,
"device_add", QMP_OK);
- DO_TEST_ATTACH("base-live", "hostdev-pci", false, true,
+ DO_TEST_ATTACH("x86_64", "base-live", "hostdev-pci", false, true,
"device_add", QMP_OK);
- DO_TEST_DETACH("base-live", "hostdev-pci", false, false,
+ DO_TEST_DETACH("x86_64", "base-live", "hostdev-pci", false, false,
"device_del", QMP_DEVICE_DELETED("hostdev0") QMP_OK);
- DO_TEST_ATTACH("pseries-base-live", "hostdev-pci", false, true,
+ DO_TEST_ATTACH("ppc64", "pseries-base-live", "hostdev-pci", false, true,
"device_add", QMP_OK);
- DO_TEST_DETACH("pseries-base-live", "hostdev-pci", false, false,
+ DO_TEST_DETACH("ppc64", "pseries-base-live", "hostdev-pci", false, false,
"device_del", QMP_DEVICE_DELETED("hostdev0") QMP_OK);
- DO_TEST_ATTACH("base-live", "interface-vdpa", false, true,
+ DO_TEST_ATTACH("x86_64", "base-live", "interface-vdpa", false, true,
"query-fdsets", "{\"return\":[{\"fdset-id\":99999}]}",
"add-fd", "{ \"return\": { \"fdset-id\": 1, \"fd\": 95 }}",
"netdev_add", QMP_OK, "device_add", QMP_OK);
- DO_TEST_DETACH("base-live", "interface-vdpa", false, false,
+ DO_TEST_DETACH("x86_64", "base-live", "interface-vdpa", false, false,
"device_del", QMP_DEVICE_DELETED("net0") QMP_OK,
"netdev_del", QMP_OK,
"query-fdsets",
"remove-fd", QMP_OK
);
- DO_TEST_ATTACH("base-live", "watchdog", false, true,
+ DO_TEST_ATTACH("x86_64", "base-live", "watchdog", false, true,
"set-action", QMP_OK,
"device_add", QMP_OK);
- DO_TEST_DETACH("base-live", "watchdog-full", false, false,
+ DO_TEST_DETACH("x86_64", "base-live", "watchdog-full", false, false,
"device_del", QMP_DEVICE_DELETED("watchdog0") QMP_OK);
- DO_TEST_ATTACH("base-live", "watchdog-user-alias", false, true,
+ DO_TEST_ATTACH("x86_64", "base-live", "watchdog-user-alias", false, true,
"set-action", QMP_OK,
"device_add", QMP_OK);
- DO_TEST_DETACH("base-live", "watchdog-user-alias-full", false, false,
+ DO_TEST_DETACH("x86_64", "base-live", "watchdog-user-alias-full", false, false,
"device_del", QMP_DEVICE_DELETED("ua-UserWatchdog") QMP_OK);
- DO_TEST_ATTACH("base-live", "guestfwd", false, true,
+ DO_TEST_ATTACH("x86_64", "base-live", "guestfwd", false, true,
"getfd", QMP_OK,
"chardev-add", QMP_OK,
"netdev_add", QMP_OK);
- DO_TEST_DETACH("base-live", "guestfwd", false, false,
+ DO_TEST_DETACH("x86_64", "base-live", "guestfwd", false, false,
"netdev_del", QMP_OK);
- DO_TEST_ATTACH("base-live", "cdrom-usb", false, true,
+ DO_TEST_ATTACH("x86_64", "base-live", "cdrom-usb", false, true,
"blockdev-add", QMP_OK,
"blockdev-add", QMP_OK,
"device_add", QMP_OK);
- DO_TEST_DETACH("base-live", "cdrom-usb", true, true,
+ DO_TEST_DETACH("x86_64", "base-live", "cdrom-usb", true, true,
"device_del", QMP_OK);
- DO_TEST_DETACH("base-live", "cdrom-usb", false, false,
+ DO_TEST_DETACH("x86_64", "base-live", "cdrom-usb", false, false,
"device_del", QMP_DEVICE_DELETED("usb-disk4") QMP_OK,
"blockdev-del", QMP_OK,
"blockdev-del", QMP_OK);
- DO_TEST_ATTACH("base-live", "cdrom-scsi", false, true,
+ DO_TEST_ATTACH("x86_64", "base-live", "cdrom-scsi", false, true,
"blockdev-add", QMP_OK,
"blockdev-add", QMP_OK,
"device_add", QMP_OK);
- DO_TEST_DETACH("base-live", "cdrom-scsi", true, true,
+ DO_TEST_DETACH("x86_64", "base-live", "cdrom-scsi", true, true,
"device_del", QMP_OK);
- DO_TEST_DETACH("base-live", "cdrom-scsi", false, false,
+ DO_TEST_DETACH("x86_64", "base-live", "cdrom-scsi", false, false,
"device_del", QMP_DEVICE_DELETED("scsi0-0-0-4") QMP_OK,
"blockdev-del", QMP_OK,
"blockdev-del", QMP_OK);
-#define DO_TEST_CPU_GROUP(prefix, vcpus, modernhp, expectfail) \
+#define DO_TEST_CPU_GROUP(archname, prefix, vcpus, modernhp, expectfail) \
do { \
cpudata.test = prefix; \
+ cpudata.arch = archname; \
cpudata.newcpus = vcpus; \
cpudata.modern = modernhp; \
cpudata.fail = expectfail; \
ret = -1; \
} while (0)
- DO_TEST_CPU_GROUP("x86-modern-bulk", 7, true, false);
- DO_TEST_CPU_GROUP("ppc64-modern-bulk", 24, true, false);
- DO_TEST_CPU_GROUP("ppc64-modern-bulk", 15, true, true);
- DO_TEST_CPU_GROUP("ppc64-modern-bulk", 23, true, true);
- DO_TEST_CPU_GROUP("ppc64-modern-bulk", 25, true, true);
+ DO_TEST_CPU_GROUP("x86_64", "x86-modern-bulk", 7, true, false);
+ DO_TEST_CPU_GROUP("ppc64", "ppc64-modern-bulk", 24, true, false);
+ DO_TEST_CPU_GROUP("ppc64", "ppc64-modern-bulk", 15, true, true);
+ DO_TEST_CPU_GROUP("ppc64", "ppc64-modern-bulk", 23, true, true);
+ DO_TEST_CPU_GROUP("ppc64", "ppc64-modern-bulk", 25, true, true);
-#define DO_TEST_CPU_INDIVIDUAL(prefix, mapstr, statefl, modernhp, expectfail) \
+#define DO_TEST_CPU_INDIVIDUAL(archname, prefix, mapstr, statefl, modernhp, expectfail) \
do { \
cpudata.test = prefix; \
+ cpudata.arch = archname; \
cpudata.cpumap = mapstr; \
cpudata.state = statefl; \
cpudata.modern = modernhp; \
ret = -1; \
} while (0)
- DO_TEST_CPU_INDIVIDUAL("x86-modern-individual-add", "7", true, true, false);
- DO_TEST_CPU_INDIVIDUAL("x86-modern-individual-add", "6,7", true, true, true);
- DO_TEST_CPU_INDIVIDUAL("x86-modern-individual-add", "7", false, true, true);
+ DO_TEST_CPU_INDIVIDUAL("x86_64", "x86-modern-individual-add", "7", true, true, false);
+ DO_TEST_CPU_INDIVIDUAL("x86_64", "x86-modern-individual-add", "6,7", true, true, true);
+ DO_TEST_CPU_INDIVIDUAL("x86_64", "x86-modern-individual-add", "7", false, true, true);
- DO_TEST_CPU_INDIVIDUAL("ppc64-modern-individual", "16-23", true, true, false);
- DO_TEST_CPU_INDIVIDUAL("ppc64-modern-individual", "16-22", true, true, true);
- DO_TEST_CPU_INDIVIDUAL("ppc64-modern-individual", "17", true, true, true);
+ DO_TEST_CPU_INDIVIDUAL("ppc64", "ppc64-modern-individual", "16-23", true, true, false);
+ DO_TEST_CPU_INDIVIDUAL("ppc64", "ppc64-modern-individual", "16-22", true, true, true);
+ DO_TEST_CPU_INDIVIDUAL("ppc64", "ppc64-modern-individual", "17", true, true, true);
qemuTestDriverFree(&driver);
virObjectUnref(data.vm);