[PATCH 05/18] qemuMonitorJSONTestAttachOneChardev: Rewrite using qemuMonitorTestAddItemVerbatim

Peter Krempa posted 18 patches 4 months, 1 week ago
[PATCH 05/18] qemuMonitorJSONTestAttachOneChardev: Rewrite using qemuMonitorTestAddItemVerbatim
Posted by Peter Krempa 4 months, 1 week ago
'qemuMonitorTestAddItemExpect' doesn't do QMP schema validation. Since
it's the only use we can reimplement it using 'qemuMonitorTestAddItemVerbatim'
which does schema validation and remove the old code instead.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
---
 tests/qemumonitorjsontest.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c
index 3dabd5c00d..f6b6da372c 100644
--- a/tests/qemumonitorjsontest.c
+++ b/tests/qemumonitorjsontest.c
@@ -618,9 +618,18 @@ testQemuMonitorJSONAttachChardev(const void *opaque)

     if (data->expectargs) {
         g_autofree char *jsonreply = g_strdup_printf("{\"return\": {%s}}", NULLSTR_EMPTY(data->reply));
+        g_autofree char *jsoncommand = NULL;
+        char *n;

-        if (qemuMonitorTestAddItemExpect(test, "chardev-add",
-                                         data->expectargs, true, jsonreply) < 0)
+        jsoncommand = g_strdup_printf("{\"execute\": \"chardev-add\", \"arguments\": %s, \"id\" : \"libvirt-1\"}", data->expectargs);
+
+        /* data->expectargs has ' instead of " */
+        for (n = jsoncommand; *n; n++) {
+            if (*n == '\'')
+                *n = '"';
+        }
+
+        if (qemuMonitorTestAddItemVerbatim(test, jsoncommand, NULL, jsonreply) < 0)
             return -1;
     }

-- 
2.40.1
Re: [PATCH 05/18] qemuMonitorJSONTestAttachOneChardev: Rewrite using qemuMonitorTestAddItemVerbatim
Posted by Ján Tomko 4 months ago
On a Thursday in 2023, Peter Krempa wrote:
>'qemuMonitorTestAddItemExpect' doesn't do QMP schema validation. Since
>it's the only use we can reimplement it using 'qemuMonitorTestAddItemVerbatim'
>which does schema validation and remove the old code instead.
>
>Signed-off-by: Peter Krempa <pkrempa@redhat.com>
>---
> tests/qemumonitorjsontest.c | 13 +++++++++++--
> 1 file changed, 11 insertions(+), 2 deletions(-)
>

Reviewed-by: Ján Tomko <jtomko@redhat.com>

Jano