On Thu, 2019-03-14 at 10:44 -0400, Cole Robinson wrote:
[...]
+# define DO_TEST_CAPS_INTERNAL(name, suffix, \
+ arch, capsfile, stripmachinealiases, ...) \
do { \
static struct testInfo info = { \
- name, "." suffix, NULL, NULL, -1,\
- (flags | FLAG_REAL_CAPS), parseFlags, \
+ name, "." suffix, NULL, NULL, -1, 0, 0, \
}; \
if (!(info.qemuCaps = qemuTestParseCapabilitiesArch(virArchFromString(arch), \
capsfile))) \
return EXIT_FAILURE; \
if (stripmachinealiases) \
virQEMUCapsStripMachineAliases(info.qemuCaps); \
+ if (testInfoSetArgs(&info, __VA_ARGS__, ARG_END) < 0) \
+ return EXIT_FAILURE; \
Since you already have an explicit ARG_END here, it's kinda ugly
that you need another one...
[...]
+# define DO_TEST_CAPS_ARCH_VER_FULL(name, arch, ver, ...) \
+ DO_TEST_CAPS_INTERNAL(name, arch "-" ver, \
+ arch, TEST_CAPS_PATH ver "." arch ".xml",
false, \
+ __VA_ARGS__)
# define DO_TEST_CAPS_ARCH_VER(name, arch, ver) \
- DO_TEST_CAPS_ARCH_VER_FULL(name, 0, 0, arch, ver)
+ DO_TEST_CAPS_ARCH_VER_FULL(name, arch, ver, ARG_END)
... both here...
[...]
+# define DO_TEST_CAPS_ARCH_LATEST_FULL(name, arch, ...) \
+ DO_TEST_CAPS_INTERNAL(name, arch "-latest", arch, \
+ virHashLookup(capslatest, arch), true, \
+ __VA_ARGS__)
# define DO_TEST_CAPS_ARCH_LATEST(name, arch) \
- DO_TEST_CAPS_ARCH_LATEST_FULL(name, arch, 0, 0)
+ DO_TEST_CAPS_ARCH_LATEST_FULL(name, arch, ARG_END)
... and here, but the underlying macro can't take zero variadic
arguments so there's no way around it I guess...
Reviewed-by: Andrea Bolognani <abologna(a)redhat.com>
--
Andrea Bolognani / Red Hat / Virtualization