From: Max Reitz <mreitz@redhat.com>
To: Emanuele Giuseppe Esposito <eesposit@redhat.com>, qemu-block@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
Eduardo Habkost <ehabkost@redhat.com>,
qemu-devel@nongnu.org, Cleber Rosa <crosa@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>, John Snow <jsnow@redhat.com>
Subject: Re: [PATCH v3 11/15] qemu_iotests: allow valgrind to read/delete the generated log file
Date: Fri, 30 Apr 2021 15:17:45 +0200 [thread overview]
Message-ID: <7ace108d-1cda-93ee-5c3a-fcf503858cf9@redhat.com> (raw)
In-Reply-To: <20210414170352.29927-12-eesposit@redhat.com>
On 14.04.21 19:03, Emanuele Giuseppe Esposito wrote:
> When using -valgrind on the script tests, it generates a log file
> in $TEST_DIR that is either read (if valgrind finds problems) or
> otherwise deleted. Provide the same exact behavior when using
> -valgrind on the python tests.
>
> Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
> ---
> tests/qemu-iotests/iotests.py | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
>
> diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
> index 94597433fa..aef67e3a86 100644
> --- a/tests/qemu-iotests/iotests.py
> +++ b/tests/qemu-iotests/iotests.py
> @@ -600,6 +600,26 @@ def __init__(self, path_suffix=''):
> sock_dir=sock_dir)
> self._num_drives = 0
>
> + def subprocess_check_valgrind(self, valgrind) -> None:
A type annotation would be nice. (I.e. List[str], or we make it a bool
and the caller uses bool(qemu_valgrind).)
> +
I’d drop this empty line.
> + if not valgrind:
> + return
> +
> + valgrind_filename = test_dir + "/" + str(self._popen.pid) + ".valgrind"
mypy (iotest 297) complains that _popen is Optional[], so .pid might not
exist. Perhaps this should be safeguarded in the "if not valgrind"
condition (i.e. "if not valgrind or not self._popen").
Also, pylint complains about the line being too long (79 is the maximum
length). Can be fixed with an f-string:
valgrind_filename = f"{test_dir}/{self._popen.pid}.valgrind"
> +
> + if self.exitcode() == 99:
> + with open(valgrind_filename) as f:
> + content = f.readlines()
> + for line in content:
> + print(line, end ="")
'end=""' would be better, I think. (flake8 complains.)
Also, would this be better as:
with open(valgrind_filename) as f:
for line in f.readlines():
print(line, end="")
?
(Or just
with open(valgrind_filename) as f:
print(f.read())
– wouldn’t that work, too?)
Max
> + print("")
> + else:
> + os.remove(valgrind_filename)
> +
> + def _post_shutdown(self) -> None:
> + super()._post_shutdown()
> + self.subprocess_check_valgrind(qemu_valgrind)
> +
> def add_object(self, opts):
> self._args.append('-object')
> self._args.append(opts)
>
next prev parent reply other threads:[~2021-04-30 13:22 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-14 17:03 [PATCH v3 00/15] qemu_iotests: improve debugging options Emanuele Giuseppe Esposito
2021-04-14 17:03 ` [PATCH v3 01/15] python: qemu: add timer parameter for qmp.accept socket Emanuele Giuseppe Esposito
2021-04-30 11:23 ` Max Reitz
2021-05-13 17:54 ` John Snow
2021-05-14 8:16 ` Emanuele Giuseppe Esposito
2021-04-14 17:03 ` [PATCH v3 02/15] python: qemu: pass the wrapper field from QEMUQtestmachine to QEMUMachine Emanuele Giuseppe Esposito
2021-04-30 11:23 ` Max Reitz
2021-05-13 17:55 ` John Snow
2021-04-14 17:03 ` [PATCH v3 03/15] docs/devel/testing: add debug section to the QEMU iotests chapter Emanuele Giuseppe Esposito
2021-04-30 11:23 ` Max Reitz
2021-04-30 14:07 ` Paolo Bonzini
2021-04-14 17:03 ` [PATCH v3 04/15] qemu-iotests: add option to attach gdbserver Emanuele Giuseppe Esposito
2021-04-30 11:38 ` Max Reitz
2021-04-30 21:03 ` Emanuele Giuseppe Esposito
2021-05-03 14:38 ` Max Reitz
2021-04-30 12:03 ` Max Reitz
2021-04-14 17:03 ` [PATCH v3 05/15] qemu-iotests: delay QMP socket timers Emanuele Giuseppe Esposito
2021-04-30 11:59 ` Max Reitz
2021-04-30 21:03 ` Emanuele Giuseppe Esposito
2021-05-03 15:02 ` Max Reitz
2021-05-13 18:20 ` John Snow
2021-04-14 17:03 ` [PATCH v3 06/15] qemu_iotests: insert gdbserver command line as wrapper for qemu binary Emanuele Giuseppe Esposito
2021-04-30 12:05 ` Max Reitz
2021-04-14 17:03 ` [PATCH v3 07/15] qemu-iotests: add gdbserver option to script tests too Emanuele Giuseppe Esposito
2021-04-30 12:17 ` Max Reitz
2021-04-14 17:03 ` [PATCH v3 08/15] docs/devel/testing: add -gdb option to the debugging section of QEMU iotests Emanuele Giuseppe Esposito
2021-04-30 12:27 ` Max Reitz
2021-04-14 17:03 ` [PATCH v3 09/15] qemu_iotests: extend the check script to support valgrind for python tests Emanuele Giuseppe Esposito
2021-04-30 12:45 ` Max Reitz
2021-04-14 17:03 ` [PATCH v3 10/15] qemu_iotests: extent QMP socket timeout when using valgrind Emanuele Giuseppe Esposito
2021-04-30 13:02 ` Max Reitz
2021-04-30 21:03 ` Emanuele Giuseppe Esposito
2021-05-13 18:47 ` John Snow
2021-05-14 8:16 ` Emanuele Giuseppe Esposito
2021-05-14 20:02 ` John Snow
2021-05-18 13:58 ` Emanuele Giuseppe Esposito
2021-05-18 14:26 ` John Snow
2021-05-18 18:20 ` Emanuele Giuseppe Esposito
2021-04-14 17:03 ` [PATCH v3 11/15] qemu_iotests: allow valgrind to read/delete the generated log file Emanuele Giuseppe Esposito
2021-04-30 13:17 ` Max Reitz [this message]
2021-04-14 17:03 ` [PATCH v3 12/15] qemu_iotests: insert valgrind command line as wrapper for qemu binary Emanuele Giuseppe Esposito
2021-04-30 13:20 ` Max Reitz
2021-04-14 17:03 ` [PATCH v3 13/15] docs/devel/testing: add -valgrind option to the debug section of QEMU iotests Emanuele Giuseppe Esposito
2021-04-30 13:24 ` Max Reitz
2021-04-14 17:03 ` [PATCH v3 14/15] qemu_iotests: add option to show qemu binary logs on stdout Emanuele Giuseppe Esposito
2021-04-30 13:50 ` Max Reitz
2021-04-30 21:04 ` Emanuele Giuseppe Esposito
2021-05-03 15:03 ` Max Reitz
2021-04-14 17:03 ` [PATCH v3 15/15] docs/devel/testing: add -p option to the debug section of QEMU iotests Emanuele Giuseppe Esposito
2021-04-30 13:55 ` Max Reitz
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=7ace108d-1cda-93ee-5c3a-fcf503858cf9@redhat.com \
--to=mreitz@redhat.com \
--cc=crosa@redhat.com \
--cc=eesposit@redhat.com \
--cc=ehabkost@redhat.com \
--cc=jsnow@redhat.com \
--cc=kwolf@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).