[PATCH v9 00/16] qemu_iotests: improve debugging options

Emanuele Giuseppe Esposito posted 16 patches 2 years, 8 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210809090114.64834-1-eesposit@redhat.com
Maintainers: Eduardo Habkost <ehabkost@redhat.com>, John Snow <jsnow@redhat.com>, Cleber Rosa <crosa@redhat.com>, Max Reitz <mreitz@redhat.com>, Kevin Wolf <kwolf@redhat.com>
docs/devel/testing.rst         | 29 ++++++++++++++++++++
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.qemu |  7 ++++-
tests/qemu-iotests/common.rc   |  8 +++++-
tests/qemu-iotests/iotests.py  | 49 ++++++++++++++++++++++++++++++++--
tests/qemu-iotests/testenv.py  | 23 ++++++++++++++--
9 files changed, 143 insertions(+), 18 deletions(-)
[PATCH v9 00/16] qemu_iotests: improve debugging options
Posted by Emanuele Giuseppe Esposito 2 years, 8 months 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-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,8,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.

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
---
v9:
* Replace `! -z` with `-n` in bash scripts (patch 8), and quote $GDB_OPTIONS in
  the same if condition [Max]
* Add r-b from Max to all patches except 8, remove r-b from Vladimir on patch 8

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         | 29 ++++++++++++++++++++
 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.qemu |  7 ++++-
 tests/qemu-iotests/common.rc   |  8 +++++-
 tests/qemu-iotests/iotests.py  | 49 ++++++++++++++++++++++++++++++++--
 tests/qemu-iotests/testenv.py  | 23 ++++++++++++++--
 9 files changed, 143 insertions(+), 18 deletions(-)

-- 
2.31.1


Re: [PATCH v9 00/16] qemu_iotests: improve debugging options
Posted by Hanna Reitz 2 years, 8 months ago
On 09.08.21 11:00, Emanuele Giuseppe Esposito wrote:
> 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,8,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.
>
> Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
> ---
> v9:
> * Replace `! -z` with `-n` in bash scripts (patch 8), and quote $GDB_OPTIONS in
>    the same if condition [Max]
> * Add r-b from Max to all patches except 8, remove r-b from Vladimir on patch 8

Thanks!  Applied to my block-next branch for 6.2:

https://github.com/XanClic/qemu/commits/block-next

(Usually, I’d take test patches to the block branch regardless of where 
we are in the freeze, but with this quite long series I feel better 
putting it into block-next.)

Hanna