On Tue, Sep 16, 2025 at 12:24 PM John Snow <[email protected]> wrote: > > The following changes since commit 190d5d7fd725ff754f94e8e0cbfb69f279c82b5d: > > Merge tag 'pull-request-2025-09-09' of https://gitlab.com/thuth/qemu into > staging (2025-09-11 12:41:01 +0100) > > are available in the Git repository at: > > https://gitlab.com/jsnow/qemu.git tags/python-pull-request > > for you to fetch changes up to 9a494d83538680651197651031375c2b6fa2490b: > > iotests/check: always enable all python warnings (2025-09-15 14:36:02 -0400) > > ---------------------------------------------------------------- > Python Pull Request > > Python 3.14 support & synchronize with python-qemu-qmp repo > > ---------------------------------------------------------------- > > Adam Dorsey (1): > python: backport 'feat: allow setting read buffer limit' > > Daniel P. Berrangé (5): > iotests: drop compat for old version context manager > python: ensure QEMUQtestProtocol closes its socket > iotests/147: ensure temporary sockets are closed before exiting > iotests/151: ensure subprocesses are cleaned up > iotests/check: always enable all python warnings > > John Snow (13): > python: backport 'Change error classes to have better repr methods' > python: backport 'EventListener: add __repr__ method' > python: backport 'kick event queue on legacy event_pull()' > python: backport 'protocol: adjust logging name when changing client > name' > python: backport 'drop Python3.6 workarounds' > python: backport 'Use @asynciocontextmanager' > python: backport 'qmp-shell: add common_parser()' > python: backport 'make require() preserve async-ness' > python: backport 'qmp-shell-wrap: handle missing binary gracefully' > python: backport 'qmp-tui: Do not crash if optional dependencies are > not met' > python: backport 'Remove deprecated get_event_loop calls' > python: backport 'avoid creating additional event loops per thread' > python: synchronize qemu.qmp documentation > > python/qemu/machine/qtest.py | 2 + > python/qemu/qmp/__init__.py | 3 +- > python/qemu/qmp/error.py | 7 +- > python/qemu/qmp/events.py | 50 ++++++-- > python/qemu/qmp/legacy.py | 46 +++++--- > python/qemu/qmp/message.py | 22 ++-- > python/qemu/qmp/models.py | 8 +- > python/qemu/qmp/protocol.py | 194 +++++++++++++++++++------------ > python/qemu/qmp/qmp_client.py | 155 +++++++++++++++++------- > python/qemu/qmp/qmp_shell.py | 165 ++++++++++++++++++-------- > python/qemu/qmp/qmp_tui.py | 30 +++-- > python/qemu/qmp/util.py | 143 ++++++----------------- > python/tests/protocol.py | 10 +- > tests/qemu-iotests/147 | 1 + > tests/qemu-iotests/151 | 5 + > tests/qemu-iotests/check | 4 + > tests/qemu-iotests/testenv.py | 7 +- > tests/qemu-iotests/testrunner.py | 9 +- > 18 files changed, 532 insertions(+), 329 deletions(-) > > -- > 2.51.0 > >
CC qemu-stable. For the stable pull, this subset of patches should be sufficient: jsnow@jsnow-thinkpadp16vgen1 ~/s/q/build (python)> stg series --description + python-backport-kick-event # python: backport 'kick event queue on legacy event_pull()' + python-backport-drop-python3.6 # python: backport 'drop Python3.6 workarounds' + python-backport-use # python: backport 'Use @asynciocontextmanager' + python-backport-remove # python: backport 'Remove deprecated get_event_loop calls' + python-backport-avoid-creating # python: backport 'avoid creating additional event loops per thread' + iotests-drop-compat-for-old # iotests: drop compat for old version context manager + python-ensure # python: ensure QEMUQtestProtocol closes its socket + iotests-147-ensure-temporary # iotests/147: ensure temporary sockets are closed before exiting + iotests-151-ensure # iotests/151: ensure subprocesses are cleaned up > iotests-check-always-enable # iotests/check: always enable all python > warnings i.e. patches 3, 5-6, 12-13, and 15-19. Tested locally in the python tests dir (make check-dev && make check-tox && make check-minreqs) and via normal build and test (../configure --enable-docs && make -j13 && make check) Thanks, --js.
