Check once before looping through the args.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
tests/qemuxml2argvtest.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 42d147243e..ae8eaa7768 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -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",
--
2.28.0