Message ID | 20210407135021.48330-1-eesposit@redhat.com |
---|---|
Headers | show |
Series | qemu_iotests: improve debugging options | expand |
Emanuele Giuseppe Esposito <eesposit@redhat.com> writes: > This series adds the option to attach gdbserver and valgrind > to the QEMU binary running in qemu_iotests. > It also allows to redirect QEMU binaries output of the python tests > to the stdout, instead of a log file. > > Patches 1-6 introduce the -gdb option to both python and bash tests, > 7-10 extend the already existing -valgrind flag to work also on > python tests, and patch 11 introduces -p to enable logging to stdout. > > In particular, patches 1,2,4,8 focus on extending the QMP socket timers > when using gdb/valgrind, otherwise the python tests will fail due to > delays in the QMP responses. > > This series is tested on the previous serie > "qemu-iotests: quality of life improvements" > but independent from it, so it can be applied separately. > > Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com> How discoverable are these goodies for developers with only superficial knowledge of iotests?
On 08/04/2021 10:26, Markus Armbruster wrote: > Emanuele Giuseppe Esposito <eesposit@redhat.com> writes: > >> This series adds the option to attach gdbserver and valgrind >> to the QEMU binary running in qemu_iotests. >> It also allows to redirect QEMU binaries output of the python tests >> to the stdout, instead of a log file. >> >> Patches 1-6 introduce the -gdb option to both python and bash tests, >> 7-10 extend the already existing -valgrind flag to work also on >> python tests, and patch 11 introduces -p to enable logging to stdout. >> >> In particular, patches 1,2,4,8 focus on extending the QMP socket timers >> when using gdb/valgrind, otherwise the python tests will fail due to >> delays in the QMP responses. >> >> This series is tested on the previous serie >> "qemu-iotests: quality of life improvements" >> but independent from it, so it can be applied separately. >> >> Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com> > > How discoverable are these goodies for developers with only superficial > knowledge of iotests? > Not really sure what you mean, but ./check --help now shows: > -p enable prints > -gdb start gdbserver with $GDB_QEMU options. Default is localhost:12345 Which I guess should be clear enough? Btw two-three weeks ago I didn't know anything about these tests either. I agree I can make -p more clear, saying "enable qemu binary prints to stdout", and move -valgrind to the "optional arguments" instead of "bash-only" Emanuele
Emanuele Giuseppe Esposito <eesposit@redhat.com> writes: > On 08/04/2021 10:26, Markus Armbruster wrote: >> Emanuele Giuseppe Esposito <eesposit@redhat.com> writes: >> >>> This series adds the option to attach gdbserver and valgrind >>> to the QEMU binary running in qemu_iotests. >>> It also allows to redirect QEMU binaries output of the python tests >>> to the stdout, instead of a log file. >>> >>> Patches 1-6 introduce the -gdb option to both python and bash tests, >>> 7-10 extend the already existing -valgrind flag to work also on >>> python tests, and patch 11 introduces -p to enable logging to stdout. >>> >>> In particular, patches 1,2,4,8 focus on extending the QMP socket timers >>> when using gdb/valgrind, otherwise the python tests will fail due to >>> delays in the QMP responses. >>> >>> This series is tested on the previous serie >>> "qemu-iotests: quality of life improvements" >>> but independent from it, so it can be applied separately. >>> >>> Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com> >> >> How discoverable are these goodies for developers with only superficial >> knowledge of iotests? >> > > Not really sure what you mean, but > > ./check --help now shows: > >> -p enable prints >> -gdb start gdbserver with $GDB_QEMU options. Default is localhost:12345 > > Which I guess should be clear enough? Btw two-three weeks ago I didn't > know anything about these tests either. > > I agree I can make -p more clear, saying "enable qemu binary prints to > stdout", and move -valgrind to the "optional arguments" instead of > "bash-only" Yes, please (this is not a demand). docs/devel/testing.rst section "QEMU iotests" is the place to explain things in more detail than --help, if that's useful. Right now it simply points to check -h.
On 08/04/2021 14:39, Markus Armbruster wrote: > Emanuele Giuseppe Esposito <eesposit@redhat.com> writes: > >> On 08/04/2021 10:26, Markus Armbruster wrote: >>> Emanuele Giuseppe Esposito <eesposit@redhat.com> writes: >>> >>>> This series adds the option to attach gdbserver and valgrind >>>> to the QEMU binary running in qemu_iotests. >>>> It also allows to redirect QEMU binaries output of the python tests >>>> to the stdout, instead of a log file. >>>> >>>> Patches 1-6 introduce the -gdb option to both python and bash tests, >>>> 7-10 extend the already existing -valgrind flag to work also on >>>> python tests, and patch 11 introduces -p to enable logging to stdout. >>>> >>>> In particular, patches 1,2,4,8 focus on extending the QMP socket timers >>>> when using gdb/valgrind, otherwise the python tests will fail due to >>>> delays in the QMP responses. >>>> >>>> This series is tested on the previous serie >>>> "qemu-iotests: quality of life improvements" >>>> but independent from it, so it can be applied separately. >>>> >>>> Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com> >>> >>> How discoverable are these goodies for developers with only superficial >>> knowledge of iotests? >>> >> >> Not really sure what you mean, but >> >> ./check --help now shows: >> >>> -p enable prints >>> -gdb start gdbserver with $GDB_QEMU options. Default is localhost:12345 >> >> Which I guess should be clear enough? Btw two-three weeks ago I didn't >> know anything about these tests either. >> >> I agree I can make -p more clear, saying "enable qemu binary prints to >> stdout", and move -valgrind to the "optional arguments" instead of >> "bash-only" > > Yes, please (this is not a demand). > > docs/devel/testing.rst section "QEMU iotests" is the place to explain > things in more detail than --help, if that's useful. Right now it > simply points to check -h. > Ok, I will add a new section in testing.rst explaining the new flags. Thank you, Emanuele
This series adds the option to attach gdbserver and valgrind to the QEMU binary running in qemu_iotests. It also allows to redirect QEMU binaries output of the python tests to the stdout, instead of a log file. Patches 1-6 introduce the -gdb option to both python and bash tests, 7-10 extend the already existing -valgrind flag to work also on python tests, and patch 11 introduces -p to enable logging to stdout. In particular, patches 1,2,4,8 focus on extending the QMP socket timers when using gdb/valgrind, otherwise the python tests will fail due to delays in the QMP responses. This series is tested on the previous serie "qemu-iotests: quality of life improvements" but independent from it, so it can be applied separately. Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com> --- v2: - add valgrind and print patches - better splitup of patches, and clearer commit messages Emanuele Giuseppe Esposito (11): python: qemu: add timer parameter for qmp.accept socket python: qemu: pass the wrapper field from QEMUQtestmachine to QEMUMachine qemu-iotests: add option to attach gdbserver qemu-iotests: delay QMP socket timers qemu_iotests: insert gdbserver command line as wrapper for qemu binary qemu-iotests: add gdbserver option to script tests too qemu_iotests: extend the check script to support valgrind for python tests qemu_iotests: extent QMP socket timeout when using valgrind qemu_iotests: allow valgrint to print/delete the generated log file qemu_iotests: insert valgrind command line as wrapper for qemu binary qemu_iotests: add option to show qemu binary logs on stdout python/qemu/machine.py | 12 ++++-- python/qemu/qtest.py | 8 ++-- tests/qemu-iotests/check | 7 +++- tests/qemu-iotests/common.rc | 8 +++- tests/qemu-iotests/iotests.py | 69 ++++++++++++++++++++++++++++++++--- tests/qemu-iotests/testenv.py | 24 ++++++++++-- 6 files changed, 111 insertions(+), 17 deletions(-)