On Mon, 2011-01-10 at 19:52 +0200, Michael Goldish wrote:
> On 01/10/2011 12:47 PM, [email protected] wrote:
> > From: Qingtang Zhou<[email protected]>
> >
> > Introduce qmp_monitor property can help us easily get a qmp monitor
> > of guest.
> >
> > CC to Luiz and [email protected]
> >
> > Signed-off-by: Qingtang Zhou<[email protected]>
>
> The monitor property returns the main monitor. Isn't it fair to assume
> that qmp_basic is always run with main_monitor set to a qmp monitor?
^ Well, with this patch we have one less requirement, which is to set
main_monitor as the primary one, kvm autotest can just find the first
appropriate monitor and return it. It's mostly a usability patch, makes
easier to figure out when errors happen and put less configuration
strain on users. The fact the user will see the message:
> + raise error.TestError("Could not find a QMP monitor, abort test.")
In case no QMP monitor was found is very helpful.
> > ---
> > client/tests/kvm/kvm_vm.py | 10 ++++++++++
> > client/tests/kvm/tests/qmp_basic.py | 15 +++++++++------
> > 2 files changed, 19 insertions(+), 6 deletions(-)
> >
> > diff --git a/client/tests/kvm/kvm_vm.py b/client/tests/kvm/kvm_vm.py
> > index f6f1684..0ba2db4 100755
> > --- a/client/tests/kvm/kvm_vm.py
> > +++ b/client/tests/kvm/kvm_vm.py
> > @@ -870,6 +870,16 @@ class VM:
> > if self.monitors and not self.params.get("main_monitor"):
> > return self.monitors[0]
> >
> > + @property
> > + def qmp_monitor(self):
> > + """
> > + Return the first QMP monitor.
> > + If no QMP monitor exist, return None.
> > + """
> > + for m in self.monitors:
> > + if isinstance(m, kvm_monitor.QMPMonitor):
> > + return m
> > + return None
> >
> > def is_alive(self):
> > """
> > diff --git a/client/tests/kvm/tests/qmp_basic.py
> > b/client/tests/kvm/tests/qmp_basic.py
> > index 985ad15..36cbd78 100644
> > --- a/client/tests/kvm/tests/qmp_basic.py
> > +++ b/client/tests/kvm/tests/qmp_basic.py
> > @@ -383,13 +383,16 @@ def run_qmp_basic(test, params, env):
> >
> > vm = kvm_test_utils.get_living_vm(env, params.get("main_vm"))
> >
> > + if vm.qmp_monitor is None:
> > + raise error.TestError("Could not find a QMP monitor, abort 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(vm.qmp_monitor)
> > + input_object_suite(vm.qmp_monitor)
> > + argument_checker_suite(vm.qmp_monitor)
> > + unknown_commands_suite(vm.qmp_monitor)
> > + json_parsing_errors_suite(vm.qmp_monitor)
> >
> > # check if QMP is still alive
> > - if not vm.monitor.is_responsive():
> > + if not vm.qmp_monitor.is_responsive():
> > raise error.TestFail('QEMU is not alive after QMP testing')
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html