@@ -25,7 +25,12 @@
import random
import subprocess
import glob
-from typing import List, Dict, Any, Optional, ContextManager
+from typing import List, Dict, Any, Optional
+
+if sys.version_info >= (3, 9):
+ from contextlib import AbstractContextManager as ContextManager
+else:
+ from typing import ContextManager
DEF_GDB_OPTIONS = 'localhost:12345'
@@ -27,11 +27,14 @@
import shutil
import sys
from multiprocessing import Pool
-from typing import List, Optional, Any, Sequence, Dict, \
- ContextManager
-
+from typing import List, Optional, Any, Sequence, Dict
from testenv import TestEnv
+if sys.version_info >= (3, 9):
+ from contextlib import AbstractContextManager as ContextManager
+else:
+ from typing import ContextManager
+
def silent_unlink(path: Path) -> None:
try:
Python 3.13 isn't out yet, but it's in beta and Fedora is ramping up to make it the default system interpreter for Fedora 41. They moved our cheese for where ContextManager lives; add a conditional to locate it while we support both pre-3.9 and 3.13+. Signed-off-by: John Snow <jsnow@redhat.com> --- tests/qemu-iotests/testenv.py | 7 ++++++- tests/qemu-iotests/testrunner.py | 9 ++++++--- 2 files changed, 12 insertions(+), 4 deletions(-)