[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 02/25] python/machine: close sock_pair in cleanup path, (continued)
- [PULL 02/25] python/machine: close sock_pair in cleanup path, John Snow, 2023/10/13
- [PULL 01/25] python/machine: move socket setup out of _base_args property, John Snow, 2023/10/13
- [PULL 03/25] python/console_socket: accept existing FD in initializer, John Snow, 2023/10/13
- [PULL 11/25] python/qemu/qmp/legacy: cmd(): drop cmd_id unused argument, John Snow, 2023/10/13
- [PULL 09/25] configure: fix error message to say Python 3.8, John Snow, 2023/10/13
- [PULL 12/25] qmp_shell.py: _fill_completion() use .command() instead of .cmd(), 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 10/25] Python: Enable python3.12 support, John Snow, 2023/10/13
- [PULL 07/25] Python/iotests: Add type hint for nbd module, John Snow, 2023/10/13
- [PULL 18/25] iotests: add some missed checks of qmp result, John Snow, 2023/10/13
- [PULL 16/25] python/machine.py: upgrade vm.cmd() method,
John Snow <=
- [PULL 17/25] iotests: QemuStorageDaemon: add cmd() method like in QEMUMachine., John Snow, 2023/10/13
- [PULL 06/25] python/machine: remove unused sock_dir argument, 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 19/25] iotests: refactor some common qmp result checks into generic pattern, 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 23/25] tests/vm/basevm.py: use cmd() instead of qmp(), John Snow, 2023/10/13
- [PULL 24/25] scripts: add python_qmp_updater.py, John Snow, 2023/10/13