qemuMonitorTest: Make check for monitor command match optional

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@redhat.com>
This commit is contained in:
Michal Privoznik 2013-09-19 15:19:08 +02:00
parent 0badd8a43d
commit bd958586ec

View File

@ -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;
}