提交 0ecf885b 编写于 作者: C Cole Robinson

tests: qemuxml2argv: handle migrate* with varargs

This allows us to drop migrateFrom and migrateFd from DO_TEST_FULL
Reviewed-by: NAndrea Bolognani <abologna@redhat.com>
Signed-off-by: NCole Robinson <crobinso@redhat.com>
上级 5a1e05b4
......@@ -608,6 +608,8 @@ testCompareXMLToArgv(const void *data)
typedef enum {
ARG_QEMU_CAPS,
ARG_GIC,
ARG_MIGRATE_FROM,
ARG_MIGRATE_FD,
/* ARG_END is our va_args sentinel. The value QEMU_CAPS_LATEST is
* necessary to handle the DO_TEST(..., NONE) case, which through macro
......@@ -643,6 +645,14 @@ testInfoSetArgs(struct testInfo *info, ...)
goto cleanup;
break;
case ARG_MIGRATE_FROM:
info->migrateFrom = va_arg(argptr, char *);
break;
case ARG_MIGRATE_FD:
info->migrateFd = va_arg(argptr, int);
break;
case ARG_END:
default:
fprintf(stderr, "Unexpected test info argument");
......@@ -835,11 +845,10 @@ mymain(void)
# define DO_TEST_CAPS(name, ver) \
DO_TEST_CAPS_FULL(name, 0, 0, ver)
# define DO_TEST_FULL(name, migrateFrom, migrateFd, flags, \
parseFlags, ...) \
# define DO_TEST_FULL(name, flags, parseFlags, ...) \
do { \
static struct testInfo info = { \
name, NULL, NULL, migrateFrom, migrateFd, (flags), parseFlags, \
name, NULL, NULL, NULL, -1, (flags), parseFlags, \
}; \
if (!(info.qemuCaps = virQEMUCapsNew())) \
return EXIT_FAILURE; \
......@@ -852,27 +861,27 @@ mymain(void)
} while (0)
# define DO_TEST(name, ...) \
DO_TEST_FULL(name, NULL, -1, 0, 0, \
DO_TEST_FULL(name, 0, 0, \
ARG_QEMU_CAPS, __VA_ARGS__)
# define DO_TEST_GIC(name, gic, ...) \
DO_TEST_FULL(name, NULL, -1, 0, 0, \
DO_TEST_FULL(name, 0, 0, \
ARG_GIC, gic, \
ARG_QEMU_CAPS, __VA_ARGS__)
# define DO_TEST_FAILURE(name, ...) \
DO_TEST_FULL(name, NULL, -1, FLAG_EXPECT_FAILURE, \
DO_TEST_FULL(name, FLAG_EXPECT_FAILURE, \
0, \
ARG_QEMU_CAPS, __VA_ARGS__)
# define DO_TEST_PARSE_ERROR(name, ...) \
DO_TEST_FULL(name, NULL, -1, \
DO_TEST_FULL(name, \
FLAG_EXPECT_PARSE_ERROR | FLAG_EXPECT_FAILURE, \
0, \
ARG_QEMU_CAPS, __VA_ARGS__)
# define DO_TEST_PARSE_FLAGS_ERROR(name, parseFlags, ...) \
DO_TEST_FULL(name, NULL, -1, \
DO_TEST_FULL(name, \
FLAG_EXPECT_PARSE_ERROR | FLAG_EXPECT_FAILURE, \
parseFlags, \
ARG_QEMU_CAPS, __VA_ARGS__)
......@@ -1713,16 +1722,25 @@ mymain(void)
QEMU_CAPS_CCW_CSSID_UNRESTRICTED,
QEMU_CAPS_DEVICE_VFIO_CCW);
DO_TEST_FULL("restore-v2", "exec:cat", 7, 0, 0,
DO_TEST_FULL("restore-v2", 0, 0,
ARG_MIGRATE_FROM, "exec:cat",
ARG_MIGRATE_FD, 7,
ARG_QEMU_CAPS, NONE);
DO_TEST_FULL("restore-v2-fd", "stdio", 7, 0, 0,
DO_TEST_FULL("restore-v2-fd", 0, 0,
ARG_MIGRATE_FROM, "stdio",
ARG_MIGRATE_FD, 7,
ARG_QEMU_CAPS, NONE);
DO_TEST_FULL("restore-v2-fd", "fd:7", 7, 0, 0,
DO_TEST_FULL("restore-v2-fd", 0, 0,
ARG_MIGRATE_FROM, "fd:7",
ARG_MIGRATE_FD, 7,
ARG_QEMU_CAPS, NONE);
DO_TEST_FULL("migrate", "tcp:10.0.0.1:5000", -1, 0, 0,
DO_TEST_FULL("migrate", 0, 0,
ARG_MIGRATE_FROM, "tcp:10.0.0.1:5000",
ARG_QEMU_CAPS, NONE);
DO_TEST_FULL("migrate-numa-unaligned", "stdio", 7, 0, 0,
DO_TEST_FULL("migrate-numa-unaligned", 0, 0,
ARG_MIGRATE_FROM, "stdio",
ARG_MIGRATE_FD, 7,
ARG_QEMU_CAPS,
QEMU_CAPS_NUMA,
QEMU_CAPS_OBJECT_MEMORY_RAM);
......@@ -1765,10 +1783,10 @@ mymain(void)
DO_TEST("cpu-numa-memshared", QEMU_CAPS_OBJECT_MEMORY_FILE);
DO_TEST("cpu-host-model", NONE);
DO_TEST("cpu-host-model-vendor", NONE);
DO_TEST_FULL("cpu-host-model-fallback", NULL, -1,
DO_TEST_FULL("cpu-host-model-fallback",
FLAG_SKIP_LEGACY_CPUS, 0,
ARG_QEMU_CAPS, NONE);
DO_TEST_FULL("cpu-host-model-nofallback", NULL, -1,
DO_TEST_FULL("cpu-host-model-nofallback",
FLAG_SKIP_LEGACY_CPUS | FLAG_EXPECT_FAILURE,
0,
ARG_QEMU_CAPS, NONE);
......@@ -2859,7 +2877,7 @@ mymain(void)
DO_TEST("ppc64-usb-controller-legacy",
QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE,
QEMU_CAPS_PIIX3_USB_UHCI);
DO_TEST_FULL("ppc64-usb-controller-qemu-xhci", NULL, -1, 0,
DO_TEST_FULL("ppc64-usb-controller-qemu-xhci", 0,
VIR_DOMAIN_DEF_PARSE_ABI_UPDATE,
ARG_QEMU_CAPS,
QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册