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