mirror of
https://github.com/qemu/qemu.git
synced 2025-08-14 03:15:54 +00:00
python: qemu: add timer parameter for qmp.accept socket
Also add a new _qmp_timer field to the QEMUMachine class. Let's change the default socket timeout to None, so that if a subclass needs to add a timer, it can be done by modifying this private field. At the same time, restore the timer to be 15 seconds in iotests.py, to give an upper bound to the QMP monitor test command execution. Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: John Snow <jsnow@redhat.com> Acked-by: John Snow <jsnow@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Message-Id: <20210809090114.64834-2-eesposit@redhat.com> Signed-off-by: Hanna Reitz <hreitz@redhat.com>
This commit is contained in:
parent
ec397e90d2
commit
e2f948a8b5
@ -97,7 +97,8 @@ def __init__(self,
|
||||
sock_dir: Optional[str] = None,
|
||||
drain_console: bool = False,
|
||||
console_log: Optional[str] = None,
|
||||
log_dir: Optional[str] = None):
|
||||
log_dir: Optional[str] = None,
|
||||
qmp_timer: Optional[float] = None):
|
||||
'''
|
||||
Initialize a QEMUMachine
|
||||
|
||||
@ -112,6 +113,7 @@ def __init__(self,
|
||||
@param drain_console: (optional) True to drain console socket to buffer
|
||||
@param console_log: (optional) path to console log file
|
||||
@param log_dir: where to create and keep log files
|
||||
@param qmp_timer: (optional) default QMP socket timeout
|
||||
@note: Qemu process is not started until launch() is used.
|
||||
'''
|
||||
# pylint: disable=too-many-arguments
|
||||
@ -121,6 +123,7 @@ def __init__(self,
|
||||
self._binary = binary
|
||||
self._args = list(args)
|
||||
self._wrapper = wrapper
|
||||
self._qmp_timer = qmp_timer
|
||||
|
||||
self._name = name or "qemu-%d" % os.getpid()
|
||||
self._base_temp_dir = base_temp_dir
|
||||
@ -343,7 +346,7 @@ def _pre_launch(self) -> None:
|
||||
|
||||
def _post_launch(self) -> None:
|
||||
if self._qmp_connection:
|
||||
self._qmp.accept()
|
||||
self._qmp.accept(self._qmp_timer)
|
||||
|
||||
def _post_shutdown(self) -> None:
|
||||
"""
|
||||
|
@ -115,7 +115,8 @@ def __init__(self,
|
||||
name: Optional[str] = None,
|
||||
base_temp_dir: str = "/var/tmp",
|
||||
socket_scm_helper: Optional[str] = None,
|
||||
sock_dir: Optional[str] = None):
|
||||
sock_dir: Optional[str] = None,
|
||||
qmp_timer: Optional[float] = None):
|
||||
# pylint: disable=too-many-arguments
|
||||
|
||||
if name is None:
|
||||
@ -124,7 +125,7 @@ def __init__(self,
|
||||
sock_dir = base_temp_dir
|
||||
super().__init__(binary, args, name=name, base_temp_dir=base_temp_dir,
|
||||
socket_scm_helper=socket_scm_helper,
|
||||
sock_dir=sock_dir)
|
||||
sock_dir=sock_dir, qmp_timer=qmp_timer)
|
||||
self._qtest: Optional[QEMUQtestProtocol] = None
|
||||
self._qtest_path = os.path.join(sock_dir, name + "-qtest.sock")
|
||||
|
||||
|
@ -570,10 +570,11 @@ class VM(qtest.QEMUQtestMachine):
|
||||
|
||||
def __init__(self, path_suffix=''):
|
||||
name = "qemu%s-%d" % (path_suffix, os.getpid())
|
||||
timer = 15.0
|
||||
super().__init__(qemu_prog, qemu_opts, name=name,
|
||||
base_temp_dir=test_dir,
|
||||
socket_scm_helper=socket_scm_helper,
|
||||
sock_dir=sock_dir)
|
||||
sock_dir=sock_dir, qmp_timer=timer)
|
||||
self._num_drives = 0
|
||||
|
||||
def add_object(self, opts):
|
||||
|
Loading…
Reference in New Issue
Block a user