All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
To: Emanuele Giuseppe Esposito <eesposit@redhat.com>, qemu-block@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
	Eduardo Habkost <ehabkost@redhat.com>,
	qemu-devel@nongnu.org, Max Reitz <mreitz@redhat.com>,
	Cleber Rosa <crosa@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>, John Snow <jsnow@redhat.com>
Subject: Re: [PATCH v4 00/15] qemu_iotests: improve debugging options
Date: Wed, 26 May 2021 14:32:24 +0300	[thread overview]
Message-ID: <a19cb269-2845-e219-ab20-7fe7a0389896@virtuozzo.com> (raw)
In-Reply-To: <20210520075236.44723-1-eesposit@redhat.com>

20.05.2021 10:52, 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-6 introduce the -gdb option to both python and bash tests,

Could you describe how to use it?

I often have to debug qemu iotests with gdb, and can say the following:

1. Test runs different qemu binaries (not only qemu, but also qemu-nbd, qemu-img, qemu-io)

2. Test can run qemu binaries several times, or even in parallel.

So, with a new option, how will I choice, which qemu (or qemu-nbd, etc) process I want to be attached to gdb?

Currently, I do the following: I recompile with  "sleep(15);" at the place where I want to attach, and start the test. During the sleep, I find the needed process in "ps aux" output and start "gdb -p PID".. Sometimes there may be troubles if the place where I inserted the sleep is triggered on another code path.

So, with new option, can my workflow be improved or not?

> 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,5,10 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>
> ---
> v4:
> * Rename environment variable from GDB_QEMU to GDB_OPTIONS
> * This time test 297 (pylint) passes [Max]
> * Refactor the qmp_timer field in machine.py, and add a new
>    parameter in machine.py and subclasses constructor [John]
> * Add additional check in patch 4 to cover the case where
>    GDB_OPTIONS is empty
> 
> 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        | 30 +++++++++++++++++++
>   python/qemu/machine.py        |  7 +++--
>   python/qemu/qtest.py          |  9 ++++--
>   tests/qemu-iotests/check      | 15 +++++++---
>   tests/qemu-iotests/common.rc  |  8 ++++-
>   tests/qemu-iotests/iotests.py | 56 +++++++++++++++++++++++++++++++----
>   tests/qemu-iotests/testenv.py | 25 ++++++++++++++--
>   7 files changed, 132 insertions(+), 18 deletions(-)
> 


-- 
Best regards,
Vladimir


  parent reply	other threads:[~2021-05-26 11:33 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-20  7:52 [PATCH v4 00/15] qemu_iotests: improve debugging options Emanuele Giuseppe Esposito
2021-05-20  7:52 ` [PATCH v4 01/15] python: qemu: add timer parameter for qmp.accept socket Emanuele Giuseppe Esposito
2021-05-26 11:13   ` Vladimir Sementsov-Ogievskiy
2021-06-02 23:23   ` John Snow
2021-06-03  8:06     ` Emanuele Giuseppe Esposito
2021-06-03 19:02       ` John Snow
2021-06-04  8:48         ` Emanuele Giuseppe Esposito
2021-05-20  7:52 ` [PATCH v4 02/15] python: qemu: pass the wrapper field from QEMUQtestmachine to QEMUMachine Emanuele Giuseppe Esposito
2021-05-26 11:16   ` Vladimir Sementsov-Ogievskiy
2021-05-20  7:52 ` [PATCH v4 03/15] docs/devel/testing: add debug section to the QEMU iotests chapter Emanuele Giuseppe Esposito
2021-05-26 11:18   ` Vladimir Sementsov-Ogievskiy
2021-05-20  7:52 ` [PATCH v4 04/15] qemu-iotests: add option to attach gdbserver Emanuele Giuseppe Esposito
2021-05-26 11:24   ` Vladimir Sementsov-Ogievskiy
2021-05-26 12:48     ` Paolo Bonzini
2021-05-26 13:25       ` Vladimir Sementsov-Ogievskiy
2021-05-26 17:23         ` Emanuele Giuseppe Esposito
2021-05-26 19:15   ` Vladimir Sementsov-Ogievskiy
2021-05-27 11:06     ` Emanuele Giuseppe Esposito
2021-05-27 12:17       ` Vladimir Sementsov-Ogievskiy
2021-05-28 16:26   ` Vladimir Sementsov-Ogievskiy
2021-05-20  7:52 ` [PATCH v4 05/15] qemu-iotests: delay QMP socket timers Emanuele Giuseppe Esposito
2021-05-28 17:06   ` Vladimir Sementsov-Ogievskiy
2021-06-03 11:03     ` Emanuele Giuseppe Esposito
2021-06-03 12:25       ` Vladimir Sementsov-Ogievskiy
2021-06-03 12:52         ` Emanuele Giuseppe Esposito
2021-05-20  7:52 ` [PATCH v4 06/15] qemu_iotests: insert gdbserver command line as wrapper for qemu binary Emanuele Giuseppe Esposito
2021-05-28 17:07   ` Vladimir Sementsov-Ogievskiy
2021-05-20  7:52 ` [PATCH v4 07/15] qemu-iotests: add gdbserver option to script tests too Emanuele Giuseppe Esposito
2021-05-28 17:09   ` Vladimir Sementsov-Ogievskiy
2021-05-20  7:52 ` [PATCH v4 08/15] docs/devel/testing: add -gdb option to the debugging section of QEMU iotests Emanuele Giuseppe Esposito
2021-05-28 17:16   ` Vladimir Sementsov-Ogievskiy
2021-05-28 20:31     ` Emanuele Giuseppe Esposito
2021-05-20  7:52 ` [PATCH v4 09/15] qemu-iotests: extend the check script to support valgrind for python tests Emanuele Giuseppe Esposito
2021-05-28 17:24   ` Vladimir Sementsov-Ogievskiy
2021-05-28 20:31     ` Emanuele Giuseppe Esposito
2021-05-20  7:52 ` [PATCH v4 10/15] qemu-iotests: extent QMP socket timeout when using valgrind Emanuele Giuseppe Esposito
2021-05-28 17:27   ` Vladimir Sementsov-Ogievskiy
2021-05-20  7:52 ` [PATCH v4 11/15] qemu-iotests: allow valgrind to read/delete the generated log file Emanuele Giuseppe Esposito
2021-05-28 17:39   ` Vladimir Sementsov-Ogievskiy
2021-05-20  7:52 ` [PATCH v4 12/15] qemu-iotests: insert valgrind command line as wrapper for qemu binary Emanuele Giuseppe Esposito
2021-05-28 17:41   ` Vladimir Sementsov-Ogievskiy
2021-05-20  7:52 ` [PATCH v4 13/15] docs/devel/testing: add -valgrind option to the debug section of QEMU iotests Emanuele Giuseppe Esposito
2021-05-28 17:42   ` Vladimir Sementsov-Ogievskiy
2021-05-20  7:52 ` [PATCH v4 14/15] qemu-iotests: add option to show qemu binary logs on stdout Emanuele Giuseppe Esposito
2021-05-28 17:52   ` Vladimir Sementsov-Ogievskiy
2021-05-28 20:32     ` Emanuele Giuseppe Esposito
2021-05-20  7:52 ` [PATCH v4 15/15] docs/devel/testing: add -p option to the debug section of QEMU iotests Emanuele Giuseppe Esposito
2021-05-28 17:53   ` Vladimir Sementsov-Ogievskiy
2021-05-26 11:32 ` Vladimir Sementsov-Ogievskiy [this message]
2021-05-26 17:18   ` [PATCH v4 00/15] qemu_iotests: improve debugging options Emanuele Giuseppe Esposito

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a19cb269-2845-e219-ab20-7fe7a0389896@virtuozzo.com \
    --to=vsementsov@virtuozzo.com \
    --cc=crosa@redhat.com \
    --cc=eesposit@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.