On 10/02/2013 11:09 AM, Michal Privoznik wrote:
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
tests/qemumonitorjsontest.c | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
static int
+testQemuMonitorJSONqemuMonitorJSONGetVirtType(const void *data)
+{
+ virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
+ qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ int ret = -1;
+ int virtType;
+
+ if (!test)
+ return -1;
+
+ if (qemuMonitorTestAddItem(test, "query-kvm",
+ "{"
+ " \"return\": {"
+ " \"enabled\": true,"
+ " \"present\": true"
+ " },"
+ " \"id\":
\"libvirt-8\""
+ "}") < 0)
+ goto cleanup;
+
+ if (qemuMonitorJSONGetVirtType(qemuMonitorTestGetMonitor(test), &virtType) <
0)
+ goto cleanup;
+
+ if (virtType != VIR_DOMAIN_VIRT_KVM) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ "Unexpected virt type: %d", virtType);
+ goto cleanup;
+ }
This should also test the case where the command returns failure
(commandnotfound) and/or returns success but "enabled":false, to make
sure we don't report VIR_DOMAIN_VIRT_KVM in those cases.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org