On 09/18/2013 12:16 PM, Michal Privoznik wrote:
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
tests/qemumonitorjsontest.c | 56 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)
diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c
index b287747..0a3f717 100644
--- a/tests/qemumonitorjsontest.c
+++ b/tests/qemumonitorjsontest.c
@@ -942,6 +942,61 @@ cleanup:
return ret;
}
+static int
+testQemuMonitorJSONCPU(const void *data)
+{
+ const virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
+ qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
Coverity complains:
(1) Event returned_null: Function "qemuMonitorTestNew(bool, virDomainXMLOptionPtr,
virDomainObjPtr, virQEMUDriverPtr)" returns null (checked 14 out of 16 times).
[details]
(11) Event var_assigned: Assigning: "test" = null return value from
"qemuMonitorTestNew(bool, virDomainXMLOptionPtr, virDomainObjPtr,
virQEMUDriverPtr)".
+ int ret = -1;
+ bool running = false;
+ virDomainPausedReason reason = 0;
+
+ if (qemuMonitorTestAddItem(test, "stop", "{\"return\":
{}}") < 0 ||
(12) Event dereference: Dereferencing a pointer that might be null "test" when
calling "qemuMonitorTestAddItem(qemuMonitorTestPtr, char const *, char const
*)". [details]
John
+ qemuMonitorTestAddItem(test, "query-status",
+ "{\"return\": {"
+ " \"status\":
\"paused\","
+ " \"singlestep\": false,"
+ " \"running\": false}}") < 0 ||
+ qemuMonitorTestAddItem(test, "cont", "{\"return\":
{}}") < 0 ||
+ qemuMonitorTestAddItem(test, "query-status",
+ "{\"return\": {"
+ " \"status\":
\"running\","
+ " \"singlestep\": false,"
+ " \"running\": true}}") < 0)
+ goto cleanup;
+
+ if (qemuMonitorJSONStopCPUs(qemuMonitorTestGetMonitor(test)) < 0)
+ goto cleanup;
+
+ if (qemuMonitorGetStatus(qemuMonitorTestGetMonitor(test),
+ &running, &reason) < 0)
+ goto cleanup;
+
+ if (running) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ "Running was not false");
+ goto cleanup;
+ }
+
+ if (qemuMonitorJSONStartCPUs(qemuMonitorTestGetMonitor(test), NULL) < 0)
+ goto cleanup;
+
+ if (qemuMonitorGetStatus(qemuMonitorTestGetMonitor(test),
+ &running, &reason) < 0)
+ goto cleanup;
+
+ if (!running) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ "Running was not true");
+ goto cleanup;
+ }
+
+ ret = 0;
+
+cleanup:
+ qemuMonitorTestFree(test);
+ return ret;
+}
static int
mymain(void)
@@ -977,6 +1032,7 @@ mymain(void)
DO_TEST(GetObjectProperty);
DO_TEST(SetObjectProperty);
DO_TEST(GetDeviceAliases);
+ DO_TEST(CPU);
virObjectUnref(xmlopt);