From 6cdf7317303e714ceb6bdd93455bb07ed5ebb17f Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Mon, 31 Oct 2022 14:33:59 +0200 Subject: [PATCH 1/3] Add Python 3.12 to tox.ini --- tox.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/tox.ini b/tox.ini index f04242c5c43..c80fdfcd1a4 100644 --- a/tox.ini +++ b/tox.ini @@ -9,6 +9,7 @@ envlist = py39 py310 py311 + py312 pypy3 py37-{pexpect,xdist,unittestextras,numpy,pluggymain,pylib} doctesting From c58dc6de0be3d56af1c00ea31cc0bb49d0ac1128 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Mon, 31 Oct 2022 14:35:38 +0200 Subject: [PATCH 2/3] Fix deprecation warning on Python 3.12 --- src/_pytest/assertion/rewrite.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/_pytest/assertion/rewrite.py b/src/_pytest/assertion/rewrite.py index 63f9dd8f27b..cb64a33c078 100644 --- a/src/_pytest/assertion/rewrite.py +++ b/src/_pytest/assertion/rewrite.py @@ -275,7 +275,12 @@ def get_data(self, pathname: Union[str, bytes]) -> bytes: if sys.version_info >= (3, 10): - def get_resource_reader(self, name: str) -> importlib.abc.TraversableResources: # type: ignore + if sys.version_info >= (3, 12): + from importlib.resources.abc import TraversableResources + else: + from importlib.abc import TraversableResources + + def get_resource_reader(self, name: str) -> TraversableResources: # type: ignore if sys.version_info < (3, 11): from importlib.readers import FileReader else: From a4e5684fc4be8feb2036f7cd0c2a32e6a64ad9ed Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Mon, 31 Oct 2022 14:53:38 +0200 Subject: [PATCH 3/3] Add news fragment --- changelog/10452.bugfix.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/10452.bugfix.rst diff --git a/changelog/10452.bugfix.rst b/changelog/10452.bugfix.rst new file mode 100644 index 00000000000..d8f7dded455 --- /dev/null +++ b/changelog/10452.bugfix.rst @@ -0,0 +1 @@ +Fix 'importlib.abc.TraversableResources' deprecation warning in Python 3.12.