qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 00/20] python/qemu: strictly typed mypy conversion, pt2


From: John Snow
Subject: Re: [PATCH 00/20] python/qemu: strictly typed mypy conversion, pt2
Date: Thu, 8 Oct 2020 11:29:51 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0

On 10/6/20 7:57 PM, John Snow wrote:
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


Thanks, I am staging patches 1-17 -- alongside the Python maintainers patch I have been kicking around -- to my python branch.

Cleaning up the error classes in 18-19 is looking more fiddly, so I'm spinning it out into a new small series for better review.

https://gitlab.com/jsnow/qemu.git python
https://gitlab.com/jsnow/qemu/-/tree/python

--js




reply via email to

[Prev in Thread] Current Thread [Next in Thread]