]> git.proxmox.com Git - mirror_qemu.git/commitdiff
python: bump minimum requirements so they are compatible with 3.12
authorPaolo Bonzini <pbonzini@redhat.com>
Wed, 5 Jul 2023 10:40:46 +0000 (12:40 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 7 Jul 2023 10:49:22 +0000 (12:49 +0200)
There are many Python 3.12 issues right now, but a particularly
problematic one when debugging them is that one cannot even use
minreqs.txt in a Python 3.12 virtual environment to test with
locked package versions.

Bump the mypy and wrapt versions to fix this, while remaining
within the realm of versions compatible with Python 3.7.

This requires a workaround for a mypy false positive

    qemu/qmp/qmp_tui.py:350: error: Non-overlapping equality check (left operand type: "Literal[Runstate.DISCONNECTING]", right operand type: "Literal[Runstate.IDLE]")  [comparison-overlap]

where mypy does not realize that self.disconnect() could change
the value of self.runstate.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
python/qemu/qmp/qmp_tui.py
python/setup.cfg
python/tests/minreqs.txt

index 83691447231ae96ea834287e99eb064e6d6f5dc4..2d9ebbd20bc7fbe7440ef6bda289c64ef5139684 100644 (file)
@@ -346,7 +346,10 @@ class App(QMPClient):
                 self._set_status('[Disconnected]')
                 await self.disconnect()
                 # check if a retry is needed
-                if self.runstate == Runstate.IDLE:
+                # mypy 1.4.0 doesn't believe runstate can change after
+                # disconnect(), hence the cast.
+                state = cast(Runstate, self.runstate)
+                if state == Runstate.IDLE:
                     continue
             await self.runstate_changed()
 
index 42f0b0be07d1e2367c9af33e8d1f48f462fb1b51..5d7e95f5d245ef627e69cb1421c1499e03b6d400 100644 (file)
@@ -39,7 +39,7 @@ devel =
     flake8 >= 5.0.4
     fusepy >= 2.0.4
     isort >= 5.1.2
-    mypy >= 0.780
+    mypy >= 1.4.0
     pylint >= 2.17.3
     tox >= 3.18.0
     urwid >= 2.1.2
index 1ce72cef6d80357f9afe8420c56f208e5405b1b5..979461be6bb35ecc09ef40459bbe74e624f77681 100644 (file)
@@ -28,7 +28,7 @@ avocado-framework==90.0
 # Linters
 flake8==5.0.4
 isort==5.1.2
-mypy==0.780
+mypy==1.4.0
 pylint==2.17.3
 
 # Transitive flake8 dependencies
@@ -37,12 +37,11 @@ pycodestyle==2.9.1
 pyflakes==2.5.0
 
 # Transitive mypy dependencies
-mypy-extensions==0.4.3
-typed-ast==1.4.0
-typing-extensions==4.5.0
+mypy-extensions==1.0.0
+typing-extensions==4.7.1
 
 # Transitive pylint dependencies
 astroid==2.15.4
 lazy-object-proxy==1.4.0
 toml==0.10.0
-wrapt==1.12.1
+wrapt==1.14.0