The iotests interface expects to return the greeting as a dict; AQMP
offers it as a rich object.
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id: 20210923004938.3999963-6-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
---
python/qemu/aqmp/models.py | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/python/qemu/aqmp/models.py b/python/qemu/aqmp/models.py
index 24c94123ac0..de87f878047 100644
--- a/python/qemu/aqmp/models.py
+++ b/python/qemu/aqmp/models.py
@@ -8,8 +8,10 @@
# pylint: disable=too-few-public-methods
from collections import abc
+import copy
from typing import (
Any,
+ Dict,
Mapping,
Optional,
Sequence,
@@ -66,6 +68,17 @@ def __init__(self, raw: Mapping[str, Any]):
self._check_member('QMP', abc.Mapping, "JSON object")
self.QMP = QMPGreeting(self._raw['QMP'])
+ def _asdict(self) -> Dict[str, object]:
+ """
+ For compatibility with the iotests sync QMP wrapper.
+
+ The legacy QMP interface needs Greetings as a garden-variety Dict.
+
+ This interface is private in the hopes that it will be able to
+ be dropped again in the near-future. Caller beware!
+ """
+ return dict(copy.deepcopy(self._raw))
+
class QMPGreeting(Model):
"""
--
2.31.1