From: Emanuele Giuseppe Esposito <eesposit@redhat.com>
To: qemu-block@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
Emanuele Giuseppe Esposito <eesposit@redhat.com>,
Eduardo Habkost <ehabkost@redhat.com>,
qemu-devel@nongnu.org, Max Reitz <mreitz@redhat.com>,
Cleber Rosa <crosa@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>, John Snow <jsnow@redhat.com>
Subject: [PATCH v4 01/15] python: qemu: add timer parameter for qmp.accept socket
Date: Thu, 20 May 2021 09:52:22 +0200 [thread overview]
Message-ID: <20210520075236.44723-2-eesposit@redhat.com> (raw)
In-Reply-To: <20210520075236.44723-1-eesposit@redhat.com>
Alsp 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 qemu-iotests execution.
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
---
python/qemu/machine.py | 7 +++++--
python/qemu/qtest.py | 5 +++--
tests/qemu-iotests/iotests.py | 3 ++-
3 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/python/qemu/machine.py b/python/qemu/machine.py
index 6e44bda337..df32de4377 100644
--- a/python/qemu/machine.py
+++ b/python/qemu/machine.py
@@ -89,7 +89,8 @@ def __init__(self,
socket_scm_helper: Optional[str] = None,
sock_dir: Optional[str] = None,
drain_console: bool = False,
- console_log: Optional[str] = None):
+ console_log: Optional[str] = None,
+ qmp_timer: Optional[float] = None):
'''
Initialize a QEMUMachine
@@ -103,6 +104,7 @@ def __init__(self,
@param sock_dir: where to create socket (overrides test_dir for sock)
@param drain_console: (optional) True to drain console socket to buffer
@param console_log: (optional) path to console log file
+ @param qmp_timer: (optional) default QMP socket timeout
@note: Qemu process is not started until launch() is used.
'''
# Direct user configuration
@@ -110,6 +112,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._test_dir = test_dir
@@ -323,7 +326,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:
"""
diff --git a/python/qemu/qtest.py b/python/qemu/qtest.py
index 39a0cf62fe..afea210d9d 100644
--- a/python/qemu/qtest.py
+++ b/python/qemu/qtest.py
@@ -114,14 +114,15 @@ def __init__(self,
name: Optional[str] = None,
test_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):
if name is None:
name = "qemu-%d" % os.getpid()
if sock_dir is None:
sock_dir = test_dir
super().__init__(binary, args, name=name, test_dir=test_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")
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index ec3c69daf1..5d78de0f0b 100644
--- a/tests/qemu-iotests/iotests.py
+++ b/tests/qemu-iotests/iotests.py
@@ -571,10 +571,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,
test_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):
--
2.30.2
next prev parent reply other threads:[~2021-05-20 7:57 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-20 7:52 [PATCH v4 00/15] qemu_iotests: improve debugging options Emanuele Giuseppe Esposito
2021-05-20 7:52 ` Emanuele Giuseppe Esposito [this message]
2021-05-26 11:13 ` [PATCH v4 01/15] python: qemu: add timer parameter for qmp.accept socket Vladimir Sementsov-Ogievskiy
2021-06-02 23:23 ` John Snow
2021-06-03 8:06 ` Emanuele Giuseppe Esposito
2021-06-03 19:02 ` John Snow
2021-06-04 8:48 ` Emanuele Giuseppe Esposito
2021-05-20 7:52 ` [PATCH v4 02/15] python: qemu: pass the wrapper field from QEMUQtestmachine to QEMUMachine Emanuele Giuseppe Esposito
2021-05-26 11:16 ` Vladimir Sementsov-Ogievskiy
2021-05-20 7:52 ` [PATCH v4 03/15] docs/devel/testing: add debug section to the QEMU iotests chapter Emanuele Giuseppe Esposito
2021-05-26 11:18 ` Vladimir Sementsov-Ogievskiy
2021-05-20 7:52 ` [PATCH v4 04/15] qemu-iotests: add option to attach gdbserver Emanuele Giuseppe Esposito
2021-05-26 11:24 ` Vladimir Sementsov-Ogievskiy
2021-05-26 12:48 ` Paolo Bonzini
2021-05-26 13:25 ` Vladimir Sementsov-Ogievskiy
2021-05-26 17:23 ` Emanuele Giuseppe Esposito
2021-05-26 19:15 ` Vladimir Sementsov-Ogievskiy
2021-05-27 11:06 ` Emanuele Giuseppe Esposito
2021-05-27 12:17 ` Vladimir Sementsov-Ogievskiy
2021-05-28 16:26 ` Vladimir Sementsov-Ogievskiy
2021-05-20 7:52 ` [PATCH v4 05/15] qemu-iotests: delay QMP socket timers Emanuele Giuseppe Esposito
2021-05-28 17:06 ` Vladimir Sementsov-Ogievskiy
2021-06-03 11:03 ` Emanuele Giuseppe Esposito
2021-06-03 12:25 ` Vladimir Sementsov-Ogievskiy
2021-06-03 12:52 ` Emanuele Giuseppe Esposito
2021-05-20 7:52 ` [PATCH v4 06/15] qemu_iotests: insert gdbserver command line as wrapper for qemu binary Emanuele Giuseppe Esposito
2021-05-28 17:07 ` Vladimir Sementsov-Ogievskiy
2021-05-20 7:52 ` [PATCH v4 07/15] qemu-iotests: add gdbserver option to script tests too Emanuele Giuseppe Esposito
2021-05-28 17:09 ` Vladimir Sementsov-Ogievskiy
2021-05-20 7:52 ` [PATCH v4 08/15] docs/devel/testing: add -gdb option to the debugging section of QEMU iotests Emanuele Giuseppe Esposito
2021-05-28 17:16 ` Vladimir Sementsov-Ogievskiy
2021-05-28 20:31 ` Emanuele Giuseppe Esposito
2021-05-20 7:52 ` [PATCH v4 09/15] qemu-iotests: extend the check script to support valgrind for python tests Emanuele Giuseppe Esposito
2021-05-28 17:24 ` Vladimir Sementsov-Ogievskiy
2021-05-28 20:31 ` Emanuele Giuseppe Esposito
2021-05-20 7:52 ` [PATCH v4 10/15] qemu-iotests: extent QMP socket timeout when using valgrind Emanuele Giuseppe Esposito
2021-05-28 17:27 ` Vladimir Sementsov-Ogievskiy
2021-05-20 7:52 ` [PATCH v4 11/15] qemu-iotests: allow valgrind to read/delete the generated log file Emanuele Giuseppe Esposito
2021-05-28 17:39 ` Vladimir Sementsov-Ogievskiy
2021-05-20 7:52 ` [PATCH v4 12/15] qemu-iotests: insert valgrind command line as wrapper for qemu binary Emanuele Giuseppe Esposito
2021-05-28 17:41 ` Vladimir Sementsov-Ogievskiy
2021-05-20 7:52 ` [PATCH v4 13/15] docs/devel/testing: add -valgrind option to the debug section of QEMU iotests Emanuele Giuseppe Esposito
2021-05-28 17:42 ` Vladimir Sementsov-Ogievskiy
2021-05-20 7:52 ` [PATCH v4 14/15] qemu-iotests: add option to show qemu binary logs on stdout Emanuele Giuseppe Esposito
2021-05-28 17:52 ` Vladimir Sementsov-Ogievskiy
2021-05-28 20:32 ` Emanuele Giuseppe Esposito
2021-05-20 7:52 ` [PATCH v4 15/15] docs/devel/testing: add -p option to the debug section of QEMU iotests Emanuele Giuseppe Esposito
2021-05-28 17:53 ` Vladimir Sementsov-Ogievskiy
2021-05-26 11:32 ` [PATCH v4 00/15] qemu_iotests: improve debugging options Vladimir Sementsov-Ogievskiy
2021-05-26 17:18 ` Emanuele Giuseppe Esposito
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210520075236.44723-2-eesposit@redhat.com \
--to=eesposit@redhat.com \
--cc=crosa@redhat.com \
--cc=ehabkost@redhat.com \
--cc=jsnow@redhat.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).