[libvirt] [PATCH 10/12] tests: refactor qemuMonitorTestProcessCommandDefaultValidate

Ján Tomko jtomko at redhat.com
Sat Jun 15 11:54:08 UTC 2019


Use VIR_AUTO* for cleanup and virBufferCurrentContent instead
of virBufferContentAndReset.

Signed-off-by: Ján Tomko <jtomko at redhat.com>
---
 tests/qemumonitortestutils.c | 32 +++++++++++---------------------
 1 file changed, 11 insertions(+), 21 deletions(-)

diff --git a/tests/qemumonitortestutils.c b/tests/qemumonitortestutils.c
index ca678e9bd5..6be4de8059 100644
--- a/tests/qemumonitortestutils.c
+++ b/tests/qemumonitortestutils.c
@@ -524,11 +524,10 @@ qemuMonitorTestProcessCommandDefaultValidate(qemuMonitorTestPtr test,
                                              const char *cmdname,
                                              virJSONValuePtr args)
 {
-    virBuffer debug = VIR_BUFFER_INITIALIZER;
+    VIR_AUTOCLEAN(virBuffer) debug = VIR_BUFFER_INITIALIZER;
     virJSONValuePtr schemaroot;
-    virJSONValuePtr emptyargs = NULL;
-    char *schemapath = NULL;
-    int ret = -1;
+    VIR_AUTOPTR(virJSONValue) emptyargs = NULL;
+    VIR_AUTOFREE(char *) schemapath = NULL;
 
     if (!test->qapischema)
         return 0;
@@ -538,43 +537,34 @@ qemuMonitorTestProcessCommandDefaultValidate(qemuMonitorTestPtr test,
         return 0;
 
     if (virAsprintf(&schemapath, "%s/arg-type", cmdname) < 0)
-        goto cleanup;
+        return -1;
 
     if (virQEMUQAPISchemaPathGet(schemapath, test->qapischema, &schemaroot) < 0 ||
         !schemaroot) {
         if (qemuMonitorReportError(test,
                                    "command '%s' not found in QAPI schema",
                                    cmdname) == 0)
-            ret = 1;
-        goto cleanup;
+            return 1;
+        return -1;
     }
 
     if (!args) {
         if (!(emptyargs = virJSONValueNewObject()))
-            goto cleanup;
+            return -1;
 
         args = emptyargs;
     }
 
     if (testQEMUSchemaValidate(args, schemaroot, test->qapischema, &debug) < 0) {
-        char *debugmsg = virBufferContentAndReset(&debug);
         if (qemuMonitorReportError(test,
                                    "failed to validate arguments of '%s' "
                                    "against QAPI schema: %s",
-                                   cmdname, debugmsg) == 0)
-            ret = 1;
-
-        VIR_FREE(debugmsg);
-        goto cleanup;
+                                   cmdname, virBufferCurrentContent(&debug)) == 0)
+            return 1;
+        return -1;
     }
 
-    ret = 0;
-
- cleanup:
-    virBufferFreeAndReset(&debug);
-    virJSONValueFree(emptyargs);
-    VIR_FREE(schemapath);
-    return ret;
+    return 0;
 }
 
 
-- 
2.20.1




More information about the libvir-list mailing list