]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
tests: qemuxml2argv: Don't check whether -netdev was QAPIfied repeatedly
authorPeter Krempa <pkrempa@redhat.com>
Mon, 30 Nov 2020 13:01:05 +0000 (14:01 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 8 Jan 2021 08:17:26 +0000 (09:17 +0100)
Check once before looping through the args.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
tests/qemuxml2argvtest.c

index d2712e0dce5f5d6960c3a1dc3c31cf00a8ce5280..662d0d5df69b6f6f2907c00c38843ad6b09b83d6 100644 (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",