From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
To: Emanuele Giuseppe Esposito <eesposit@redhat.com>, qemu-block@nongnu.org
Cc: John Snow <jsnow@redhat.com>, Cleber Rosa <crosa@redhat.com>,
Eduardo Habkost <ehabkost@redhat.com>,
Kevin Wolf <kwolf@redhat.com>, Max Reitz <mreitz@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
qemu-devel@nongnu.org
Subject: Re: [PATCH v6 06/16] qemu-iotests: delay QMP socket timers
Date: Tue, 22 Jun 2021 13:50:25 +0300 [thread overview]
Message-ID: <4179a6d2-3fc8-aae1-4747-b4ae541a8819@virtuozzo.com> (raw)
In-Reply-To: <20210621103337.36637-7-eesposit@redhat.com>
21.06.2021 13:33, Emanuele Giuseppe Esposito wrote:
> Attaching gdbserver implies that the qmp socket
> should wait indefinitely for an answer from QEMU.
>
> Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Please, let this patch go without my r-b. I don't like it, I explained my thoughts, and you even used my suggested way in previous version.
What I don't like: good component - Timeout class, which is currently independent of outer code and can be simply moved to another module becomes dependent on global variable, which doesn't relate to the class itself. Neither I like logic of the dependency which just make the whole class do nothing by skipping any action internally. So, IMHO Timeout class becomes worse.
I'm not a maintainer here anyway, so my r-b isn't necessary :)
> ---
> tests/qemu-iotests/iotests.py | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
> index c86f239d81..e176a84620 100644
> --- a/tests/qemu-iotests/iotests.py
> +++ b/tests/qemu-iotests/iotests.py
> @@ -477,10 +477,14 @@ def __init__(self, seconds, errmsg="Timeout"):
> self.seconds = seconds
> self.errmsg = errmsg
> def __enter__(self):
> + if qemu_gdb:
> + return self
> signal.signal(signal.SIGALRM, self.timeout)
> signal.setitimer(signal.ITIMER_REAL, self.seconds)
> return self
> def __exit__(self, exc_type, value, traceback):
> + if qemu_gdb:
> + return False
> signal.setitimer(signal.ITIMER_REAL, 0)
> return False
> def timeout(self, signum, frame):
> @@ -575,7 +579,7 @@ class VM(qtest.QEMUQtestMachine):
>
> def __init__(self, path_suffix=''):
> name = "qemu%s-%d" % (path_suffix, os.getpid())
> - timer = 15.0
> + timer = 15.0 if not qemu_gdb else None
> super().__init__(qemu_prog, qemu_opts, name=name,
> base_temp_dir=test_dir,
> socket_scm_helper=socket_scm_helper,
>
--
Best regards,
Vladimir
next prev parent reply other threads:[~2021-06-22 10:53 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-21 10:33 [PATCH v6 00/16] qemu_iotests: improve debugging options Emanuele Giuseppe Esposito
2021-06-21 10:33 ` [PATCH v6 01/16] python: qemu: add timer parameter for qmp.accept socket Emanuele Giuseppe Esposito
2021-06-22 14:46 ` John Snow
2021-06-21 10:33 ` [PATCH v6 02/16] python: Reduce strictness of pylint's duplicate-code check Emanuele Giuseppe Esposito
2021-06-21 10:33 ` [PATCH v6 03/16] python: qemu: pass the wrapper field from QEMUQtestmachine to QEMUMachine Emanuele Giuseppe Esposito
2021-06-21 10:33 ` [PATCH v6 04/16] docs/devel/testing: add debug section to the QEMU iotests chapter Emanuele Giuseppe Esposito
2021-06-21 10:33 ` [PATCH v6 05/16] qemu-iotests: add option to attach gdbserver Emanuele Giuseppe Esposito
2021-06-21 10:33 ` [PATCH v6 06/16] qemu-iotests: delay QMP socket timers Emanuele Giuseppe Esposito
2021-06-22 10:50 ` Vladimir Sementsov-Ogievskiy [this message]
2021-06-22 11:04 ` Emanuele Giuseppe Esposito
2021-06-22 11:12 ` Vladimir Sementsov-Ogievskiy
2021-06-21 10:33 ` [PATCH v6 07/16] qemu_iotests: insert gdbserver command line as wrapper for qemu binary Emanuele Giuseppe Esposito
2021-06-21 10:33 ` [PATCH v6 08/16] qemu-iotests: add gdbserver option to script tests too Emanuele Giuseppe Esposito
2021-06-21 10:33 ` [PATCH v6 09/16] docs/devel/testing: add -gdb option to the debugging section of QEMU iotests Emanuele Giuseppe Esposito
2021-06-21 10:33 ` [PATCH v6 10/16] qemu-iotests: extend the check script to prepare supporting valgrind for python tests Emanuele Giuseppe Esposito
2021-06-21 10:33 ` [PATCH v6 11/16] qemu-iotests: extend QMP socket timeout when using valgrind Emanuele Giuseppe Esposito
2021-06-21 10:33 ` [PATCH v6 12/16] qemu-iotests: allow valgrind to read/delete the generated log file Emanuele Giuseppe Esposito
2021-06-21 10:33 ` [PATCH v6 13/16] qemu-iotests: insert valgrind command line as wrapper for qemu binary Emanuele Giuseppe Esposito
2021-06-21 10:33 ` [PATCH v6 14/16] docs/devel/testing: add -valgrind option to the debug section of QEMU iotests Emanuele Giuseppe Esposito
2021-06-21 10:33 ` [PATCH v6 15/16] qemu-iotests: add option to show qemu binary logs on stdout Emanuele Giuseppe Esposito
2021-06-21 10:33 ` [PATCH v6 16/16] docs/devel/testing: add -p option to the debug section of QEMU iotests 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=4179a6d2-3fc8-aae1-4747-b4ae541a8819@virtuozzo.com \
--to=vsementsov@virtuozzo.com \
--cc=crosa@redhat.com \
--cc=eesposit@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).