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

Emanuele Giuseppe Esposito posted 16 patches 2 years, 10 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210628123150.56567-1-eesposit@redhat.com
Maintainers: Eduardo Habkost <ehabkost@redhat.com>, Cleber Rosa <crosa@redhat.com>, Kevin Wolf <kwolf@redhat.com>, John Snow <jsnow@redhat.com>, Max Reitz <mreitz@redhat.com>
There is a newer version of this series
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.qemu |  7 ++++-
tests/qemu-iotests/common.rc   |  8 +++++-
tests/qemu-iotests/iotests.py  | 49 ++++++++++++++++++++++++++++++++--
tests/qemu-iotests/testenv.py  | 23 ++++++++++++++--
9 files changed, 144 insertions(+), 18 deletions(-)
[PATCH v7 00/16] qemu_iotests: improve debugging options
Posted by Emanuele Giuseppe Esposito 2 years, 10 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,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>
---
v7:
* While using debugging tests with gdb, I found out that there is a
  timer also in bash scripts (common.qemu). Modify patch 8 to remove
  the timer when gdb is used.

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

-- 
2.31.1


Re: [PATCH v7 00/16] qemu_iotests: improve debugging options
Posted by John Snow 2 years, 10 months ago
On Mon, Jun 28, 2021 at 8:32 AM Emanuele Giuseppe Esposito <
eesposit@redhat.com> 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,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>
>

Don't forget that you have my Acked-By on patches 1-3, I'm content with a
Block maintainer staging this entire series.

--js


> ---
> v7:
> * While using debugging tests with gdb, I found out that there is a
>   timer also in bash scripts (common.qemu). Modify patch 8 to remove
>   the timer when gdb is used.
>
> 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.qemu |  7 ++++-
>  tests/qemu-iotests/common.rc   |  8 +++++-
>  tests/qemu-iotests/iotests.py  | 49 ++++++++++++++++++++++++++++++++--
>  tests/qemu-iotests/testenv.py  | 23 ++++++++++++++--
>  9 files changed, 144 insertions(+), 18 deletions(-)
>
> --
> 2.31.1
>
>
Re: [PATCH v7 00/16] qemu_iotests: improve debugging options
Posted by Emanuele Giuseppe Esposito 2 years, 10 months ago

On 28/06/2021 18:48, John Snow wrote:
> 
> 
> On Mon, Jun 28, 2021 at 8:32 AM Emanuele Giuseppe Esposito 
> <eesposit@redhat.com <mailto:eesposit@redhat.com>> 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,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
>     <mailto:eesposit@redhat.com>>
> 
> 
> Don't forget that you have my Acked-By on patches 1-3, I'm content with 
> a Block maintainer staging this entire series.
> 

Sorry I forgot to update that. Will add the acked-by and together with 
Eric's changes will respin once more.

Thank you,
Emanuele

>     ---
>     v7:
>     * While using debugging tests with gdb, I found out that there is a
>        timer also in bash scripts (common.qemu). Modify patch 8 to remove
>        the timer when gdb is used.
> 
>     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.qemu |  7 ++++-
>       tests/qemu-iotests/common.rc   |  8 +++++-
>       tests/qemu-iotests/iotests.py  | 49 ++++++++++++++++++++++++++++++++--
>       tests/qemu-iotests/testenv.py  | 23 ++++++++++++++--
>       9 files changed, 144 insertions(+), 18 deletions(-)
> 
>     -- 
>     2.31.1
>