[PATCH v3 00/15] qemu_iotests: improve debugging options

Emanuele Giuseppe Esposito posted 15 patches 3 years ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210414170352.29927-1-eesposit@redhat.com
Maintainers: Cleber Rosa <crosa@redhat.com>, John Snow <jsnow@redhat.com>, Kevin Wolf <kwolf@redhat.com>, Eduardo Habkost <ehabkost@redhat.com>, Max Reitz <mreitz@redhat.com>
There is a newer version of this series
docs/devel/testing.rst        | 26 ++++++++++++++++
python/qemu/machine.py        |  6 +++-
python/qemu/qtest.py          |  4 ++-
tests/qemu-iotests/check      | 14 ++++++---
tests/qemu-iotests/common.rc  |  8 ++++-
tests/qemu-iotests/iotests.py | 58 +++++++++++++++++++++++++++++++++--
tests/qemu-iotests/testenv.py | 21 +++++++++++--
7 files changed, 125 insertions(+), 12 deletions(-)
[PATCH v3 00/15] qemu_iotests: improve debugging options
Posted by Emanuele Giuseppe Esposito 3 years ago
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>
---
v3:
- Introduce the class field _qmp_timer instead of a function parameter
in the _post_launch() function [John]
- style and cleanup fixes in iotests.py [Paolo]


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        | 26 ++++++++++++++++
 python/qemu/machine.py        |  6 +++-
 python/qemu/qtest.py          |  4 ++-
 tests/qemu-iotests/check      | 14 ++++++---
 tests/qemu-iotests/common.rc  |  8 ++++-
 tests/qemu-iotests/iotests.py | 58 +++++++++++++++++++++++++++++++++--
 tests/qemu-iotests/testenv.py | 21 +++++++++++--
 7 files changed, 125 insertions(+), 12 deletions(-)

-- 
2.30.2