[PATCH] KVM test: qmp_basic: Go through available monitors to find a qmp one

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



It is more convenient to look at all available monitors that the VM
has and return the first qmp monitor than relying that the qmp monitor
will be allways be the primary one. In case we can't find one, just
error the test with a more descriptive message

Also, clarify the exception thrown when the monitor is not responsive
after the test.

Signed-off-by: Qingtang Zhou <qzhou@xxxxxxxxxx>
Signed-off-by: Lucas Meneghel Rodrigues <lmr@xxxxxxxxxx>
---
 client/tests/kvm/tests/qmp_basic.py |   25 +++++++++++++++++--------
 1 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/client/tests/kvm/tests/qmp_basic.py b/client/tests/kvm/tests/qmp_basic.py
index 952da99..94ba9ee 100644
--- a/client/tests/kvm/tests/qmp_basic.py
+++ b/client/tests/kvm/tests/qmp_basic.py
@@ -1,4 +1,4 @@
-import kvm_test_utils
+import kvm_test_utils, kvm_monitor
 from autotest_lib.client.common_lib import error
 
 def run_qmp_basic(test, params, env):
@@ -384,13 +384,22 @@ def run_qmp_basic(test, params, env):
     vm = env.get_vm(params["main_vm"])
     vm.verify_alive()
 
+    # Look for the first qmp monitor available, otherwise, fail the test
+    qmp_monitor = None
+    for m in vm.monitors:
+        if isinstance(m, kvm_monitor.QMPMonitor):
+            qmp_monitor = m
+
+    if qmp_monitor is None:
+        raise error.TestError('Could not find a QMP monitor, aborting test')
+
     # Run all suites
-    greeting_suite(vm.monitor)
-    input_object_suite(vm.monitor)
-    argument_checker_suite(vm.monitor)
-    unknown_commands_suite(vm.monitor)
-    json_parsing_errors_suite(vm.monitor)
+    greeting_suite(qmp_monitor)
+    input_object_suite(qmp_monitor)
+    argument_checker_suite(qmp_monitor)
+    unknown_commands_suite(qmp_monitor)
+    json_parsing_errors_suite(qmp_monitor)
 
     # check if QMP is still alive
-    if not vm.monitor.is_responsive():
-        raise error.TestFail('QEMU is not alive after QMP testing')
+    if not qmp_monitor.is_responsive():
+        raise error.TestFail('QMP monitor is not responsive after testing')
-- 
1.7.3.4

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux