This needs to be squashed into the previous patch but is provided
separately for easier review.
---
Notes:
Version 2:
- rebased to current master
src/qemu/qemu_capabilities.c | 14 +
src/qemu/qemu_capabilities.h | 2 +
tests/qemuhelptest.c | 729 +++++++++++++++++++++---------------------
tests/qemuxml2argvtest.c | 470 ++++++++++++++--------------
4 files changed, 619 insertions(+), 596 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 873360a..477924d 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -39,6 +39,7 @@
#include <unistd.h>
#include <sys/wait.h>
#include <sys/utsname.h>
+#include <stdarg.h>
#define VIR_FROM_THIS VIR_FROM_QEMU
@@ -1261,6 +1262,19 @@ qemuCapsSet(virBitmapPtr caps,
void
+qemuCapsSetList(virBitmapPtr caps, ...)
+{
+ va_list list;
+ int flag;
+
+ va_start(list, caps);
+ while ((flag = va_arg(list, int)) < QEMU_CAPS_LAST)
+ ignore_value(virBitmapSetBit(caps, flag));
+ va_end(list);
+}
+
+
+void
qemuCapsClear(virBitmapPtr caps,
enum qemuCapsFlags flag)
{
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index b506e56..34f432f 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -105,6 +105,8 @@ virBitmapPtr qemuCapsNew(void);
void qemuCapsSet(virBitmapPtr caps,
enum qemuCapsFlags flag) ATTRIBUTE_NONNULL(1);
+void qemuCapsSetList(virBitmapPtr caps, ...) ATTRIBUTE_NONNULL(1);
+
void qemuCapsClear(virBitmapPtr caps,
enum qemuCapsFlags flag) ATTRIBUTE_NONNULL(1);
diff --git a/tests/qemuhelptest.c b/tests/qemuhelptest.c
index 75ecf58..335364f 100644
--- a/tests/qemuhelptest.c
+++ b/tests/qemuhelptest.c
@@ -13,7 +13,7 @@
struct testInfo {
const char *name;
- unsigned long long flags;
+ virBitmapPtr flags;
unsigned int version;
unsigned int is_kvm;
unsigned int kvm_version;
@@ -22,14 +22,14 @@ struct testInfo {
static char *progname;
static char *abs_srcdir;
-static void printMismatchedFlags(unsigned long long got,
- unsigned long long expect)
+static void printMismatchedFlags(virBitmapPtr got,
+ virBitmapPtr expect)
{
int i;
- for (i = 0 ; i < (sizeof(got)*CHAR_BIT) ; i++) {
- unsigned long long gotFlag = (got & (1LL << i));
- unsigned long long expectFlag = (expect & (1LL << i));
+ for (i = 0 ; i < QEMU_CAPS_LAST ; i++) {
+ bool gotFlag = qemuCapsGet(got, i);
+ bool expectFlag = qemuCapsGet(expect, i);
if (gotFlag && !expectFlag)
fprintf(stderr, "Extra flag %i\n", i);
if (!gotFlag && expectFlag)
@@ -44,8 +44,10 @@ static int testHelpStrParsing(const void *data)
char helpStr[MAX_HELP_OUTPUT_SIZE];
char *help = &(helpStr[0]);
unsigned int version, is_kvm, kvm_version;
- unsigned long long flags;
+ virBitmapPtr flags = NULL;
int ret = -1;
+ char *got = NULL;
+ char *expected = NULL;
if (virAsprintf(&path, "%s/qemuhelpdata/%s", abs_srcdir, info->name)
< 0)
return -1;
@@ -53,7 +55,10 @@ static int testHelpStrParsing(const void *data)
if (virtTestLoadFile(path, &help, MAX_HELP_OUTPUT_SIZE) < 0)
goto cleanup;
- if (qemuCapsParseHelpStr("QEMU", help, &flags,
+ if (!(flags = qemuCapsNew()))
+ goto cleanup;
+
+ if (qemuCapsParseHelpStr("QEMU", help, flags,
&version, &is_kvm, &kvm_version) == -1)
goto cleanup;
@@ -66,14 +71,19 @@ static int testHelpStrParsing(const void *data)
if (virtTestLoadFile(path, &help, MAX_HELP_OUTPUT_SIZE) < 0)
goto cleanup;
- if (qemuCapsParseDeviceStr(help, &flags) < 0)
+ if (qemuCapsParseDeviceStr(help, flags) < 0)
goto cleanup;
}
- if (flags != info->flags) {
+ got = virBitmapString(flags);
+ expected = virBitmapString(info->flags);
+ if (!got || !expected)
+ goto cleanup;
+
+ if (STRNEQ(got, expected)) {
fprintf(stderr,
- "Computed flags do not match: got 0x%llx, expected 0x%llx\n",
- flags, info->flags);
+ "Computed flags do not match: got %s, expected %s\n",
+ got, expected);
if (getenv("VIR_TEST_DEBUG"))
printMismatchedFlags(flags, info->flags);
@@ -104,6 +114,9 @@ static int testHelpStrParsing(const void *data)
ret = 0;
cleanup:
VIR_FREE(path);
+ qemuCapsFree(flags);
+ VIR_FREE(got);
+ VIR_FREE(expected);
return ret;
}
@@ -124,365 +137,359 @@ mymain(int argc, char **argv)
if (!abs_srcdir)
abs_srcdir = getcwd(cwd, sizeof(cwd));
-# define DO_TEST(name, flags, version, is_kvm, kvm_version) \
- do { \
- const struct testInfo info = { name, flags, version, is_kvm, kvm_version }; \
- if (virtTestRun("QEMU Help String Parsing " name,
\
- 1, testHelpStrParsing, &info) < 0)
\
- ret = -1; \
+# define DO_TEST(name, version, is_kvm, kvm_version, ...) \
+ do { \
+ struct testInfo info = { \
+ name, NULL, version, is_kvm, kvm_version \
+ }; \
+ if (!(info.flags = qemuCapsNew())) \
+ return EXIT_FAILURE; \
+ qemuCapsSetList(info.flags, __VA_ARGS__, QEMU_CAPS_LAST); \
+ if (virtTestRun("QEMU Help String Parsing " name, \
+ 1, testHelpStrParsing, &info) < 0) \
+ ret = -1; \
+ qemuCapsFree(info.flags); \
} while (0)
- DO_TEST("qemu-0.9.1",
- QEMU_CAPS_KQEMU |
- QEMU_CAPS_VNC_COLON |
- QEMU_CAPS_NO_REBOOT |
- QEMU_CAPS_DRIVE |
+ DO_TEST("qemu-0.9.1", 9001, 0, 0,
+ QEMU_CAPS_KQEMU,
+ QEMU_CAPS_VNC_COLON,
+ QEMU_CAPS_NO_REBOOT,
+ QEMU_CAPS_DRIVE,
+ QEMU_CAPS_NAME);
+ DO_TEST("kvm-74", 9001, 1, 74,
+ QEMU_CAPS_VNC_COLON,
+ QEMU_CAPS_NO_REBOOT,
+ QEMU_CAPS_DRIVE,
+ QEMU_CAPS_DRIVE_BOOT,
QEMU_CAPS_NAME,
- 9001, 0, 0);
- DO_TEST("kvm-74",
- QEMU_CAPS_VNC_COLON |
- QEMU_CAPS_NO_REBOOT |
- QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_BOOT |
- QEMU_CAPS_NAME |
- QEMU_CAPS_VNET_HDR |
- QEMU_CAPS_MIGRATE_KVM_STDIO |
- QEMU_CAPS_KVM |
- QEMU_CAPS_DRIVE_FORMAT |
- QEMU_CAPS_MEM_PATH |
+ QEMU_CAPS_VNET_HDR,
+ QEMU_CAPS_MIGRATE_KVM_STDIO,
+ QEMU_CAPS_KVM,
+ QEMU_CAPS_DRIVE_FORMAT,
+ QEMU_CAPS_MEM_PATH,
+ QEMU_CAPS_TDF);
+ DO_TEST("kvm-83-rhel56", 9001, 1, 83,
+ QEMU_CAPS_VNC_COLON,
+ QEMU_CAPS_NO_REBOOT,
+ QEMU_CAPS_DRIVE,
+ QEMU_CAPS_DRIVE_BOOT,
+ QEMU_CAPS_NAME,
+ QEMU_CAPS_UUID,
+ QEMU_CAPS_VNET_HDR,
+ QEMU_CAPS_MIGRATE_QEMU_TCP,
+ QEMU_CAPS_MIGRATE_QEMU_EXEC,
+ QEMU_CAPS_DRIVE_CACHE_V2,
+ QEMU_CAPS_KVM,
+ QEMU_CAPS_DRIVE_FORMAT,
+ QEMU_CAPS_DRIVE_SERIAL,
+ QEMU_CAPS_VGA,
+ QEMU_CAPS_PCIDEVICE,
+ QEMU_CAPS_MEM_PATH,
+ QEMU_CAPS_BALLOON,
+ QEMU_CAPS_RTC_TD_HACK,
+ QEMU_CAPS_NO_HPET,
+ QEMU_CAPS_NO_KVM_PIT,
QEMU_CAPS_TDF,
- 9001, 1, 74);
- DO_TEST("kvm-83-rhel56",
- QEMU_CAPS_VNC_COLON |
- QEMU_CAPS_NO_REBOOT |
- QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_BOOT |
- QEMU_CAPS_NAME |
- QEMU_CAPS_UUID |
- QEMU_CAPS_VNET_HDR |
- QEMU_CAPS_MIGRATE_QEMU_TCP |
- QEMU_CAPS_MIGRATE_QEMU_EXEC |
- QEMU_CAPS_DRIVE_CACHE_V2 |
- QEMU_CAPS_KVM |
- QEMU_CAPS_DRIVE_FORMAT |
- QEMU_CAPS_DRIVE_SERIAL |
- QEMU_CAPS_VGA |
- QEMU_CAPS_PCIDEVICE |
- QEMU_CAPS_MEM_PATH |
- QEMU_CAPS_BALLOON |
- QEMU_CAPS_RTC_TD_HACK |
- QEMU_CAPS_NO_HPET |
- QEMU_CAPS_NO_KVM_PIT |
- QEMU_CAPS_TDF |
- QEMU_CAPS_DRIVE_READONLY |
- QEMU_CAPS_SMBIOS_TYPE |
- QEMU_CAPS_SPICE,
- 9001, 1, 83);
- DO_TEST("qemu-0.10.5",
- QEMU_CAPS_KQEMU |
- QEMU_CAPS_VNC_COLON |
- QEMU_CAPS_NO_REBOOT |
- QEMU_CAPS_DRIVE |
- QEMU_CAPS_NAME |
- QEMU_CAPS_UUID |
- QEMU_CAPS_MIGRATE_QEMU_TCP |
- QEMU_CAPS_MIGRATE_QEMU_EXEC |
- QEMU_CAPS_DRIVE_CACHE_V2 |
- QEMU_CAPS_DRIVE_FORMAT |
- QEMU_CAPS_DRIVE_SERIAL |
- QEMU_CAPS_VGA |
- QEMU_CAPS_0_10 |
- QEMU_CAPS_ENABLE_KVM |
- QEMU_CAPS_SDL |
- QEMU_CAPS_RTC_TD_HACK |
- QEMU_CAPS_NO_HPET |
+ QEMU_CAPS_DRIVE_READONLY,
+ QEMU_CAPS_SMBIOS_TYPE,
+ QEMU_CAPS_SPICE);
+ DO_TEST("qemu-0.10.5", 10005, 0, 0,
+ QEMU_CAPS_KQEMU,
+ QEMU_CAPS_VNC_COLON,
+ QEMU_CAPS_NO_REBOOT,
+ QEMU_CAPS_DRIVE,
+ QEMU_CAPS_NAME,
+ QEMU_CAPS_UUID,
+ QEMU_CAPS_MIGRATE_QEMU_TCP,
+ QEMU_CAPS_MIGRATE_QEMU_EXEC,
+ QEMU_CAPS_DRIVE_CACHE_V2,
+ QEMU_CAPS_DRIVE_FORMAT,
+ QEMU_CAPS_DRIVE_SERIAL,
+ QEMU_CAPS_VGA,
+ QEMU_CAPS_0_10,
+ QEMU_CAPS_ENABLE_KVM,
+ QEMU_CAPS_SDL,
+ QEMU_CAPS_RTC_TD_HACK,
+ QEMU_CAPS_NO_HPET,
+ QEMU_CAPS_VGA_NONE);
+ DO_TEST("qemu-kvm-0.10.5", 10005, 1, 0,
+ QEMU_CAPS_VNC_COLON,
+ QEMU_CAPS_NO_REBOOT,
+ QEMU_CAPS_DRIVE,
+ QEMU_CAPS_DRIVE_BOOT,
+ QEMU_CAPS_NAME,
+ QEMU_CAPS_UUID,
+ QEMU_CAPS_VNET_HDR,
+ QEMU_CAPS_MIGRATE_QEMU_TCP,
+ QEMU_CAPS_MIGRATE_QEMU_EXEC,
+ QEMU_CAPS_DRIVE_CACHE_V2,
+ QEMU_CAPS_KVM,
+ QEMU_CAPS_DRIVE_FORMAT,
+ QEMU_CAPS_DRIVE_SERIAL,
+ QEMU_CAPS_VGA,
+ QEMU_CAPS_0_10,
+ QEMU_CAPS_PCIDEVICE,
+ QEMU_CAPS_MEM_PATH,
+ QEMU_CAPS_SDL,
+ QEMU_CAPS_RTC_TD_HACK,
+ QEMU_CAPS_NO_HPET,
+ QEMU_CAPS_NO_KVM_PIT,
+ QEMU_CAPS_TDF,
+ QEMU_CAPS_NESTING,
+ QEMU_CAPS_VGA_NONE);
+ DO_TEST("kvm-86", 10050, 1, 0,
+ QEMU_CAPS_VNC_COLON,
+ QEMU_CAPS_NO_REBOOT,
+ QEMU_CAPS_DRIVE,
+ QEMU_CAPS_DRIVE_BOOT,
+ QEMU_CAPS_NAME,
+ QEMU_CAPS_UUID,
+ QEMU_CAPS_VNET_HDR,
+ QEMU_CAPS_MIGRATE_QEMU_TCP,
+ QEMU_CAPS_MIGRATE_QEMU_EXEC,
+ QEMU_CAPS_DRIVE_CACHE_V2,
+ QEMU_CAPS_KVM,
+ QEMU_CAPS_DRIVE_FORMAT,
+ QEMU_CAPS_DRIVE_SERIAL,
+ QEMU_CAPS_VGA,
+ QEMU_CAPS_0_10,
+ QEMU_CAPS_PCIDEVICE,
+ QEMU_CAPS_SDL,
+ QEMU_CAPS_RTC_TD_HACK,
+ QEMU_CAPS_NO_HPET,
+ QEMU_CAPS_NO_KVM_PIT,
+ QEMU_CAPS_TDF,
+ QEMU_CAPS_NESTING,
+ QEMU_CAPS_SMBIOS_TYPE,
+ QEMU_CAPS_VGA_NONE);
+ DO_TEST("qemu-kvm-0.11.0-rc2", 10092, 1, 0,
+ QEMU_CAPS_VNC_COLON,
+ QEMU_CAPS_NO_REBOOT,
+ QEMU_CAPS_DRIVE,
+ QEMU_CAPS_DRIVE_BOOT,
+ QEMU_CAPS_NAME,
+ QEMU_CAPS_UUID,
+ QEMU_CAPS_VNET_HDR,
+ QEMU_CAPS_MIGRATE_QEMU_TCP,
+ QEMU_CAPS_MIGRATE_QEMU_EXEC,
+ QEMU_CAPS_DRIVE_CACHE_V2,
+ QEMU_CAPS_KVM,
+ QEMU_CAPS_DRIVE_FORMAT,
+ QEMU_CAPS_DRIVE_SERIAL,
+ QEMU_CAPS_VGA,
+ QEMU_CAPS_0_10,
+ QEMU_CAPS_PCIDEVICE,
+ QEMU_CAPS_MEM_PATH,
+ QEMU_CAPS_ENABLE_KVM,
+ QEMU_CAPS_BALLOON,
+ QEMU_CAPS_SDL,
+ QEMU_CAPS_RTC_TD_HACK,
+ QEMU_CAPS_NO_HPET,
+ QEMU_CAPS_NO_KVM_PIT,
+ QEMU_CAPS_TDF,
+ QEMU_CAPS_BOOT_MENU,
+ QEMU_CAPS_NESTING,
+ QEMU_CAPS_NAME_PROCESS,
+ QEMU_CAPS_SMBIOS_TYPE,
+ QEMU_CAPS_VGA_NONE);
+ DO_TEST("qemu-0.12.1", 12001, 0, 0,
+ QEMU_CAPS_VNC_COLON,
+ QEMU_CAPS_NO_REBOOT,
+ QEMU_CAPS_DRIVE,
+ QEMU_CAPS_NAME,
+ QEMU_CAPS_UUID,
+ QEMU_CAPS_MIGRATE_QEMU_TCP,
+ QEMU_CAPS_MIGRATE_QEMU_EXEC,
+ QEMU_CAPS_DRIVE_CACHE_V2,
+ QEMU_CAPS_DRIVE_FORMAT,
+ QEMU_CAPS_DRIVE_SERIAL,
+ QEMU_CAPS_DRIVE_READONLY,
+ QEMU_CAPS_VGA,
+ QEMU_CAPS_0_10,
+ QEMU_CAPS_ENABLE_KVM,
+ QEMU_CAPS_SDL,
+ QEMU_CAPS_XEN_DOMID,
+ QEMU_CAPS_MIGRATE_QEMU_UNIX,
+ QEMU_CAPS_CHARDEV,
+ QEMU_CAPS_BALLOON,
+ QEMU_CAPS_DEVICE,
+ QEMU_CAPS_SMP_TOPOLOGY,
+ QEMU_CAPS_RTC,
+ QEMU_CAPS_NO_HPET,
+ QEMU_CAPS_BOOT_MENU,
+ QEMU_CAPS_NAME_PROCESS,
+ QEMU_CAPS_SMBIOS_TYPE,
QEMU_CAPS_VGA_NONE,
- 10005, 0, 0);
- DO_TEST("qemu-kvm-0.10.5",
- QEMU_CAPS_VNC_COLON |
- QEMU_CAPS_NO_REBOOT |
- QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_BOOT |
- QEMU_CAPS_NAME |
- QEMU_CAPS_UUID |
- QEMU_CAPS_VNET_HDR |
- QEMU_CAPS_MIGRATE_QEMU_TCP |
- QEMU_CAPS_MIGRATE_QEMU_EXEC |
- QEMU_CAPS_DRIVE_CACHE_V2 |
- QEMU_CAPS_KVM |
- QEMU_CAPS_DRIVE_FORMAT |
- QEMU_CAPS_DRIVE_SERIAL |
- QEMU_CAPS_VGA |
- QEMU_CAPS_0_10 |
- QEMU_CAPS_PCIDEVICE |
- QEMU_CAPS_MEM_PATH |
- QEMU_CAPS_SDL |
- QEMU_CAPS_RTC_TD_HACK |
- QEMU_CAPS_NO_HPET |
- QEMU_CAPS_NO_KVM_PIT |
- QEMU_CAPS_TDF |
- QEMU_CAPS_NESTING |
+ QEMU_CAPS_MIGRATE_QEMU_FD,
+ QEMU_CAPS_DRIVE_AIO);
+ DO_TEST("qemu-kvm-0.12.1.2-rhel60", 12001, 1, 0,
+ QEMU_CAPS_VNC_COLON,
+ QEMU_CAPS_NO_REBOOT,
+ QEMU_CAPS_DRIVE,
+ QEMU_CAPS_DRIVE_BOOT,
+ QEMU_CAPS_NAME,
+ QEMU_CAPS_UUID,
+ QEMU_CAPS_VNET_HDR,
+ QEMU_CAPS_MIGRATE_QEMU_TCP,
+ QEMU_CAPS_MIGRATE_QEMU_EXEC,
+ QEMU_CAPS_DRIVE_CACHE_V2,
+ QEMU_CAPS_KVM,
+ QEMU_CAPS_DRIVE_FORMAT,
+ QEMU_CAPS_DRIVE_SERIAL,
+ QEMU_CAPS_DRIVE_READONLY,
+ QEMU_CAPS_VGA,
+ QEMU_CAPS_0_10,
+ QEMU_CAPS_PCIDEVICE,
+ QEMU_CAPS_MEM_PATH,
+ QEMU_CAPS_MIGRATE_QEMU_UNIX,
+ QEMU_CAPS_CHARDEV,
+ QEMU_CAPS_ENABLE_KVM,
+ QEMU_CAPS_BALLOON,
+ QEMU_CAPS_DEVICE,
+ QEMU_CAPS_SMP_TOPOLOGY,
+ QEMU_CAPS_RTC,
+ QEMU_CAPS_VNET_HOST,
+ QEMU_CAPS_NO_KVM_PIT,
+ QEMU_CAPS_TDF,
+ QEMU_CAPS_PCI_CONFIGFD,
+ QEMU_CAPS_NODEFCONFIG,
+ QEMU_CAPS_BOOT_MENU,
+ QEMU_CAPS_NESTING,
+ QEMU_CAPS_NAME_PROCESS,
+ QEMU_CAPS_SMBIOS_TYPE,
+ QEMU_CAPS_VGA_QXL,
+ QEMU_CAPS_SPICE,
QEMU_CAPS_VGA_NONE,
- 10005, 1, 0);
- DO_TEST("kvm-86",
- QEMU_CAPS_VNC_COLON |
- QEMU_CAPS_NO_REBOOT |
- QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_BOOT |
- QEMU_CAPS_NAME |
- QEMU_CAPS_UUID |
- QEMU_CAPS_VNET_HDR |
- QEMU_CAPS_MIGRATE_QEMU_TCP |
- QEMU_CAPS_MIGRATE_QEMU_EXEC |
- QEMU_CAPS_DRIVE_CACHE_V2 |
- QEMU_CAPS_KVM |
- QEMU_CAPS_DRIVE_FORMAT |
- QEMU_CAPS_DRIVE_SERIAL |
- QEMU_CAPS_VGA |
- QEMU_CAPS_0_10 |
- QEMU_CAPS_PCIDEVICE |
- QEMU_CAPS_SDL |
- QEMU_CAPS_RTC_TD_HACK |
- QEMU_CAPS_NO_HPET |
- QEMU_CAPS_NO_KVM_PIT |
- QEMU_CAPS_TDF |
- QEMU_CAPS_NESTING |
- QEMU_CAPS_SMBIOS_TYPE |
+ QEMU_CAPS_MIGRATE_QEMU_FD,
+ QEMU_CAPS_DRIVE_AIO,
+ QEMU_CAPS_DEVICE_SPICEVMC);
+ DO_TEST("qemu-kvm-0.12.3", 12003, 1, 0,
+ QEMU_CAPS_VNC_COLON,
+ QEMU_CAPS_NO_REBOOT,
+ QEMU_CAPS_DRIVE,
+ QEMU_CAPS_DRIVE_BOOT,
+ QEMU_CAPS_NAME,
+ QEMU_CAPS_UUID,
+ QEMU_CAPS_VNET_HDR,
+ QEMU_CAPS_MIGRATE_QEMU_TCP,
+ QEMU_CAPS_MIGRATE_QEMU_EXEC,
+ QEMU_CAPS_DRIVE_CACHE_V2,
+ QEMU_CAPS_KVM,
+ QEMU_CAPS_DRIVE_FORMAT,
+ QEMU_CAPS_DRIVE_SERIAL,
+ QEMU_CAPS_DRIVE_READONLY,
+ QEMU_CAPS_VGA,
+ QEMU_CAPS_0_10,
+ QEMU_CAPS_PCIDEVICE,
+ QEMU_CAPS_MEM_PATH,
+ QEMU_CAPS_SDL,
+ QEMU_CAPS_MIGRATE_QEMU_UNIX,
+ QEMU_CAPS_CHARDEV,
+ QEMU_CAPS_BALLOON,
+ QEMU_CAPS_DEVICE,
+ QEMU_CAPS_SMP_TOPOLOGY,
+ QEMU_CAPS_RTC,
+ QEMU_CAPS_VNET_HOST,
+ QEMU_CAPS_NO_HPET,
+ QEMU_CAPS_NO_KVM_PIT,
+ QEMU_CAPS_TDF,
+ QEMU_CAPS_BOOT_MENU,
+ QEMU_CAPS_NESTING,
+ QEMU_CAPS_NAME_PROCESS,
+ QEMU_CAPS_SMBIOS_TYPE,
QEMU_CAPS_VGA_NONE,
- 10050, 1, 0);
- DO_TEST("qemu-kvm-0.11.0-rc2",
- QEMU_CAPS_VNC_COLON |
- QEMU_CAPS_NO_REBOOT |
- QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_BOOT |
- QEMU_CAPS_NAME |
- QEMU_CAPS_UUID |
- QEMU_CAPS_VNET_HDR |
- QEMU_CAPS_MIGRATE_QEMU_TCP |
- QEMU_CAPS_MIGRATE_QEMU_EXEC |
- QEMU_CAPS_DRIVE_CACHE_V2 |
- QEMU_CAPS_KVM |
- QEMU_CAPS_DRIVE_FORMAT |
- QEMU_CAPS_DRIVE_SERIAL |
- QEMU_CAPS_VGA |
- QEMU_CAPS_0_10 |
- QEMU_CAPS_PCIDEVICE |
- QEMU_CAPS_MEM_PATH |
- QEMU_CAPS_ENABLE_KVM |
- QEMU_CAPS_BALLOON |
- QEMU_CAPS_SDL |
- QEMU_CAPS_RTC_TD_HACK |
- QEMU_CAPS_NO_HPET |
- QEMU_CAPS_NO_KVM_PIT |
- QEMU_CAPS_TDF |
- QEMU_CAPS_BOOT_MENU |
- QEMU_CAPS_NESTING |
- QEMU_CAPS_NAME_PROCESS |
- QEMU_CAPS_SMBIOS_TYPE |
+ QEMU_CAPS_MIGRATE_QEMU_FD,
+ QEMU_CAPS_DRIVE_AIO);
+ DO_TEST("qemu-kvm-0.13.0", 13000, 1, 0,
+ QEMU_CAPS_VNC_COLON,
+ QEMU_CAPS_NO_REBOOT,
+ QEMU_CAPS_DRIVE,
+ QEMU_CAPS_DRIVE_BOOT,
+ QEMU_CAPS_NAME,
+ QEMU_CAPS_UUID,
+ QEMU_CAPS_VNET_HDR,
+ QEMU_CAPS_MIGRATE_QEMU_TCP,
+ QEMU_CAPS_MIGRATE_QEMU_EXEC,
+ QEMU_CAPS_DRIVE_CACHE_V2,
+ QEMU_CAPS_KVM,
+ QEMU_CAPS_DRIVE_FORMAT,
+ QEMU_CAPS_DRIVE_SERIAL,
+ QEMU_CAPS_XEN_DOMID,
+ QEMU_CAPS_DRIVE_READONLY,
+ QEMU_CAPS_VGA,
+ QEMU_CAPS_0_10,
+ QEMU_CAPS_PCIDEVICE,
+ QEMU_CAPS_MEM_PATH,
+ QEMU_CAPS_SDL,
+ QEMU_CAPS_MIGRATE_QEMU_UNIX,
+ QEMU_CAPS_CHARDEV,
+ QEMU_CAPS_ENABLE_KVM,
+ QEMU_CAPS_MONITOR_JSON,
+ QEMU_CAPS_BALLOON,
+ QEMU_CAPS_DEVICE,
+ QEMU_CAPS_SMP_TOPOLOGY,
+ QEMU_CAPS_NETDEV,
+ QEMU_CAPS_RTC,
+ QEMU_CAPS_VNET_HOST,
+ QEMU_CAPS_NO_HPET,
+ QEMU_CAPS_NO_KVM_PIT,
+ QEMU_CAPS_TDF,
+ QEMU_CAPS_PCI_CONFIGFD,
+ QEMU_CAPS_NODEFCONFIG,
+ QEMU_CAPS_BOOT_MENU,
+ QEMU_CAPS_FSDEV,
+ QEMU_CAPS_NESTING,
+ QEMU_CAPS_NAME_PROCESS,
+ QEMU_CAPS_SMBIOS_TYPE,
+ QEMU_CAPS_SPICE,
QEMU_CAPS_VGA_NONE,
- 10092, 1, 0);
- DO_TEST("qemu-0.12.1",
- QEMU_CAPS_VNC_COLON |
- QEMU_CAPS_NO_REBOOT |
- QEMU_CAPS_DRIVE |
- QEMU_CAPS_NAME |
- QEMU_CAPS_UUID |
- QEMU_CAPS_MIGRATE_QEMU_TCP |
- QEMU_CAPS_MIGRATE_QEMU_EXEC |
- QEMU_CAPS_DRIVE_CACHE_V2 |
- QEMU_CAPS_DRIVE_FORMAT |
- QEMU_CAPS_DRIVE_SERIAL |
- QEMU_CAPS_DRIVE_READONLY |
- QEMU_CAPS_VGA |
- QEMU_CAPS_0_10 |
- QEMU_CAPS_ENABLE_KVM |
- QEMU_CAPS_SDL |
- QEMU_CAPS_XEN_DOMID |
- QEMU_CAPS_MIGRATE_QEMU_UNIX |
- QEMU_CAPS_CHARDEV |
- QEMU_CAPS_BALLOON |
- QEMU_CAPS_DEVICE |
- QEMU_CAPS_SMP_TOPOLOGY |
- QEMU_CAPS_RTC |
- QEMU_CAPS_NO_HPET |
- QEMU_CAPS_BOOT_MENU |
- QEMU_CAPS_NAME_PROCESS |
- QEMU_CAPS_SMBIOS_TYPE |
- QEMU_CAPS_VGA_NONE |
- QEMU_CAPS_MIGRATE_QEMU_FD |
+ QEMU_CAPS_MIGRATE_QEMU_FD,
QEMU_CAPS_DRIVE_AIO,
- 12001, 0, 0);
- DO_TEST("qemu-kvm-0.12.1.2-rhel60",
- QEMU_CAPS_VNC_COLON |
- QEMU_CAPS_NO_REBOOT |
- QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_BOOT |
- QEMU_CAPS_NAME |
- QEMU_CAPS_UUID |
- QEMU_CAPS_VNET_HDR |
- QEMU_CAPS_MIGRATE_QEMU_TCP |
- QEMU_CAPS_MIGRATE_QEMU_EXEC |
- QEMU_CAPS_DRIVE_CACHE_V2 |
- QEMU_CAPS_KVM |
- QEMU_CAPS_DRIVE_FORMAT |
- QEMU_CAPS_DRIVE_SERIAL |
- QEMU_CAPS_DRIVE_READONLY |
- QEMU_CAPS_VGA |
- QEMU_CAPS_0_10 |
- QEMU_CAPS_PCIDEVICE |
- QEMU_CAPS_MEM_PATH |
- QEMU_CAPS_MIGRATE_QEMU_UNIX |
- QEMU_CAPS_CHARDEV |
- QEMU_CAPS_ENABLE_KVM |
- QEMU_CAPS_BALLOON |
- QEMU_CAPS_DEVICE |
- QEMU_CAPS_SMP_TOPOLOGY |
- QEMU_CAPS_RTC |
- QEMU_CAPS_VNET_HOST |
- QEMU_CAPS_NO_KVM_PIT |
- QEMU_CAPS_TDF |
- QEMU_CAPS_PCI_CONFIGFD |
- QEMU_CAPS_NODEFCONFIG |
- QEMU_CAPS_BOOT_MENU |
- QEMU_CAPS_NESTING |
- QEMU_CAPS_NAME_PROCESS |
- QEMU_CAPS_SMBIOS_TYPE |
- QEMU_CAPS_VGA_QXL |
- QEMU_CAPS_SPICE |
- QEMU_CAPS_VGA_NONE |
- QEMU_CAPS_MIGRATE_QEMU_FD |
- QEMU_CAPS_DRIVE_AIO |
- QEMU_CAPS_DEVICE_SPICEVMC,
- 12001, 1, 0);
- DO_TEST("qemu-kvm-0.12.3",
- QEMU_CAPS_VNC_COLON |
- QEMU_CAPS_NO_REBOOT |
- QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_BOOT |
- QEMU_CAPS_NAME |
- QEMU_CAPS_UUID |
- QEMU_CAPS_VNET_HDR |
- QEMU_CAPS_MIGRATE_QEMU_TCP |
- QEMU_CAPS_MIGRATE_QEMU_EXEC |
- QEMU_CAPS_DRIVE_CACHE_V2 |
- QEMU_CAPS_KVM |
- QEMU_CAPS_DRIVE_FORMAT |
- QEMU_CAPS_DRIVE_SERIAL |
- QEMU_CAPS_DRIVE_READONLY |
- QEMU_CAPS_VGA |
- QEMU_CAPS_0_10 |
- QEMU_CAPS_PCIDEVICE |
- QEMU_CAPS_MEM_PATH |
- QEMU_CAPS_SDL |
- QEMU_CAPS_MIGRATE_QEMU_UNIX |
- QEMU_CAPS_CHARDEV |
- QEMU_CAPS_BALLOON |
- QEMU_CAPS_DEVICE |
- QEMU_CAPS_SMP_TOPOLOGY |
- QEMU_CAPS_RTC |
- QEMU_CAPS_VNET_HOST |
- QEMU_CAPS_NO_HPET |
- QEMU_CAPS_NO_KVM_PIT |
- QEMU_CAPS_TDF |
- QEMU_CAPS_BOOT_MENU |
- QEMU_CAPS_NESTING |
- QEMU_CAPS_NAME_PROCESS |
- QEMU_CAPS_SMBIOS_TYPE |
- QEMU_CAPS_VGA_NONE |
- QEMU_CAPS_MIGRATE_QEMU_FD |
+ QEMU_CAPS_DEVICE_SPICEVMC);
+ DO_TEST("qemu-kvm-0.12.1.2-rhel61", 12001, 1, 0,
+ QEMU_CAPS_VNC_COLON,
+ QEMU_CAPS_NO_REBOOT,
+ QEMU_CAPS_DRIVE,
+ QEMU_CAPS_NAME,
+ QEMU_CAPS_UUID,
+ QEMU_CAPS_VNET_HDR,
+ QEMU_CAPS_MIGRATE_QEMU_TCP,
+ QEMU_CAPS_MIGRATE_QEMU_EXEC,
+ QEMU_CAPS_DRIVE_CACHE_V2,
+ QEMU_CAPS_KVM,
+ QEMU_CAPS_DRIVE_FORMAT,
+ QEMU_CAPS_DRIVE_SERIAL,
+ QEMU_CAPS_DRIVE_READONLY,
+ QEMU_CAPS_VGA,
+ QEMU_CAPS_0_10,
+ QEMU_CAPS_PCIDEVICE,
+ QEMU_CAPS_MEM_PATH,
+ QEMU_CAPS_MIGRATE_QEMU_UNIX,
+ QEMU_CAPS_CHARDEV,
+ QEMU_CAPS_ENABLE_KVM,
+ QEMU_CAPS_BALLOON,
+ QEMU_CAPS_DEVICE,
+ QEMU_CAPS_SMP_TOPOLOGY,
+ QEMU_CAPS_RTC,
+ QEMU_CAPS_VNET_HOST,
+ QEMU_CAPS_NO_KVM_PIT,
+ QEMU_CAPS_TDF,
+ QEMU_CAPS_PCI_CONFIGFD,
+ QEMU_CAPS_NODEFCONFIG,
+ QEMU_CAPS_BOOT_MENU,
+ QEMU_CAPS_NESTING,
+ QEMU_CAPS_NAME_PROCESS,
+ QEMU_CAPS_SMBIOS_TYPE,
+ QEMU_CAPS_VGA_QXL,
+ QEMU_CAPS_SPICE,
+ QEMU_CAPS_VGA_NONE,
+ QEMU_CAPS_MIGRATE_QEMU_FD,
+ QEMU_CAPS_HDA_DUPLEX,
QEMU_CAPS_DRIVE_AIO,
- 12003, 1, 0);
- DO_TEST("qemu-kvm-0.13.0",
- QEMU_CAPS_VNC_COLON |
- QEMU_CAPS_NO_REBOOT |
- QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_BOOT |
- QEMU_CAPS_NAME |
- QEMU_CAPS_UUID |
- QEMU_CAPS_VNET_HDR |
- QEMU_CAPS_MIGRATE_QEMU_TCP |
- QEMU_CAPS_MIGRATE_QEMU_EXEC |
- QEMU_CAPS_DRIVE_CACHE_V2 |
- QEMU_CAPS_KVM |
- QEMU_CAPS_DRIVE_FORMAT |
- QEMU_CAPS_DRIVE_SERIAL |
- QEMU_CAPS_XEN_DOMID |
- QEMU_CAPS_DRIVE_READONLY |
- QEMU_CAPS_VGA |
- QEMU_CAPS_0_10 |
- QEMU_CAPS_PCIDEVICE |
- QEMU_CAPS_MEM_PATH |
- QEMU_CAPS_SDL |
- QEMU_CAPS_MIGRATE_QEMU_UNIX |
- QEMU_CAPS_CHARDEV |
- QEMU_CAPS_ENABLE_KVM |
- QEMU_CAPS_MONITOR_JSON |
- QEMU_CAPS_BALLOON |
- QEMU_CAPS_DEVICE |
- QEMU_CAPS_SMP_TOPOLOGY |
- QEMU_CAPS_NETDEV |
- QEMU_CAPS_RTC |
- QEMU_CAPS_VNET_HOST |
- QEMU_CAPS_NO_HPET |
- QEMU_CAPS_NO_KVM_PIT |
- QEMU_CAPS_TDF |
- QEMU_CAPS_PCI_CONFIGFD |
- QEMU_CAPS_NODEFCONFIG |
- QEMU_CAPS_BOOT_MENU |
- QEMU_CAPS_FSDEV |
- QEMU_CAPS_NESTING |
- QEMU_CAPS_NAME_PROCESS |
- QEMU_CAPS_SMBIOS_TYPE |
- QEMU_CAPS_SPICE |
- QEMU_CAPS_VGA_NONE |
- QEMU_CAPS_MIGRATE_QEMU_FD |
- QEMU_CAPS_DRIVE_AIO |
- QEMU_CAPS_DEVICE_SPICEVMC,
- 13000, 1, 0);
- DO_TEST("qemu-kvm-0.12.1.2-rhel61",
- QEMU_CAPS_VNC_COLON |
- QEMU_CAPS_NO_REBOOT |
- QEMU_CAPS_DRIVE |
- QEMU_CAPS_NAME |
- QEMU_CAPS_UUID |
- QEMU_CAPS_VNET_HDR |
- QEMU_CAPS_MIGRATE_QEMU_TCP |
- QEMU_CAPS_MIGRATE_QEMU_EXEC |
- QEMU_CAPS_DRIVE_CACHE_V2 |
- QEMU_CAPS_KVM |
- QEMU_CAPS_DRIVE_FORMAT |
- QEMU_CAPS_DRIVE_SERIAL |
- QEMU_CAPS_DRIVE_READONLY |
- QEMU_CAPS_VGA |
- QEMU_CAPS_0_10 |
- QEMU_CAPS_PCIDEVICE |
- QEMU_CAPS_MEM_PATH |
- QEMU_CAPS_MIGRATE_QEMU_UNIX |
- QEMU_CAPS_CHARDEV |
- QEMU_CAPS_ENABLE_KVM |
- QEMU_CAPS_BALLOON |
- QEMU_CAPS_DEVICE |
- QEMU_CAPS_SMP_TOPOLOGY |
- QEMU_CAPS_RTC |
- QEMU_CAPS_VNET_HOST |
- QEMU_CAPS_NO_KVM_PIT |
- QEMU_CAPS_TDF |
- QEMU_CAPS_PCI_CONFIGFD |
- QEMU_CAPS_NODEFCONFIG |
- QEMU_CAPS_BOOT_MENU |
- QEMU_CAPS_NESTING |
- QEMU_CAPS_NAME_PROCESS |
- QEMU_CAPS_SMBIOS_TYPE |
- QEMU_CAPS_VGA_QXL |
- QEMU_CAPS_SPICE |
- QEMU_CAPS_VGA_NONE |
- QEMU_CAPS_MIGRATE_QEMU_FD |
- QEMU_CAPS_HDA_DUPLEX |
- QEMU_CAPS_DRIVE_AIO |
- QEMU_CAPS_CCID_PASSTHRU |
- QEMU_CAPS_CHARDEV_SPICEVMC |
- QEMU_CAPS_VIRTIO_TX_ALG,
- 12001, 1, 0);
+ QEMU_CAPS_CCID_PASSTHRU,
+ QEMU_CAPS_CHARDEV_SPICEVMC,
+ QEMU_CAPS_VIRTIO_TX_ALG);
return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
}
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index a4fe43f..fec0dbc 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -29,7 +29,7 @@ static struct qemud_driver driver;
static int testCompareXMLToArgvFiles(const char *xml,
const char *cmdline,
- unsigned long long extraFlags,
+ virBitmapPtr extraFlags,
const char *migrateFrom,
int migrateFd,
bool expectError) {
@@ -38,7 +38,6 @@ static int testCompareXMLToArgvFiles(const char *xml,
int len;
char *actualargv = NULL;
int ret = -1;
- unsigned long long flags;
virDomainDefPtr vmdef = NULL;
virDomainChrSourceDef monitor_chr;
virConnectPtr conn;
@@ -89,14 +88,15 @@ static int testCompareXMLToArgvFiles(const char *xml,
monitor_chr.data.nix.path = (char *)"/tmp/test-monitor";
monitor_chr.data.nix.listen = true;
- flags = QEMU_CAPS_VNC_COLON |
- QEMU_CAPS_NO_REBOOT |
- extraFlags;
+ qemuCapsSetList(extraFlags,
+ QEMU_CAPS_VNC_COLON,
+ QEMU_CAPS_NO_REBOOT,
+ QEMU_CAPS_LAST);
if (qemudCanonicalizeMachine(&driver, vmdef) < 0)
goto fail;
- if (qemuCapsGet(flags, QEMU_CAPS_DEVICE)) {
+ if (qemuCapsGet(extraFlags, QEMU_CAPS_DEVICE)) {
qemuDomainPCIAddressSetPtr pciaddrs;
if (!(pciaddrs = qemuDomainPCIAddressSetCreate(vmdef)))
goto fail;
@@ -117,11 +117,11 @@ static int testCompareXMLToArgvFiles(const char *xml,
*/
if (STREQLEN(vmdef->os.arch, "x86_64", 6) ||
STREQLEN(vmdef->os.arch, "i686", 4)) {
- flags |= QEMU_CAPS_PCI_MULTIBUS;
+ qemuCapsSet(extraFlags, QEMU_CAPS_PCI_MULTIBUS);
}
if (!(cmd = qemuBuildCommandLine(conn, &driver,
- vmdef, &monitor_chr, false, flags,
+ vmdef, &monitor_chr, false, extraFlags,
migrateFrom, migrateFd, NULL,
VIR_VM_OP_CREATE)))
goto fail;
@@ -169,7 +169,7 @@ static int testCompareXMLToArgvFiles(const char *xml,
struct testInfo {
const char *name;
- unsigned long long extraFlags;
+ virBitmapPtr extraFlags;
const char *migrateFrom;
int migrateFd;
bool expectError;
@@ -230,18 +230,24 @@ mymain(int argc, char **argv)
if (cpuMapOverride(map) < 0)
return EXIT_FAILURE;
-# define DO_TEST_FULL(name, extraFlags, migrateFrom, migrateFd, expectError) \
+# define DO_TEST_FULL(name, migrateFrom, migrateFd, expectError, ...) \
do { \
- const struct testInfo info = { \
- name, extraFlags, migrateFrom, migrateFd, expectError \
+ struct testInfo info = { \
+ name, NULL, migrateFrom, migrateFd, expectError \
}; \
+ if (!(info.extraFlags = qemuCapsNew())) \
+ return EXIT_FAILURE; \
+ qemuCapsSetList(info.extraFlags, __VA_ARGS__, QEMU_CAPS_LAST); \
if (virtTestRun("QEMU XML-2-ARGV " name, \
1, testCompareXMLToArgvHelper, &info) < 0) \
ret = -1; \
+ qemuCapsFree(info.extraFlags); \
} while (0)
-# define DO_TEST(name, extraFlags, expectError) \
- DO_TEST_FULL(name, extraFlags, NULL, -1, expectError)
+# define DO_TEST(name, expectError, ...) \
+ DO_TEST_FULL(name, NULL, -1, expectError, __VA_ARGS__)
+
+# define NONE QEMU_CAPS_LAST
/* Unset or set all envvars here that are copied in qemudBuildCommandLine
* using ADD_ENV_COPY, otherwise these tests may fail due to unexpected
@@ -256,241 +262,235 @@ mymain(int argc, char **argv)
unsetenv("QEMU_AUDIO_DRV");
unsetenv("SDL_AUDIODRIVER");
- DO_TEST("minimal", QEMU_CAPS_NAME, false);
- DO_TEST("machine-aliases1", 0, false);
- DO_TEST("machine-aliases2", 0, true);
- DO_TEST("boot-cdrom", 0, false);
- DO_TEST("boot-network", 0, false);
- DO_TEST("boot-floppy", 0, false);
- DO_TEST("boot-multi", QEMU_CAPS_BOOT_MENU, false);
- DO_TEST("boot-menu-disable", QEMU_CAPS_BOOT_MENU, false);
- DO_TEST("boot-order", QEMU_CAPS_BOOTINDEX |
- QEMU_CAPS_DRIVE | QEMU_CAPS_DEVICE, false);
- DO_TEST("bootloader", QEMU_CAPS_DOMID, true);
- DO_TEST("clock-utc", 0, false);
- DO_TEST("clock-localtime", 0, false);
+ DO_TEST("minimal", false, QEMU_CAPS_NAME);
+ DO_TEST("machine-aliases1", false, NONE);
+ DO_TEST("machine-aliases2", true, NONE);
+ DO_TEST("boot-cdrom", false, NONE);
+ DO_TEST("boot-network", false, NONE);
+ DO_TEST("boot-floppy", false, NONE);
+ DO_TEST("boot-multi", false, QEMU_CAPS_BOOT_MENU);
+ DO_TEST("boot-menu-disable", false, QEMU_CAPS_BOOT_MENU);
+ DO_TEST("boot-order", false,
+ QEMU_CAPS_BOOTINDEX, QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE);
+ DO_TEST("bootloader", true, QEMU_CAPS_DOMID);
+ DO_TEST("clock-utc", false, NONE);
+ DO_TEST("clock-localtime", false, NONE);
/*
* Can't be enabled since the absolute timestamp changes every time
- DO_TEST("clock-variable", QEMU_CAPS_RTC, false);
+ DO_TEST("clock-variable", false, QEMU_CAPS_RTC);
*/
- DO_TEST("clock-france", QEMU_CAPS_RTC, false);
-
- DO_TEST("hugepages", QEMU_CAPS_MEM_PATH, false);
- DO_TEST("disk-cdrom", 0, false);
- DO_TEST("disk-cdrom-empty", QEMU_CAPS_DRIVE, false);
- DO_TEST("disk-floppy", 0, false);
- DO_TEST("disk-many", 0, false);
- DO_TEST("disk-virtio", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_BOOT, false);
- DO_TEST("disk-xenvbd", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_BOOT, false);
- DO_TEST("disk-drive-boot-disk", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_BOOT, false);
- DO_TEST("disk-drive-boot-cdrom", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_BOOT, false);
- DO_TEST("floppy-drive-fat", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_BOOT | QEMU_CAPS_DRIVE_FORMAT, false);
- DO_TEST("disk-drive-fat", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_BOOT | QEMU_CAPS_DRIVE_FORMAT, false);
- DO_TEST("disk-drive-readonly-disk", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_READONLY | QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("disk-drive-readonly-no-device", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_READONLY | QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("disk-drive-fmt-qcow", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_BOOT | QEMU_CAPS_DRIVE_FORMAT, false);
- DO_TEST("disk-drive-shared", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_FORMAT | QEMU_CAPS_DRIVE_SERIAL, false);
- DO_TEST("disk-drive-cache-v1-wt", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_FORMAT, false);
- DO_TEST("disk-drive-cache-v1-wb", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_FORMAT, false);
- DO_TEST("disk-drive-cache-v1-none", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_FORMAT, false);
- DO_TEST("disk-drive-error-policy-stop", QEMU_CAPS_DRIVE |
- QEMU_CAPS_MONITOR_JSON |
- QEMU_CAPS_DRIVE_FORMAT, false);
- DO_TEST("disk-drive-cache-v2-wt", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_CACHE_V2 | QEMU_CAPS_DRIVE_FORMAT, false);
- DO_TEST("disk-drive-cache-v2-wb", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_CACHE_V2 | QEMU_CAPS_DRIVE_FORMAT, false);
- DO_TEST("disk-drive-cache-v2-none", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_CACHE_V2 | QEMU_CAPS_DRIVE_FORMAT, false);
- DO_TEST("disk-drive-network-nbd", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_FORMAT, false);
- DO_TEST("disk-drive-network-rbd", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_FORMAT, false);
- DO_TEST("disk-drive-network-sheepdog", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DRIVE_FORMAT, false);
- DO_TEST("disk-usb", 0, false);
- DO_TEST("disk-usb-device", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DEVICE | QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("disk-scsi-device", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DEVICE | QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("disk-scsi-device-auto", QEMU_CAPS_DRIVE |
- QEMU_CAPS_DEVICE | QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("disk-aio", QEMU_CAPS_DRIVE | QEMU_CAPS_DRIVE_AIO |
- QEMU_CAPS_DRIVE_CACHE_V2 | QEMU_CAPS_DRIVE_FORMAT, false);
- DO_TEST("graphics-vnc", 0, false);
- DO_TEST("graphics-vnc-socket", 0, false);
+ DO_TEST("clock-france", false, QEMU_CAPS_RTC);
+
+ DO_TEST("hugepages", false, QEMU_CAPS_MEM_PATH);
+ DO_TEST("disk-cdrom", false, NONE);
+ DO_TEST("disk-cdrom-empty", false, QEMU_CAPS_DRIVE);
+ DO_TEST("disk-floppy", false, NONE);
+ DO_TEST("disk-many", false, NONE);
+ DO_TEST("disk-virtio", false, QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_BOOT);
+ DO_TEST("disk-xenvbd", false, QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_BOOT);
+ DO_TEST("disk-drive-boot-disk", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_BOOT);
+ DO_TEST("disk-drive-boot-cdrom", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_BOOT);
+ DO_TEST("floppy-drive-fat", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_BOOT, QEMU_CAPS_DRIVE_FORMAT);
+ DO_TEST("disk-drive-fat", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_BOOT, QEMU_CAPS_DRIVE_FORMAT);
+ DO_TEST("disk-drive-readonly-disk", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_READONLY,
+ QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("disk-drive-readonly-no-device", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_READONLY, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("disk-drive-fmt-qcow", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_BOOT, QEMU_CAPS_DRIVE_FORMAT);
+ DO_TEST("disk-drive-shared", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT, QEMU_CAPS_DRIVE_SERIAL);
+ DO_TEST("disk-drive-cache-v1-wt", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+ DO_TEST("disk-drive-cache-v1-wb", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+ DO_TEST("disk-drive-cache-v1-none", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+ DO_TEST("disk-drive-error-policy-stop", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_MONITOR_JSON, QEMU_CAPS_DRIVE_FORMAT);
+ DO_TEST("disk-drive-cache-v2-wt", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_CACHE_V2, QEMU_CAPS_DRIVE_FORMAT);
+ DO_TEST("disk-drive-cache-v2-wb", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_CACHE_V2, QEMU_CAPS_DRIVE_FORMAT);
+ DO_TEST("disk-drive-cache-v2-none", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_CACHE_V2, QEMU_CAPS_DRIVE_FORMAT);
+ DO_TEST("disk-drive-network-nbd", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+ DO_TEST("disk-drive-network-rbd", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+ DO_TEST("disk-drive-network-sheepdog", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+ DO_TEST("disk-usb", false, NONE);
+ DO_TEST("disk-usb-device", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("disk-scsi-device", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("disk-scsi-device-auto", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("disk-aio", false,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_AIO,
+ QEMU_CAPS_DRIVE_CACHE_V2, QEMU_CAPS_DRIVE_FORMAT);
+ DO_TEST("graphics-vnc", false, NONE);
+ DO_TEST("graphics-vnc-socket", false, NONE);
driver.vncSASL = 1;
driver.vncSASLdir = strdup("/root/.sasl2");
- DO_TEST("graphics-vnc-sasl", QEMU_CAPS_VGA, false);
+ DO_TEST("graphics-vnc-sasl", false, QEMU_CAPS_VGA);
driver.vncTLS = 1;
driver.vncTLSx509verify = 1;
driver.vncTLSx509certdir = strdup("/etc/pki/tls/qemu");
- DO_TEST("graphics-vnc-tls", 0, false);
+ DO_TEST("graphics-vnc-tls", false, NONE);
driver.vncSASL = driver.vncTLSx509verify = driver.vncTLS = 0;
free(driver.vncSASLdir);
free(driver.vncTLSx509certdir);
driver.vncSASLdir = driver.vncTLSx509certdir = NULL;
- DO_TEST("graphics-sdl", 0, false);
- DO_TEST("graphics-sdl-fullscreen", 0, false);
- DO_TEST("nographics", QEMU_CAPS_VGA, false);
- DO_TEST("nographics-vga", QEMU_CAPS_VGA |
- QEMU_CAPS_VGA_NONE, false);
- DO_TEST("graphics-spice",
- QEMU_CAPS_VGA | QEMU_CAPS_VGA_QXL |
- QEMU_CAPS_DEVICE | QEMU_CAPS_SPICE, false);
-
- DO_TEST("input-usbmouse", 0, false);
- DO_TEST("input-usbtablet", 0, false);
- DO_TEST("input-xen", QEMU_CAPS_DOMID, true);
- DO_TEST("misc-acpi", 0, false);
- DO_TEST("misc-no-reboot", 0, false);
- DO_TEST("misc-uuid", QEMU_CAPS_NAME |
- QEMU_CAPS_UUID, false);
- DO_TEST("net-user", 0, false);
- DO_TEST("net-virtio", 0, false);
- DO_TEST("net-virtio-device", QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG | QEMU_CAPS_VIRTIO_TX_ALG, false);
- DO_TEST("net-virtio-netdev", QEMU_CAPS_DEVICE |
- QEMU_CAPS_NETDEV | QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("net-eth", 0, false);
- DO_TEST("net-eth-ifname", 0, false);
- DO_TEST("net-eth-names", QEMU_CAPS_NET_NAME, false);
-
- DO_TEST("serial-vc", 0, false);
- DO_TEST("serial-pty", 0, false);
- DO_TEST("serial-dev", 0, false);
- DO_TEST("serial-file", 0, false);
- DO_TEST("serial-unix", 0, false);
- DO_TEST("serial-tcp", 0, false);
- DO_TEST("serial-udp", 0, false);
- DO_TEST("serial-tcp-telnet", 0, false);
- DO_TEST("serial-many", 0, false);
- DO_TEST("parallel-tcp", 0, false);
- DO_TEST("console-compat", 0, false);
- DO_TEST("console-compat-auto", 0, false);
-
- DO_TEST("serial-vc-chardev", QEMU_CAPS_CHARDEV|QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("serial-pty-chardev", QEMU_CAPS_CHARDEV|QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("serial-dev-chardev", QEMU_CAPS_CHARDEV|QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("serial-file-chardev", QEMU_CAPS_CHARDEV|QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("serial-unix-chardev", QEMU_CAPS_CHARDEV|QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("serial-tcp-chardev", QEMU_CAPS_CHARDEV|QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("serial-udp-chardev", QEMU_CAPS_CHARDEV|QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("serial-tcp-telnet-chardev", QEMU_CAPS_CHARDEV|QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("serial-many-chardev", QEMU_CAPS_CHARDEV|QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("parallel-tcp-chardev", QEMU_CAPS_CHARDEV|QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("console-compat-chardev", QEMU_CAPS_CHARDEV|QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG, false);
-
- DO_TEST("channel-guestfwd", QEMU_CAPS_CHARDEV|QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("channel-virtio", QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("channel-virtio-auto", QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("console-virtio", QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("channel-spicevmc", QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG | QEMU_CAPS_SPICE |
- QEMU_CAPS_CHARDEV_SPICEVMC, false);
- DO_TEST("channel-spicevmc-old", QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG | QEMU_CAPS_SPICE |
- QEMU_CAPS_DEVICE_SPICEVMC, false);
-
- DO_TEST("smartcard-host",
- QEMU_CAPS_CHARDEV | QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG | QEMU_CAPS_CCID_EMULATED, false);
- DO_TEST("smartcard-host-certificates",
- QEMU_CAPS_CHARDEV | QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG | QEMU_CAPS_CCID_EMULATED, false);
- DO_TEST("smartcard-passthrough-tcp",
- QEMU_CAPS_CHARDEV | QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG | QEMU_CAPS_CCID_PASSTHRU, false);
- DO_TEST("smartcard-passthrough-spicevmc",
- QEMU_CAPS_CHARDEV | QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG | QEMU_CAPS_CCID_PASSTHRU |
- QEMU_CAPS_CHARDEV_SPICEVMC, false);
- DO_TEST("smartcard-controller",
- QEMU_CAPS_CHARDEV | QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG | QEMU_CAPS_CCID_EMULATED, false);
-
- DO_TEST("smbios", QEMU_CAPS_SMBIOS_TYPE, false);
-
- DO_TEST("watchdog", 0, false);
- DO_TEST("watchdog-device", QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("watchdog-dump", 0, false);
- DO_TEST("balloon-device", QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("balloon-device-auto", QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("sound", 0, false);
- DO_TEST("sound-device", QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG | QEMU_CAPS_HDA_DUPLEX, false);
- DO_TEST("fs9p", QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG | QEMU_CAPS_FSDEV, false);
-
- DO_TEST("hostdev-usb-address", 0, false);
- DO_TEST("hostdev-usb-address-device", QEMU_CAPS_DEVICE |
- QEMU_CAPS_NODEFCONFIG, false);
- DO_TEST("hostdev-pci-address", QEMU_CAPS_PCIDEVICE, false);
- DO_TEST("hostdev-pci-address-device", QEMU_CAPS_PCIDEVICE |
- QEMU_CAPS_DEVICE | QEMU_CAPS_NODEFCONFIG, false);
-
- DO_TEST_FULL("restore-v1", QEMU_CAPS_MIGRATE_KVM_STDIO, "stdio",
7,
- false);
- DO_TEST_FULL("restore-v2", QEMU_CAPS_MIGRATE_QEMU_EXEC, "stdio",
7,
- false);
- DO_TEST_FULL("restore-v2", QEMU_CAPS_MIGRATE_QEMU_EXEC,
"exec:cat", 7,
- false);
- DO_TEST_FULL("restore-v2-fd", QEMU_CAPS_MIGRATE_QEMU_FD, "stdio",
7,
- false);
- DO_TEST_FULL("restore-v2-fd", QEMU_CAPS_MIGRATE_QEMU_FD, "fd:7",
7,
- false);
- DO_TEST_FULL("migrate", QEMU_CAPS_MIGRATE_QEMU_TCP,
- "tcp:10.0.0.1:5000", -1, false);
-
- DO_TEST("qemu-ns", 0, false);
-
- DO_TEST("smp", QEMU_CAPS_SMP_TOPOLOGY, false);
-
- DO_TEST("cpu-topology1", QEMU_CAPS_SMP_TOPOLOGY, false);
- DO_TEST("cpu-topology2", QEMU_CAPS_SMP_TOPOLOGY, false);
- DO_TEST("cpu-topology3", 0, false);
- DO_TEST("cpu-minimum1", 0, false);
- DO_TEST("cpu-minimum2", 0, false);
- DO_TEST("cpu-exact1", 0, false);
- DO_TEST("cpu-exact2", 0, false);
- DO_TEST("cpu-strict1", 0, false);
-
- DO_TEST("memtune", QEMU_CAPS_NAME, false);
- DO_TEST("blkiotune", QEMU_CAPS_NAME, false);
+ DO_TEST("graphics-sdl", false, NONE);
+ DO_TEST("graphics-sdl-fullscreen", false, NONE);
+ DO_TEST("nographics", false, QEMU_CAPS_VGA);
+ DO_TEST("nographics-vga", false,
+ QEMU_CAPS_VGA, QEMU_CAPS_VGA_NONE);
+ DO_TEST("graphics-spice", false,
+ QEMU_CAPS_VGA, QEMU_CAPS_VGA_QXL,
+ QEMU_CAPS_DEVICE, QEMU_CAPS_SPICE);
+
+ DO_TEST("input-usbmouse", false, NONE);
+ DO_TEST("input-usbtablet", false, NONE);
+ DO_TEST("input-xen", true, QEMU_CAPS_DOMID);
+ DO_TEST("misc-acpi", false, NONE);
+ DO_TEST("misc-no-reboot", false, NONE);
+ DO_TEST("misc-uuid", false, QEMU_CAPS_NAME, QEMU_CAPS_UUID);
+ DO_TEST("net-user", false, NONE);
+ DO_TEST("net-virtio", false, NONE);
+ DO_TEST("net-virtio-device", false,
+ QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_VIRTIO_TX_ALG);
+ DO_TEST("net-virtio-netdev", false,
+ QEMU_CAPS_DEVICE, QEMU_CAPS_NETDEV, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("net-eth", false, NONE);
+ DO_TEST("net-eth-ifname", false, NONE);
+ DO_TEST("net-eth-names", false, QEMU_CAPS_NET_NAME);
+
+ DO_TEST("serial-vc", false, NONE);
+ DO_TEST("serial-pty", false, NONE);
+ DO_TEST("serial-dev", false, NONE);
+ DO_TEST("serial-file", false, NONE);
+ DO_TEST("serial-unix", false, NONE);
+ DO_TEST("serial-tcp", false, NONE);
+ DO_TEST("serial-udp", false, NONE);
+ DO_TEST("serial-tcp-telnet", false, NONE);
+ DO_TEST("serial-many", false, NONE);
+ DO_TEST("parallel-tcp", false, NONE);
+ DO_TEST("console-compat", false, NONE);
+ DO_TEST("console-compat-auto", false, NONE);
+
+ DO_TEST("serial-vc-chardev", false,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("serial-pty-chardev", false,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("serial-dev-chardev", false,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("serial-file-chardev", false,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("serial-unix-chardev", false,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("serial-tcp-chardev", false,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("serial-udp-chardev", false,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("serial-tcp-telnet-chardev", false,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("serial-many-chardev", false,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("parallel-tcp-chardev", false,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("console-compat-chardev", false,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+
+ DO_TEST("channel-guestfwd", false,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("channel-virtio", false,
+ QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("channel-virtio-auto", false,
+ QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("console-virtio", false,
+ QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("channel-spicevmc", false,
+ QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+ QEMU_CAPS_SPICE, QEMU_CAPS_CHARDEV_SPICEVMC);
+ DO_TEST("channel-spicevmc-old", false,
+ QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+ QEMU_CAPS_SPICE, QEMU_CAPS_DEVICE_SPICEVMC);
+
+ DO_TEST("smartcard-host", false,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE,
+ QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_CCID_EMULATED);
+ DO_TEST("smartcard-host-certificates", false,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE,
+ QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_CCID_EMULATED);
+ DO_TEST("smartcard-passthrough-tcp", false,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE,
+ QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_CCID_PASSTHRU);
+ DO_TEST("smartcard-passthrough-spicevmc", false,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+ QEMU_CAPS_CCID_PASSTHRU, QEMU_CAPS_CHARDEV_SPICEVMC);
+ DO_TEST("smartcard-controller", false,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE,
+ QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_CCID_EMULATED);
+
+ DO_TEST("smbios", false, QEMU_CAPS_SMBIOS_TYPE);
+
+ DO_TEST("watchdog", false, NONE);
+ DO_TEST("watchdog-device", false, QEMU_CAPS_DEVICE,
QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("watchdog-dump", false, NONE);
+ DO_TEST("balloon-device", false, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("balloon-device-auto", false,
+ QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("sound", false, NONE);
+ DO_TEST("sound-device", false,
+ QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_HDA_DUPLEX);
+ DO_TEST("fs9p", false,
+ QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_FSDEV);
+
+ DO_TEST("hostdev-usb-address", false, NONE);
+ DO_TEST("hostdev-usb-address-device", false,
+ QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("hostdev-pci-address", false, QEMU_CAPS_PCIDEVICE);
+ DO_TEST("hostdev-pci-address-device", false,
+ QEMU_CAPS_PCIDEVICE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+
+ DO_TEST_FULL("restore-v1", "stdio", 7, false,
+ QEMU_CAPS_MIGRATE_KVM_STDIO);
+ DO_TEST_FULL("restore-v2", "stdio", 7, false,
+ QEMU_CAPS_MIGRATE_QEMU_EXEC);
+ DO_TEST_FULL("restore-v2", "exec:cat", 7, false,
+ QEMU_CAPS_MIGRATE_QEMU_EXEC);
+ DO_TEST_FULL("restore-v2-fd", "stdio", 7, false,
+ QEMU_CAPS_MIGRATE_QEMU_FD);
+ DO_TEST_FULL("restore-v2-fd", "fd:7", 7, false,
+ QEMU_CAPS_MIGRATE_QEMU_FD);
+ DO_TEST_FULL("migrate", "tcp:10.0.0.1:5000", -1, false,
+ QEMU_CAPS_MIGRATE_QEMU_TCP);
+
+ DO_TEST("qemu-ns", false, NONE);
+
+ DO_TEST("smp", false, QEMU_CAPS_SMP_TOPOLOGY);
+
+ DO_TEST("cpu-topology1", false, QEMU_CAPS_SMP_TOPOLOGY);
+ DO_TEST("cpu-topology2", false, QEMU_CAPS_SMP_TOPOLOGY);
+ DO_TEST("cpu-topology3", false, NONE);
+ DO_TEST("cpu-minimum1", false, NONE);
+ DO_TEST("cpu-minimum2", false, NONE);
+ DO_TEST("cpu-exact1", false, NONE);
+ DO_TEST("cpu-exact2", false, NONE);
+ DO_TEST("cpu-strict1", false, NONE);
+
+ DO_TEST("memtune", false, QEMU_CAPS_NAME);
+ DO_TEST("blkiotune", false, QEMU_CAPS_NAME);
free(driver.stateDir);
virCapabilitiesFree(driver.caps);
--
1.7.4.1