tests: qemuxml2argv: Don't check whether -netdev was QAPIfied repeatedly

Check once before looping through the args.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Peter Krempa 2020-11-30 14:01:05 +01:00
parent 45187ef384
commit b908f4566e

View File

@ -524,6 +524,7 @@ testCompareXMLToArgvValidateSchema(virQEMUDriverPtr drv,
g_autoptr(GHashTable) schema = NULL;
g_autoptr(virCommand) cmd = NULL;
unsigned int parseFlags = info->parseFlags;
bool netdevQAPIfied = false;
if (info->schemafile)
schema = testQEMUSchemaLoad(info->schemafile);
@ -552,6 +553,8 @@ testCompareXMLToArgvValidateSchema(virQEMUDriverPtr drv,
if (virCommandGetArgList(cmd, &args, &nargs) < 0)
return -1;
netdevQAPIfied = !virQEMUQAPISchemaPathExists("netdev_add/arg-type/type/!string", schema);
for (i = 0; i < nargs; i++) {
g_auto(virBuffer) debug = VIR_BUFFER_INITIALIZER;
g_autoptr(virJSONValue) jsonargs = NULL;
@ -569,13 +572,14 @@ testCompareXMLToArgvValidateSchema(virQEMUDriverPtr drv,
i++;
} else if (STREQ(args[i], "-netdev")) {
if (!netdevQAPIfied) {
i++;
continue;
}
if (!(jsonargs = virJSONValueFromString(args[i + 1])))
return -1;
/* skip the validation for pre-QAPIfication cases */
if (virQEMUQAPISchemaPathExists("netdev_add/arg-type/type/!string", schema))
continue;
if (testQEMUSchemaValidateCommand("netdev_add", jsonargs,
schema, false, false, &debug) < 0) {
VIR_TEST_VERBOSE("failed to validate -netdev '%s' against QAPI schema: %s",