Continuing where I left off prior to the 5.1 release, this series
touches up a few odds and ends and introduces mypy hints.
What's new:
- Using isort to solidify import order
- Patches adding small corrections and typing for console_socket
- A few error class changes for qmp.py
Like my QAPI series, this requires:
- pylint >= 2.6.0
- flake8 >= 3.8.0
- mypy >= 0.770
- isort >= 4.3.0 (Presumably...)
What this series doesn't do:
- Create a proper python package
- Establish a CI test to prevent regressions
- Fix the docstring conventions in the library
Those are coming soon! (and in the order mentioned.)
Changes against the last version of this series that was sent prior to
5.1:
001/20:[down] 'python/qemu: use isort to lay out imports'
002/20:[0005] [FC] 'python/machine.py: Fix monitor address typing'
003/20:[0015] [FC] 'python/machine.py: reorder __init__'
004/20:[0009] [FC] 'python/machine.py: Don't modify state in _base_args()'
005/20:[0002] [FC] 'python/machine.py: Handle None events in events_wait'
006/20:[0006] [FC] 'python/machine.py: use qmp.command'
007/20:[----] [-C] 'python/machine.py: Add _qmp access shim'
008/20:[----] [-C] 'python/machine.py: fix _popen access'
009/20:[0006] [FC] 'python/qemu: make 'args' style arguments immutable'
010/20:[----] [--] 'iotests.py: Adjust HMP kwargs typing'
011/20:[0010] [FC] 'python/qemu: Add mypy type annotations'
012/20:[down] 'python/qemu/console_socket.py: Correct type of recv()'
013/20:[down] 'python/qemu/console_socket.py: fix typing of settimeout'
014/20:[down] 'python/qemu/console_socket.py: Clarify type of drain_thread'
015/20:[down] 'python/qemu/console_socket.py: Add type hint annotations'
016/20:[down] 'python/console_socket: avoid encoding to/from string'
017/20:[down] 'python/qemu/qmp.py: Preserve error context on re-raise'
018/20:[down] 'python/qemu/qmp.py: re-raise OSError when encountered'
019/20:[down] 'python/qemu/qmp.py: Straighten out exception hierarchy'
020/20:[down] 'python: add mypy config'
02: import order differences, context changes from console_socket.py
03: (minor) changes for console_socket, RB-s dropped just in case
04: import order differences
05: import order differences
06: import order differences
09: import order differences
11: import order differences, small changes for console_socket
John Snow (20):
python/qemu: use isort to lay out imports
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 events_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/console_socket.py: Correct type of recv()
python/qemu/console_socket.py: fix typing of settimeout
python/qemu/console_socket.py: Clarify type of drain_thread
python/qemu/console_socket.py: Add type hint annotations
python/console_socket: avoid encoding to/from string
python/qemu/qmp.py: Preserve error context on re-raise
python/qemu/qmp.py: re-raise OSError when encountered
python/qemu/qmp.py: Straighten out exception hierarchy
python: add mypy config
python/mypy.ini | 4 +
python/qemu/.isort.cfg | 7 +
python/qemu/accel.py | 9 +-
python/qemu/console_socket.py | 54 +++---
python/qemu/machine.py | 306 +++++++++++++++++++++-------------
python/qemu/qmp.py | 114 ++++++++-----
python/qemu/qtest.py | 55 +++---
tests/qemu-iotests/iotests.py | 2 +-
8 files changed, 331 insertions(+), 220 deletions(-)
create mode 100644 python/mypy.ini
create mode 100644 python/qemu/.isort.cfg