[libvirt] [PATCH 3/4] qemuMonitorTest: Make check for monitor command match optional

Michal Privoznik mprivozn at redhat.com
Mon Sep 23 12:58:35 UTC 2013


In a few cases we might want to not care if monitor command executed on
the mocked monitor matches the one we have reply for. Sounds crazy, but
if we just want monitor to return certain values (e.g. read from a file)
there is no need to care about command match.

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 tests/qemumonitortestutils.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/tests/qemumonitortestutils.c b/tests/qemumonitortestutils.c
index 6400f27..c3242d5 100644
--- a/tests/qemumonitortestutils.c
+++ b/tests/qemumonitortestutils.c
@@ -485,7 +485,7 @@ qemuMonitorTestProcessCommandDefault(qemuMonitorTestPtr test,
         *tmp = '\0';
     }
 
-    if (STRNEQ(data->command_name, cmdname))
+    if (data->command_name && STRNEQ(data->command_name, cmdname))
         ret = qemuMonitorTestAddUnexpectedErrorResponse(test);
     else
         ret = qemuMonitorTestAddReponse(test, data->response);
@@ -604,7 +604,8 @@ qemuMonitorTestProcessCommandWithArgs(qemuMonitorTestPtr test,
         goto cleanup;
     }
 
-    if (STRNEQ(data->command_name, cmdname)) {
+    if (data->command_name &&
+        STRNEQ(data->command_name, cmdname)) {
         ret = qemuMonitorTestAddUnexpectedErrorResponse(test);
         goto cleanup;
     }
@@ -612,7 +613,7 @@ qemuMonitorTestProcessCommandWithArgs(qemuMonitorTestPtr test,
     if (!(args = virJSONValueObjectGet(val, "arguments"))) {
         ret = qemuMonitorReportError(test,
                                      "Missing arguments section for command '%s'",
-                                     data->command_name);
+                                     NULLSTR(data->command_name));
         goto cleanup;
     }
 
@@ -622,7 +623,8 @@ qemuMonitorTestProcessCommandWithArgs(qemuMonitorTestPtr test,
         if (!(argobj = virJSONValueObjectGet(args, arg->argname))) {
             ret = qemuMonitorReportError(test,
                                          "Missing argument '%s' for command '%s'",
-                                         arg->argname, data->command_name);
+                                         arg->argname,
+                                         NULLSTR(data->command_name));
             goto cleanup;
         }
 
@@ -636,7 +638,8 @@ qemuMonitorTestProcessCommandWithArgs(qemuMonitorTestPtr test,
                                          "Invalid value of argument '%s' "
                                          "of command '%s': "
                                          "expected '%s' got '%s'",
-                                         arg->argname, data->command_name,
+                                         arg->argname,
+                                         NULLSTR(data->command_name),
                                          arg->argval, argstr);
             goto cleanup;
         }
-- 
1.8.1.5




More information about the libvir-list mailing list