]> git.proxmox.com Git - mirror_qemu.git/commitdiff
python/machine.py: upgrade vm.cmd() method
authorVladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Fri, 6 Oct 2023 15:41:16 +0000 (18:41 +0300)
committerJohn Snow <jsnow@redhat.com>
Thu, 12 Oct 2023 18:21:43 +0000 (14:21 -0400)
The method is not popular in iotests, we prefer use vm.qmp() and then
check success by hand. But that's not optimal. To simplify movement to
vm.cmd() let's support same interface improvements like in vm.qmp().

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id: 20231006154125.1068348-7-vsementsov@yandex-team.ru
Signed-off-by: John Snow <jsnow@redhat.com>
python/qemu/machine/machine.py

index eae193eb00c2a2e5f0c45d880477cdcc6662ee9a..31cb9d617d2925d2a2b51571efb96b0b6e478981 100644 (file)
@@ -708,13 +708,23 @@ class QEMUMachine:
         return ret
 
     def cmd(self, cmd: str,
-            conv_keys: bool = True,
+            args_dict: Optional[Dict[str, object]] = None,
+            conv_keys: Optional[bool] = None,
             **args: Any) -> QMPReturnValue:
         """
         Invoke a QMP command.
         On success return the response dict.
         On failure raise an exception.
         """
+        if args_dict is not None:
+            assert not args
+            assert conv_keys is None
+            args = args_dict
+            conv_keys = False
+
+        if conv_keys is None:
+            conv_keys = True
+
         qmp_args = self._qmp_args(conv_keys, args)
         ret = self._qmp.cmd(cmd, **qmp_args)
         if cmd == 'quit':