Requires: 20200602194844.15258-1-js...@redhat.com This series is extracted from my larger series that attempted to bundle our python module as an installable module. These fixes don't require that, so they are being sent first as I think there's less up for debate in here.
This requires my "refactor shutdown" patch as a pre-requisite. "v2": - This version supports iotests 297 - Many patches merged by Phil are removed - Replaces iotests.py type aliases with centralized ones (See patch 2) - Imports etc are reworked to use the non-installable package layout instead. (Mostly important for patch 3) Testing this out: - You'll need Python3.6+ - I encourage you to use a virtual environment! - You don't necessarily need these exact versions, but I didn't test the lower bounds, use older versions at your peril: - pylint==2.5.0 - mypy=0.770 - flake8=3.7.8 > cd ~/src/qemu/python/ > flake8 qemu > mypy --strict qemu > cd qemu > pylint *.py These should all 100% pass. --- Open RFC: What's the right way to hook this into make check to prevent regressions? John Snow (16): python/qmp.py: Define common types iotests.py: use qemu.qmp type aliases python/qmp.py: re-absorb MonitorResponseError python/qmp.py: Do not return None from cmd_obj python/qmp.py: add casts to JSON deserialization python/qmp.py: add QMPProtocolError python/machine.py: Fix monitor address typing python/machine.py: reorder __init__ python/machine.py: Don't modify state in _base_args() python/machine.py: Handle None events in event_wait python/machine.py: use qmp.command python/machine.py: Add _qmp access shim python/machine.py: fix _popen access python/qemu: make 'args' style arguments immutable iotests.py: Adjust HMP kwargs typing python/qemu: Add mypy type annotations python/qemu/accel.py | 8 +- python/qemu/machine.py | 267 ++++++++++++++++++++-------------- python/qemu/qmp.py | 111 ++++++++++---- python/qemu/qtest.py | 54 ++++--- scripts/render_block_graph.py | 7 +- tests/qemu-iotests/iotests.py | 11 +- 6 files changed, 285 insertions(+), 173 deletions(-) -- 2.21.3