On Mon, Apr 30, 2018 at 02:02:46PM +0100, Stefan Hajnoczi wrote:
> On Fri, Apr 20, 2018 at 03:19:40PM -0300, Eduardo Habkost wrote:
> > +    def test_hotplug_memory_default_policy(self):
> > +        """
> > +        According to the RHBZ1431939, the issue is 'host nodes'
> > +        returning '128'. It should return empty value when memory
> > +        hotplug default policy is used.
> > +
> > +        Fixed in commit d81d857f4421d205395d55200425daa6591c28a5.
> > +        :avocado: tags=RHBZ1431939
> > +        """
> > +
> > +        cmd = 'object_add memory-backend-ram,id=mem1,size=1G'
> > +        res = self.vm.qmp('human-monitor-command', command_line=cmd)
> > +        self.assertEqual('', res['return'])
> 
> General question about QMP test coding style:
> 
> What happens if res['return'] does not exist because the QMP command
> failed?
> 
> I tend to use dict.get() to prevent KeyError.  That way the
> assertEqual() will fail instead of an unhandled KeyError in the test
> code.

It looks like vm.command() would be appropriate on most cases, as
it will check for errors and return res['result'] automatically.

vm.qmp() seems to be useful only if you really don't want an
exception to be raised in case of QMP errors.

Maybe we should rename .qmp() to .raw_qmp() to discourage people
from using it.

-- 
Eduardo

Reply via email to