[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 16/25] python/machine.py: upgrade vm.cmd() method
From: |
John Snow |
Subject: |
[PULL 16/25] python/machine.py: upgrade vm.cmd() method |
Date: |
Fri, 13 Oct 2023 15:09:31 -0400 |
From: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
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 | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/python/qemu/machine/machine.py b/python/qemu/machine/machine.py
index eae193eb00..31cb9d617d 100644
--- a/python/qemu/machine/machine.py
+++ b/python/qemu/machine/machine.py
@@ -708,13 +708,23 @@ def qmp(self, cmd: str,
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':
--
2.41.0
- [PULL 18/25] iotests: add some missed checks of qmp result, (continued)
- [PULL 18/25] iotests: add some missed checks of qmp result, John Snow, 2023/10/13
- [PULL 12/25] qmp_shell.py: _fill_completion() use .command() instead of .cmd(), John Snow, 2023/10/13
- [PULL 07/25] Python/iotests: Add type hint for nbd module, John Snow, 2023/10/13
- [PULL 17/25] iotests: QemuStorageDaemon: add cmd() method like in QEMUMachine., John Snow, 2023/10/13
- [PULL 19/25] iotests: refactor some common qmp result checks into generic pattern, John Snow, 2023/10/13
- [PULL 05/25] python/machine: use socketpair() for qtest connection, John Snow, 2023/10/13
- [PULL 14/25] python: rename QEMUMonitorProtocol.cmd() to cmd_raw(), John Snow, 2023/10/13
- [PULL 22/25] iotests.py: pause_job(): drop return value, John Snow, 2023/10/13
- [PULL 24/25] scripts: add python_qmp_updater.py, John Snow, 2023/10/13
- [PULL 13/25] scripts/cpu-x86-uarch-abi.py: use .command() instead of .cmd(), John Snow, 2023/10/13
- [PULL 16/25] python/machine.py: upgrade vm.cmd() method,
John Snow <=
- [PULL 23/25] tests/vm/basevm.py: use cmd() instead of qmp(), John Snow, 2023/10/13
- [PULL 20/25] iotests: drop some extra semicolons, John Snow, 2023/10/13
- [PULL 15/25] python/qemu: rename command() to cmd(), John Snow, 2023/10/13
- [PULL 25/25] python: use vm.cmd() instead of vm.qmp() where appropriate, John Snow, 2023/10/13
- [PULL 21/25] iotests: drop some extra ** in qmp() call, John Snow, 2023/10/13
- Re: [PULL 00/25] Python patches, Stefan Hajnoczi, 2023/10/16