[PATCH v7 00/15] iotests: use vm.cmd()

Vladimir Sementsov-Ogievskiy posted 15 patches 6 months, 4 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20231006154125.1068348-1-vsementsov@yandex-team.ru
Maintainers: "Alex Bennée" <alex.bennee@linaro.org>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Thomas Huth <thuth@redhat.com>, Wainer dos Santos Moschetta <wainersm@redhat.com>, Beraldo Leal <bleal@redhat.com>, John Snow <jsnow@redhat.com>, Cleber Rosa <crosa@redhat.com>, Peter Maydell <peter.maydell@linaro.org>, "Cédric Le Goater" <clg@kaod.org>, Andrew Jeffery <andrew@aj.id.au>, Joel Stanley <joel@jms.id.au>, Aurelien Jarno <aurelien@aurel32.net>, Halil Pasic <pasic@linux.ibm.com>, Christian Borntraeger <borntraeger@linux.ibm.com>, Eric Farman <farman@linux.ibm.com>, Juan Quintela <quintela@redhat.com>, Peter Xu <peterx@redhat.com>, Fabiano Rosas <farosas@suse.de>, Leonardo Bras <leobras@redhat.com>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Eric Blake <eblake@redhat.com>, Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
docs/devel/testing.rst                        |  10 +-
python/qemu/machine/machine.py                |  20 +-
python/qemu/qmp/legacy.py                     |  10 +-
python/qemu/qmp/qmp_shell.py                  |  20 +-
python/qemu/utils/qemu_ga_client.py           |   2 +-
python/qemu/utils/qom.py                      |   8 +-
python/qemu/utils/qom_common.py               |   2 +-
python/qemu/utils/qom_fuse.py                 |   6 +-
scripts/cpu-x86-uarch-abi.py                  |   8 +-
scripts/device-crash-test                     |   8 +-
scripts/python_qmp_updater.py                 | 136 +++++
scripts/render_block_graph.py                 |   8 +-
tests/avocado/avocado_qemu/__init__.py        |   4 +-
tests/avocado/cpu_queries.py                  |   5 +-
tests/avocado/hotplug_cpu.py                  |  10 +-
tests/avocado/info_usernet.py                 |   4 +-
tests/avocado/machine_arm_integratorcp.py     |   6 +-
tests/avocado/machine_aspeed.py               |  12 +-
tests/avocado/machine_m68k_nextcube.py        |   4 +-
tests/avocado/machine_mips_malta.py           |   6 +-
tests/avocado/machine_s390_ccw_virtio.py      |  28 +-
tests/avocado/migration.py                    |  10 +-
tests/avocado/pc_cpu_hotplug_props.py         |   2 +-
tests/avocado/version.py                      |   4 +-
tests/avocado/virtio_check_params.py          |   6 +-
tests/avocado/virtio_version.py               |   5 +-
tests/avocado/vnc.py                          |  16 +-
tests/avocado/x86_cpu_model_versions.py       |  13 +-
tests/migration/guestperf/engine.py           | 150 +++---
tests/qemu-iotests/030                        | 168 +++---
tests/qemu-iotests/040                        | 171 +++----
tests/qemu-iotests/041                        | 482 ++++++++----------
tests/qemu-iotests/045                        |  15 +-
tests/qemu-iotests/055                        |  62 +--
tests/qemu-iotests/056                        |  77 ++-
tests/qemu-iotests/093                        |  42 +-
tests/qemu-iotests/118                        | 225 ++++----
tests/qemu-iotests/124                        | 102 ++--
tests/qemu-iotests/129                        |  14 +-
tests/qemu-iotests/132                        |   5 +-
tests/qemu-iotests/139                        |  45 +-
tests/qemu-iotests/147                        |  30 +-
tests/qemu-iotests/151                        | 103 ++--
tests/qemu-iotests/152                        |   8 +-
tests/qemu-iotests/155                        |  55 +-
tests/qemu-iotests/165                        |   8 +-
tests/qemu-iotests/196                        |   3 +-
tests/qemu-iotests/205                        |   6 +-
tests/qemu-iotests/218                        | 105 ++--
tests/qemu-iotests/245                        | 245 ++++-----
tests/qemu-iotests/256                        |  34 +-
tests/qemu-iotests/257                        |  36 +-
tests/qemu-iotests/264                        |  31 +-
tests/qemu-iotests/281                        |  21 +-
tests/qemu-iotests/295                        |  16 +-
tests/qemu-iotests/296                        |  21 +-
tests/qemu-iotests/298                        |  13 +-
tests/qemu-iotests/300                        |  54 +-
tests/qemu-iotests/iotests.py                 |  21 +-
.../tests/backing-file-invalidation           |  11 +-
tests/qemu-iotests/tests/copy-before-write    |  15 +-
.../tests/export-incoming-iothread            |   6 +-
.../qemu-iotests/tests/graph-changes-while-io |  18 +-
tests/qemu-iotests/tests/image-fleecing       |   3 +-
.../tests/migrate-bitmaps-postcopy-test       |  31 +-
tests/qemu-iotests/tests/migrate-bitmaps-test |  45 +-
.../qemu-iotests/tests/migrate-during-backup  |  41 +-
.../qemu-iotests/tests/migration-permissions  |   9 +-
.../tests/mirror-ready-cancel-error           |  74 ++-
tests/qemu-iotests/tests/mirror-top-perms     |  16 +-
tests/qemu-iotests/tests/nbd-multiconn        |  12 +-
tests/qemu-iotests/tests/reopen-file          |   3 +-
.../qemu-iotests/tests/stream-error-on-reset  |   6 +-
.../qemu-iotests/tests/stream-under-throttle  |   7 +-
tests/vm/basevm.py                            |   4 +-
75 files changed, 1367 insertions(+), 1675 deletions(-)
create mode 100755 scripts/python_qmp_updater.py
[PATCH v7 00/15] iotests: use vm.cmd()
Posted by Vladimir Sementsov-Ogievskiy 6 months, 4 weeks ago
Hi all!

Let's get rid of pattern

    result = self.vm.qmp(...)
    self.assert_qmp(result, 'return', {})

And switch to just

    self.vm.cmd(...)

v7: add r-bs and small wording/grammar fixes by Eric
  05: handle missed tests/avocado/machine_aspeed.py, keep r-bs
  10: patch renamed: s/occasional/extra/
  14: new
  15: rebuilt with the script: some hunks are added, old are unchanged
      (look comparison with previous version in patchew or by
       git check-rebase)

Vladimir Sementsov-Ogievskiy (15):
  python/qemu/qmp/legacy: cmd(): drop cmd_id unused argument
  qmp_shell.py: _fill_completion() use .command() instead of .cmd()
  scripts/cpu-x86-uarch-abi.py: use .command() instead of .cmd()
  python: rename QEMUMonitorProtocol.cmd() to cmd_raw()
  python/qemu: rename command() to cmd()
  python/machine.py: upgrade vm.cmd() method
  iotests: QemuStorageDaemon: add cmd() method like in QEMUMachine.
  iotests: add some missed checks of qmp result
  iotests: refactor some common qmp result checks into generic pattern
  iotests: drop some extra semicolons
  iotests: drop some extra ** in qmp() call
  iotests.py: pause_job(): drop return value
  tests/vm/basevm.py: use cmd() instead of qmp()
  scripts: add python_qmp_updater.py
  python: use vm.cmd() instead of vm.qmp() where appropriate

 docs/devel/testing.rst                        |  10 +-
 python/qemu/machine/machine.py                |  20 +-
 python/qemu/qmp/legacy.py                     |  10 +-
 python/qemu/qmp/qmp_shell.py                  |  20 +-
 python/qemu/utils/qemu_ga_client.py           |   2 +-
 python/qemu/utils/qom.py                      |   8 +-
 python/qemu/utils/qom_common.py               |   2 +-
 python/qemu/utils/qom_fuse.py                 |   6 +-
 scripts/cpu-x86-uarch-abi.py                  |   8 +-
 scripts/device-crash-test                     |   8 +-
 scripts/python_qmp_updater.py                 | 136 +++++
 scripts/render_block_graph.py                 |   8 +-
 tests/avocado/avocado_qemu/__init__.py        |   4 +-
 tests/avocado/cpu_queries.py                  |   5 +-
 tests/avocado/hotplug_cpu.py                  |  10 +-
 tests/avocado/info_usernet.py                 |   4 +-
 tests/avocado/machine_arm_integratorcp.py     |   6 +-
 tests/avocado/machine_aspeed.py               |  12 +-
 tests/avocado/machine_m68k_nextcube.py        |   4 +-
 tests/avocado/machine_mips_malta.py           |   6 +-
 tests/avocado/machine_s390_ccw_virtio.py      |  28 +-
 tests/avocado/migration.py                    |  10 +-
 tests/avocado/pc_cpu_hotplug_props.py         |   2 +-
 tests/avocado/version.py                      |   4 +-
 tests/avocado/virtio_check_params.py          |   6 +-
 tests/avocado/virtio_version.py               |   5 +-
 tests/avocado/vnc.py                          |  16 +-
 tests/avocado/x86_cpu_model_versions.py       |  13 +-
 tests/migration/guestperf/engine.py           | 150 +++---
 tests/qemu-iotests/030                        | 168 +++---
 tests/qemu-iotests/040                        | 171 +++----
 tests/qemu-iotests/041                        | 482 ++++++++----------
 tests/qemu-iotests/045                        |  15 +-
 tests/qemu-iotests/055                        |  62 +--
 tests/qemu-iotests/056                        |  77 ++-
 tests/qemu-iotests/093                        |  42 +-
 tests/qemu-iotests/118                        | 225 ++++----
 tests/qemu-iotests/124                        | 102 ++--
 tests/qemu-iotests/129                        |  14 +-
 tests/qemu-iotests/132                        |   5 +-
 tests/qemu-iotests/139                        |  45 +-
 tests/qemu-iotests/147                        |  30 +-
 tests/qemu-iotests/151                        | 103 ++--
 tests/qemu-iotests/152                        |   8 +-
 tests/qemu-iotests/155                        |  55 +-
 tests/qemu-iotests/165                        |   8 +-
 tests/qemu-iotests/196                        |   3 +-
 tests/qemu-iotests/205                        |   6 +-
 tests/qemu-iotests/218                        | 105 ++--
 tests/qemu-iotests/245                        | 245 ++++-----
 tests/qemu-iotests/256                        |  34 +-
 tests/qemu-iotests/257                        |  36 +-
 tests/qemu-iotests/264                        |  31 +-
 tests/qemu-iotests/281                        |  21 +-
 tests/qemu-iotests/295                        |  16 +-
 tests/qemu-iotests/296                        |  21 +-
 tests/qemu-iotests/298                        |  13 +-
 tests/qemu-iotests/300                        |  54 +-
 tests/qemu-iotests/iotests.py                 |  21 +-
 .../tests/backing-file-invalidation           |  11 +-
 tests/qemu-iotests/tests/copy-before-write    |  15 +-
 .../tests/export-incoming-iothread            |   6 +-
 .../qemu-iotests/tests/graph-changes-while-io |  18 +-
 tests/qemu-iotests/tests/image-fleecing       |   3 +-
 .../tests/migrate-bitmaps-postcopy-test       |  31 +-
 tests/qemu-iotests/tests/migrate-bitmaps-test |  45 +-
 .../qemu-iotests/tests/migrate-during-backup  |  41 +-
 .../qemu-iotests/tests/migration-permissions  |   9 +-
 .../tests/mirror-ready-cancel-error           |  74 ++-
 tests/qemu-iotests/tests/mirror-top-perms     |  16 +-
 tests/qemu-iotests/tests/nbd-multiconn        |  12 +-
 tests/qemu-iotests/tests/reopen-file          |   3 +-
 .../qemu-iotests/tests/stream-error-on-reset  |   6 +-
 .../qemu-iotests/tests/stream-under-throttle  |   7 +-
 tests/vm/basevm.py                            |   4 +-
 75 files changed, 1367 insertions(+), 1675 deletions(-)
 create mode 100755 scripts/python_qmp_updater.py

-- 
2.34.1
Re: [PATCH v7 00/15] iotests: use vm.cmd()
Posted by John Snow 6 months, 3 weeks ago
On Fri, Oct 6, 2023 at 11:41 AM Vladimir Sementsov-Ogievskiy
<vsementsov@yandex-team.ru> wrote:
>
> Hi all!
>
> Let's get rid of pattern
>
>     result = self.vm.qmp(...)
>     self.assert_qmp(result, 'return', {})
>
> And switch to just
>
>     self.vm.cmd(...)
>
> v7: add r-bs and small wording/grammar fixes by Eric
>   05: handle missed tests/avocado/machine_aspeed.py, keep r-bs
>   10: patch renamed: s/occasional/extra/
>   14: new
>   15: rebuilt with the script: some hunks are added, old are unchanged
>       (look comparison with previous version in patchew or by
>        git check-rebase)
>
> Vladimir Sementsov-Ogievskiy (15):
>   python/qemu/qmp/legacy: cmd(): drop cmd_id unused argument
>   qmp_shell.py: _fill_completion() use .command() instead of .cmd()
>   scripts/cpu-x86-uarch-abi.py: use .command() instead of .cmd()
>   python: rename QEMUMonitorProtocol.cmd() to cmd_raw()
>   python/qemu: rename command() to cmd()
>   python/machine.py: upgrade vm.cmd() method
>   iotests: QemuStorageDaemon: add cmd() method like in QEMUMachine.
>   iotests: add some missed checks of qmp result
>   iotests: refactor some common qmp result checks into generic pattern
>   iotests: drop some extra semicolons
>   iotests: drop some extra ** in qmp() call
>   iotests.py: pause_job(): drop return value
>   tests/vm/basevm.py: use cmd() instead of qmp()
>   scripts: add python_qmp_updater.py
>   python: use vm.cmd() instead of vm.qmp() where appropriate
>
>  docs/devel/testing.rst                        |  10 +-
>  python/qemu/machine/machine.py                |  20 +-
>  python/qemu/qmp/legacy.py                     |  10 +-
>  python/qemu/qmp/qmp_shell.py                  |  20 +-
>  python/qemu/utils/qemu_ga_client.py           |   2 +-
>  python/qemu/utils/qom.py                      |   8 +-
>  python/qemu/utils/qom_common.py               |   2 +-
>  python/qemu/utils/qom_fuse.py                 |   6 +-
>  scripts/cpu-x86-uarch-abi.py                  |   8 +-
>  scripts/device-crash-test                     |   8 +-
>  scripts/python_qmp_updater.py                 | 136 +++++
>  scripts/render_block_graph.py                 |   8 +-
>  tests/avocado/avocado_qemu/__init__.py        |   4 +-
>  tests/avocado/cpu_queries.py                  |   5 +-
>  tests/avocado/hotplug_cpu.py                  |  10 +-
>  tests/avocado/info_usernet.py                 |   4 +-
>  tests/avocado/machine_arm_integratorcp.py     |   6 +-
>  tests/avocado/machine_aspeed.py               |  12 +-
>  tests/avocado/machine_m68k_nextcube.py        |   4 +-
>  tests/avocado/machine_mips_malta.py           |   6 +-
>  tests/avocado/machine_s390_ccw_virtio.py      |  28 +-
>  tests/avocado/migration.py                    |  10 +-
>  tests/avocado/pc_cpu_hotplug_props.py         |   2 +-
>  tests/avocado/version.py                      |   4 +-
>  tests/avocado/virtio_check_params.py          |   6 +-
>  tests/avocado/virtio_version.py               |   5 +-
>  tests/avocado/vnc.py                          |  16 +-
>  tests/avocado/x86_cpu_model_versions.py       |  13 +-
>  tests/migration/guestperf/engine.py           | 150 +++---
>  tests/qemu-iotests/030                        | 168 +++---
>  tests/qemu-iotests/040                        | 171 +++----
>  tests/qemu-iotests/041                        | 482 ++++++++----------
>  tests/qemu-iotests/045                        |  15 +-
>  tests/qemu-iotests/055                        |  62 +--
>  tests/qemu-iotests/056                        |  77 ++-
>  tests/qemu-iotests/093                        |  42 +-
>  tests/qemu-iotests/118                        | 225 ++++----
>  tests/qemu-iotests/124                        | 102 ++--
>  tests/qemu-iotests/129                        |  14 +-
>  tests/qemu-iotests/132                        |   5 +-
>  tests/qemu-iotests/139                        |  45 +-
>  tests/qemu-iotests/147                        |  30 +-
>  tests/qemu-iotests/151                        | 103 ++--
>  tests/qemu-iotests/152                        |   8 +-
>  tests/qemu-iotests/155                        |  55 +-
>  tests/qemu-iotests/165                        |   8 +-
>  tests/qemu-iotests/196                        |   3 +-
>  tests/qemu-iotests/205                        |   6 +-
>  tests/qemu-iotests/218                        | 105 ++--
>  tests/qemu-iotests/245                        | 245 ++++-----
>  tests/qemu-iotests/256                        |  34 +-
>  tests/qemu-iotests/257                        |  36 +-
>  tests/qemu-iotests/264                        |  31 +-
>  tests/qemu-iotests/281                        |  21 +-
>  tests/qemu-iotests/295                        |  16 +-
>  tests/qemu-iotests/296                        |  21 +-
>  tests/qemu-iotests/298                        |  13 +-
>  tests/qemu-iotests/300                        |  54 +-
>  tests/qemu-iotests/iotests.py                 |  21 +-
>  .../tests/backing-file-invalidation           |  11 +-
>  tests/qemu-iotests/tests/copy-before-write    |  15 +-
>  .../tests/export-incoming-iothread            |   6 +-
>  .../qemu-iotests/tests/graph-changes-while-io |  18 +-
>  tests/qemu-iotests/tests/image-fleecing       |   3 +-
>  .../tests/migrate-bitmaps-postcopy-test       |  31 +-
>  tests/qemu-iotests/tests/migrate-bitmaps-test |  45 +-
>  .../qemu-iotests/tests/migrate-during-backup  |  41 +-
>  .../qemu-iotests/tests/migration-permissions  |   9 +-
>  .../tests/mirror-ready-cancel-error           |  74 ++-
>  tests/qemu-iotests/tests/mirror-top-perms     |  16 +-
>  tests/qemu-iotests/tests/nbd-multiconn        |  12 +-
>  tests/qemu-iotests/tests/reopen-file          |   3 +-
>  .../qemu-iotests/tests/stream-error-on-reset  |   6 +-
>  .../qemu-iotests/tests/stream-under-throttle  |   7 +-
>  tests/vm/basevm.py                            |   4 +-
>  75 files changed, 1367 insertions(+), 1675 deletions(-)
>  create mode 100755 scripts/python_qmp_updater.py
>
> --
> 2.34.1
>

I rebased this on top of my python branch today and confirmed all of
my python tests pass - I'm happy enough with it from the Python
perspective. I think it's the right thing to do, and I'm happy you did
it, but I can't begin to pretend I audited the rewrite script or the
actual output it produced - I did not.

But:

Reviewed-by: John Snow <jsnow@redhat.com> (Patches 1-6, Patch 13)
Tested-by: John Snow <jsnow@redhat.com> (All - I went patch by patch
and ran my Python tests and made sure nothing regressed.)
Acked-by: John Snow <jsnow@redhat.com> (All)

--js
Re: [PATCH v7 00/15] iotests: use vm.cmd()
Posted by Vladimir Sementsov-Ogievskiy 6 months, 3 weeks ago
On 12.10.23 01:04, John Snow wrote:
> On Fri, Oct 6, 2023 at 11:41 AM Vladimir Sementsov-Ogievskiy
> <vsementsov@yandex-team.ru> wrote:
>>
>> Hi all!
>>
>> Let's get rid of pattern
>>
>>      result = self.vm.qmp(...)
>>      self.assert_qmp(result, 'return', {})
>>
>> And switch to just
>>
>>      self.vm.cmd(...)
>>
>> v7: add r-bs and small wording/grammar fixes by Eric
>>    05: handle missed tests/avocado/machine_aspeed.py, keep r-bs
>>    10: patch renamed: s/occasional/extra/
>>    14: new
>>    15: rebuilt with the script: some hunks are added, old are unchanged
>>        (look comparison with previous version in patchew or by
>>         git check-rebase)
>>
>> Vladimir Sementsov-Ogievskiy (15):
>>    python/qemu/qmp/legacy: cmd(): drop cmd_id unused argument
>>    qmp_shell.py: _fill_completion() use .command() instead of .cmd()
>>    scripts/cpu-x86-uarch-abi.py: use .command() instead of .cmd()
>>    python: rename QEMUMonitorProtocol.cmd() to cmd_raw()
>>    python/qemu: rename command() to cmd()
>>    python/machine.py: upgrade vm.cmd() method
>>    iotests: QemuStorageDaemon: add cmd() method like in QEMUMachine.
>>    iotests: add some missed checks of qmp result
>>    iotests: refactor some common qmp result checks into generic pattern
>>    iotests: drop some extra semicolons
>>    iotests: drop some extra ** in qmp() call
>>    iotests.py: pause_job(): drop return value
>>    tests/vm/basevm.py: use cmd() instead of qmp()
>>    scripts: add python_qmp_updater.py
>>    python: use vm.cmd() instead of vm.qmp() where appropriate
>>
>>   docs/devel/testing.rst                        |  10 +-
>>   python/qemu/machine/machine.py                |  20 +-
>>   python/qemu/qmp/legacy.py                     |  10 +-
>>   python/qemu/qmp/qmp_shell.py                  |  20 +-
>>   python/qemu/utils/qemu_ga_client.py           |   2 +-
>>   python/qemu/utils/qom.py                      |   8 +-
>>   python/qemu/utils/qom_common.py               |   2 +-
>>   python/qemu/utils/qom_fuse.py                 |   6 +-
>>   scripts/cpu-x86-uarch-abi.py                  |   8 +-
>>   scripts/device-crash-test                     |   8 +-
>>   scripts/python_qmp_updater.py                 | 136 +++++
>>   scripts/render_block_graph.py                 |   8 +-
>>   tests/avocado/avocado_qemu/__init__.py        |   4 +-
>>   tests/avocado/cpu_queries.py                  |   5 +-
>>   tests/avocado/hotplug_cpu.py                  |  10 +-
>>   tests/avocado/info_usernet.py                 |   4 +-
>>   tests/avocado/machine_arm_integratorcp.py     |   6 +-
>>   tests/avocado/machine_aspeed.py               |  12 +-
>>   tests/avocado/machine_m68k_nextcube.py        |   4 +-
>>   tests/avocado/machine_mips_malta.py           |   6 +-
>>   tests/avocado/machine_s390_ccw_virtio.py      |  28 +-
>>   tests/avocado/migration.py                    |  10 +-
>>   tests/avocado/pc_cpu_hotplug_props.py         |   2 +-
>>   tests/avocado/version.py                      |   4 +-
>>   tests/avocado/virtio_check_params.py          |   6 +-
>>   tests/avocado/virtio_version.py               |   5 +-
>>   tests/avocado/vnc.py                          |  16 +-
>>   tests/avocado/x86_cpu_model_versions.py       |  13 +-
>>   tests/migration/guestperf/engine.py           | 150 +++---
>>   tests/qemu-iotests/030                        | 168 +++---
>>   tests/qemu-iotests/040                        | 171 +++----
>>   tests/qemu-iotests/041                        | 482 ++++++++----------
>>   tests/qemu-iotests/045                        |  15 +-
>>   tests/qemu-iotests/055                        |  62 +--
>>   tests/qemu-iotests/056                        |  77 ++-
>>   tests/qemu-iotests/093                        |  42 +-
>>   tests/qemu-iotests/118                        | 225 ++++----
>>   tests/qemu-iotests/124                        | 102 ++--
>>   tests/qemu-iotests/129                        |  14 +-
>>   tests/qemu-iotests/132                        |   5 +-
>>   tests/qemu-iotests/139                        |  45 +-
>>   tests/qemu-iotests/147                        |  30 +-
>>   tests/qemu-iotests/151                        | 103 ++--
>>   tests/qemu-iotests/152                        |   8 +-
>>   tests/qemu-iotests/155                        |  55 +-
>>   tests/qemu-iotests/165                        |   8 +-
>>   tests/qemu-iotests/196                        |   3 +-
>>   tests/qemu-iotests/205                        |   6 +-
>>   tests/qemu-iotests/218                        | 105 ++--
>>   tests/qemu-iotests/245                        | 245 ++++-----
>>   tests/qemu-iotests/256                        |  34 +-
>>   tests/qemu-iotests/257                        |  36 +-
>>   tests/qemu-iotests/264                        |  31 +-
>>   tests/qemu-iotests/281                        |  21 +-
>>   tests/qemu-iotests/295                        |  16 +-
>>   tests/qemu-iotests/296                        |  21 +-
>>   tests/qemu-iotests/298                        |  13 +-
>>   tests/qemu-iotests/300                        |  54 +-
>>   tests/qemu-iotests/iotests.py                 |  21 +-
>>   .../tests/backing-file-invalidation           |  11 +-
>>   tests/qemu-iotests/tests/copy-before-write    |  15 +-
>>   .../tests/export-incoming-iothread            |   6 +-
>>   .../qemu-iotests/tests/graph-changes-while-io |  18 +-
>>   tests/qemu-iotests/tests/image-fleecing       |   3 +-
>>   .../tests/migrate-bitmaps-postcopy-test       |  31 +-
>>   tests/qemu-iotests/tests/migrate-bitmaps-test |  45 +-
>>   .../qemu-iotests/tests/migrate-during-backup  |  41 +-
>>   .../qemu-iotests/tests/migration-permissions  |   9 +-
>>   .../tests/mirror-ready-cancel-error           |  74 ++-
>>   tests/qemu-iotests/tests/mirror-top-perms     |  16 +-
>>   tests/qemu-iotests/tests/nbd-multiconn        |  12 +-
>>   tests/qemu-iotests/tests/reopen-file          |   3 +-
>>   .../qemu-iotests/tests/stream-error-on-reset  |   6 +-
>>   .../qemu-iotests/tests/stream-under-throttle  |   7 +-
>>   tests/vm/basevm.py                            |   4 +-
>>   75 files changed, 1367 insertions(+), 1675 deletions(-)
>>   create mode 100755 scripts/python_qmp_updater.py
>>
>> --
>> 2.34.1
>>
> 
> I rebased this on top of my python branch today and confirmed all of
> my python tests pass - I'm happy enough with it from the Python
> perspective. I think it's the right thing to do, and I'm happy you did
> it, but I can't begin to pretend I audited the rewrite script or the
> actual output it produced - I did not.
> 
> But:
> 
> Reviewed-by: John Snow <jsnow@redhat.com> (Patches 1-6, Patch 13)
> Tested-by: John Snow <jsnow@redhat.com> (All - I went patch by patch
> and ran my Python tests and made sure nothing regressed.)
> Acked-by: John Snow <jsnow@redhat.com> (All)
> 

Thanks!

Finally, is it queued, so will you send a PR?


-- 
Best regards,
Vladimir


Re: [PATCH v7 00/15] iotests: use vm.cmd()
Posted by John Snow 6 months, 3 weeks ago
On Thu, Oct 12, 2023 at 1:52 PM Vladimir Sementsov-Ogievskiy
<vsementsov@yandex-team.ru> wrote:
>
> On 12.10.23 01:04, John Snow wrote:
> > On Fri, Oct 6, 2023 at 11:41 AM Vladimir Sementsov-Ogievskiy
> > <vsementsov@yandex-team.ru> wrote:
> >>
> >> Hi all!
> >>
> >> Let's get rid of pattern
> >>
> >>      result = self.vm.qmp(...)
> >>      self.assert_qmp(result, 'return', {})
> >>
> >> And switch to just
> >>
> >>      self.vm.cmd(...)
> >>
> >> v7: add r-bs and small wording/grammar fixes by Eric
> >>    05: handle missed tests/avocado/machine_aspeed.py, keep r-bs
> >>    10: patch renamed: s/occasional/extra/
> >>    14: new
> >>    15: rebuilt with the script: some hunks are added, old are unchanged
> >>        (look comparison with previous version in patchew or by
> >>         git check-rebase)
> >>
> >> Vladimir Sementsov-Ogievskiy (15):
> >>    python/qemu/qmp/legacy: cmd(): drop cmd_id unused argument
> >>    qmp_shell.py: _fill_completion() use .command() instead of .cmd()
> >>    scripts/cpu-x86-uarch-abi.py: use .command() instead of .cmd()
> >>    python: rename QEMUMonitorProtocol.cmd() to cmd_raw()
> >>    python/qemu: rename command() to cmd()
> >>    python/machine.py: upgrade vm.cmd() method
> >>    iotests: QemuStorageDaemon: add cmd() method like in QEMUMachine.
> >>    iotests: add some missed checks of qmp result
> >>    iotests: refactor some common qmp result checks into generic pattern
> >>    iotests: drop some extra semicolons
> >>    iotests: drop some extra ** in qmp() call
> >>    iotests.py: pause_job(): drop return value
> >>    tests/vm/basevm.py: use cmd() instead of qmp()
> >>    scripts: add python_qmp_updater.py
> >>    python: use vm.cmd() instead of vm.qmp() where appropriate
> >>
> >>   docs/devel/testing.rst                        |  10 +-
> >>   python/qemu/machine/machine.py                |  20 +-
> >>   python/qemu/qmp/legacy.py                     |  10 +-
> >>   python/qemu/qmp/qmp_shell.py                  |  20 +-
> >>   python/qemu/utils/qemu_ga_client.py           |   2 +-
> >>   python/qemu/utils/qom.py                      |   8 +-
> >>   python/qemu/utils/qom_common.py               |   2 +-
> >>   python/qemu/utils/qom_fuse.py                 |   6 +-
> >>   scripts/cpu-x86-uarch-abi.py                  |   8 +-
> >>   scripts/device-crash-test                     |   8 +-
> >>   scripts/python_qmp_updater.py                 | 136 +++++
> >>   scripts/render_block_graph.py                 |   8 +-
> >>   tests/avocado/avocado_qemu/__init__.py        |   4 +-
> >>   tests/avocado/cpu_queries.py                  |   5 +-
> >>   tests/avocado/hotplug_cpu.py                  |  10 +-
> >>   tests/avocado/info_usernet.py                 |   4 +-
> >>   tests/avocado/machine_arm_integratorcp.py     |   6 +-
> >>   tests/avocado/machine_aspeed.py               |  12 +-
> >>   tests/avocado/machine_m68k_nextcube.py        |   4 +-
> >>   tests/avocado/machine_mips_malta.py           |   6 +-
> >>   tests/avocado/machine_s390_ccw_virtio.py      |  28 +-
> >>   tests/avocado/migration.py                    |  10 +-
> >>   tests/avocado/pc_cpu_hotplug_props.py         |   2 +-
> >>   tests/avocado/version.py                      |   4 +-
> >>   tests/avocado/virtio_check_params.py          |   6 +-
> >>   tests/avocado/virtio_version.py               |   5 +-
> >>   tests/avocado/vnc.py                          |  16 +-
> >>   tests/avocado/x86_cpu_model_versions.py       |  13 +-
> >>   tests/migration/guestperf/engine.py           | 150 +++---
> >>   tests/qemu-iotests/030                        | 168 +++---
> >>   tests/qemu-iotests/040                        | 171 +++----
> >>   tests/qemu-iotests/041                        | 482 ++++++++----------
> >>   tests/qemu-iotests/045                        |  15 +-
> >>   tests/qemu-iotests/055                        |  62 +--
> >>   tests/qemu-iotests/056                        |  77 ++-
> >>   tests/qemu-iotests/093                        |  42 +-
> >>   tests/qemu-iotests/118                        | 225 ++++----
> >>   tests/qemu-iotests/124                        | 102 ++--
> >>   tests/qemu-iotests/129                        |  14 +-
> >>   tests/qemu-iotests/132                        |   5 +-
> >>   tests/qemu-iotests/139                        |  45 +-
> >>   tests/qemu-iotests/147                        |  30 +-
> >>   tests/qemu-iotests/151                        | 103 ++--
> >>   tests/qemu-iotests/152                        |   8 +-
> >>   tests/qemu-iotests/155                        |  55 +-
> >>   tests/qemu-iotests/165                        |   8 +-
> >>   tests/qemu-iotests/196                        |   3 +-
> >>   tests/qemu-iotests/205                        |   6 +-
> >>   tests/qemu-iotests/218                        | 105 ++--
> >>   tests/qemu-iotests/245                        | 245 ++++-----
> >>   tests/qemu-iotests/256                        |  34 +-
> >>   tests/qemu-iotests/257                        |  36 +-
> >>   tests/qemu-iotests/264                        |  31 +-
> >>   tests/qemu-iotests/281                        |  21 +-
> >>   tests/qemu-iotests/295                        |  16 +-
> >>   tests/qemu-iotests/296                        |  21 +-
> >>   tests/qemu-iotests/298                        |  13 +-
> >>   tests/qemu-iotests/300                        |  54 +-
> >>   tests/qemu-iotests/iotests.py                 |  21 +-
> >>   .../tests/backing-file-invalidation           |  11 +-
> >>   tests/qemu-iotests/tests/copy-before-write    |  15 +-
> >>   .../tests/export-incoming-iothread            |   6 +-
> >>   .../qemu-iotests/tests/graph-changes-while-io |  18 +-
> >>   tests/qemu-iotests/tests/image-fleecing       |   3 +-
> >>   .../tests/migrate-bitmaps-postcopy-test       |  31 +-
> >>   tests/qemu-iotests/tests/migrate-bitmaps-test |  45 +-
> >>   .../qemu-iotests/tests/migrate-during-backup  |  41 +-
> >>   .../qemu-iotests/tests/migration-permissions  |   9 +-
> >>   .../tests/mirror-ready-cancel-error           |  74 ++-
> >>   tests/qemu-iotests/tests/mirror-top-perms     |  16 +-
> >>   tests/qemu-iotests/tests/nbd-multiconn        |  12 +-
> >>   tests/qemu-iotests/tests/reopen-file          |   3 +-
> >>   .../qemu-iotests/tests/stream-error-on-reset  |   6 +-
> >>   .../qemu-iotests/tests/stream-under-throttle  |   7 +-
> >>   tests/vm/basevm.py                            |   4 +-
> >>   75 files changed, 1367 insertions(+), 1675 deletions(-)
> >>   create mode 100755 scripts/python_qmp_updater.py
> >>
> >> --
> >> 2.34.1
> >>
> >
> > I rebased this on top of my python branch today and confirmed all of
> > my python tests pass - I'm happy enough with it from the Python
> > perspective. I think it's the right thing to do, and I'm happy you did
> > it, but I can't begin to pretend I audited the rewrite script or the
> > actual output it produced - I did not.
> >
> > But:
> >
> > Reviewed-by: John Snow <jsnow@redhat.com> (Patches 1-6, Patch 13)
> > Tested-by: John Snow <jsnow@redhat.com> (All - I went patch by patch
> > and ran my Python tests and made sure nothing regressed.)
> > Acked-by: John Snow <jsnow@redhat.com> (All)
> >
>
> Thanks!
>
> Finally, is it queued, so will you send a PR?
>

Would you like me to queue this alongside my other Python changes? I
can definitely do that as long as it isn't inconvenient to
Kevin/Eric/Hannah et al, since this changes so much in iotests.
Well... Tell you what: I'll queue it up and I will send it tomorrow if
there's no objections.

--js