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,5,10 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 <eespo...@redhat.com> --- v4: * Rename environment variable from GDB_QEMU to GDB_OPTIONS * This time test 297 (pylint) passes [Max] * Refactor the qmp_timer field in machine.py, and add a new parameter in machine.py and subclasses constructor [John] * Add additional check in patch 4 to cover the case where GDB_OPTIONS is empty Emanuele Giuseppe Esposito (15): python: qemu: add timer parameter for qmp.accept socket python: qemu: pass the wrapper field from QEMUQtestmachine to QEMUMachine docs/devel/testing: add debug section to the QEMU iotests chapter 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 docs/devel/testing: add -gdb option to the debugging section of QEMU iotests qemu-iotests: extend the check script to support valgrind for python tests qemu-iotests: extent QMP socket timeout when using valgrind qemu-iotests: allow valgrind to read/delete the generated log file qemu-iotests: insert valgrind command line as wrapper for qemu binary docs/devel/testing: add -valgrind option to the debug section of QEMU iotests qemu-iotests: add option to show qemu binary logs on stdout docs/devel/testing: add -p option to the debug section of QEMU iotests docs/devel/testing.rst | 30 +++++++++++++++++++ python/qemu/machine.py | 7 +++-- python/qemu/qtest.py | 9 ++++-- tests/qemu-iotests/check | 15 +++++++--- tests/qemu-iotests/common.rc | 8 ++++- tests/qemu-iotests/iotests.py | 56 +++++++++++++++++++++++++++++++---- tests/qemu-iotests/testenv.py | 25 ++++++++++++++-- 7 files changed, 132 insertions(+), 18 deletions(-) -- 2.30.2