mbox series

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

Message ID 20210628123150.56567-1-eesposit@redhat.com (mailing list archive)
Headers show
Series qemu_iotests: improve debugging options | expand

Message

Emanuele Giuseppe Esposito June 28, 2021, 12:31 p.m. UTC
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(-)

Comments

John Snow June 28, 2021, 4:48 p.m. UTC | #1
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
>
>
Emanuele Giuseppe Esposito June 29, 2021, 7:08 a.m. UTC | #2
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
>