提交 c9e5be4e 编写于 作者: J Ján Tomko

tests: do not mangle real qemu caps in xml2argvtest

None of the things testUpdateQEMUCaps adjusts are applicable
for tests that use the DO_TEST_CAPS macros, i.e.
real QEMU capabilities parsed from the XML files:

The architecture must be chosen before we even open the caps
file, CPU models are already present and the expensive HostModel
computation was already done in virQEMUCapsLoadCache.

Introduce FLAG_REAL_CAPS and skip the whole testUpdateQEMUCaps
function for DO_TEST_CAPS.

This speeds up the test by 25 %
Signed-off-by: NJán Tomko <jtomko@redhat.com>
上级 3fb2c456
......@@ -294,6 +294,7 @@ typedef enum {
FLAG_EXPECT_PARSE_ERROR = 1 << 1,
FLAG_FIPS = 1 << 2,
FLAG_STEAL_VM = 1 << 3,
FLAG_REAL_CAPS = 1 << 4,
} virQemuXML2ArgvTestFlags;
struct testInfo {
......@@ -470,6 +471,7 @@ testCheckExclusiveFlags(int flags)
FLAG_EXPECT_PARSE_ERROR |
FLAG_FIPS |
FLAG_STEAL_VM |
FLAG_REAL_CAPS |
0, -1);
VIR_EXCLUSIVE_FLAGS_RET(FLAG_STEAL_VM, FLAG_EXPECT_FAILURE, -1);
......@@ -566,7 +568,8 @@ testCompareXMLToArgv(const void *data)
if (qemuProcessPrepareMonitorChr(&monitor_chr, priv->libDir) < 0)
goto cleanup;
if (testUpdateQEMUCaps(info, vm, driver.caps) < 0)
if (!(info->flags & FLAG_REAL_CAPS) &&
testUpdateQEMUCaps(info, vm, driver.caps) < 0)
goto cleanup;
log = virTestLogContentAndReset();
......@@ -783,7 +786,7 @@ mymain(void)
do { \
static struct testInfo info = { \
name, "." suffix, NULL, migrateFrom, migrateFrom ? 7 : -1,\
(flags), parseFlags, false, NULL \
(flags | FLAG_REAL_CAPS), parseFlags, false, NULL \
}; \
info.skipLegacyCPUs = skipLegacyCPUs; \
if (!(info.qemuCaps = qemuTestParseCapabilitiesArch(virArchFromString(arch), \
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册