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-9 introduce the -gdb option to both python and bash tests, 10-14 extend the already existing -valgrind flag to work also on python tests, and patch 15-16 introduces -p to enable logging to stdout. In particular, patches 1,6,11 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. It is also based on "iotests/check: move general long options to double dash" by Vladimir Sementsov-Ogievskiy. Based-on: <20210526181659.365531-1-vsement...@virtuozzo.com> Signed-off-by: Emanuele Giuseppe Esposito <eespo...@redhat.com> --- v5: * base this serie on the double dash options, so define --gdb instead of -gdb * return error if -gdb and -valgrind are used together [Vladimir] * style changes (do not use subprocess_check_valgrind() but do the operation inside the caller) [Vladimir] * minor fixes in commit messages [Vladimir] * create a common public function in patch 15 instead of using _private fields [Vladimir] * use @contextmanager in patch 6 to skip gdb timeouts involving the Timeout class [Vladimir] * apply John Snow patch to silence pylint warning in the CI tests 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 prepare supporting valgrind for python tests qemu-iotests: extend 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 John Snow (1): python: Reduce strictness of pylint's duplicate-code check docs/devel/testing.rst | 30 ++++++++++++++++++++ python/qemu/machine/machine.py | 16 +++++++---- python/qemu/machine/qtest.py | 9 ++++-- python/setup.cfg | 5 ++++ tests/qemu-iotests/check | 15 +++++++--- tests/qemu-iotests/common.rc | 8 +++++- tests/qemu-iotests/iotests.py | 52 ++++++++++++++++++++++++++++++++-- tests/qemu-iotests/testenv.py | 23 +++++++++++++-- 8 files changed, 141 insertions(+), 17 deletions(-) -- 2.30.2