diff --git a/9800.patch b/9800.patch new file mode 100644 index 0000000..68196ad --- /dev/null +++ b/9800.patch @@ -0,0 +1,55 @@ +From 0ebfa1d76dc09e075b854176873127553e6dfa1b Mon Sep 17 00:00:00 2001 +From: Zac Hatfield-Dodds +Date: Sun, 20 Mar 2022 21:01:26 -0700 +Subject: [PATCH] Fix CI for Python 3.11 + +Getting the current working directory has no side-effects, so these context managers were no-ops. +Discovered because Path.__enter__ is deprecated in Python 3.11, for removal in 3.13. +--- + testing/test_collection.py | 12 ++++-------- + 1 file changed, 4 insertions(+), 8 deletions(-) + +diff --git a/testing/test_collection.py b/testing/test_collection.py +index a943a44d22..aa3bf7ba58 100644 +--- a/testing/test_collection.py ++++ b/testing/test_collection.py +@@ -660,8 +660,7 @@ def test_pkgfile(self, pytester: Pytester) -> None: + subdir = tmp_path.joinpath("subdir") + x = ensure_file(subdir / "x.py") + ensure_file(subdir / "__init__.py") +- with subdir.cwd(): +- config = pytester.parseconfigure(x) ++ config = pytester.parseconfigure(x) + col = pytester.getnode(config, x) + assert col is not None + assert col.name == "x.py" +@@ -1188,8 +1187,7 @@ def test_1(): + """ + % (str(subdir),) + ) +- with pytester.path.cwd(): +- result = pytester.runpytest() ++ result = pytester.runpytest() + result.stdout.fnmatch_lines(["*1 passed in*"]) + assert result.ret == 0 + +@@ -1200,8 +1198,7 @@ def test_1(): + testpaths = . + """ + ) +- with pytester.path.cwd(): +- result = pytester.runpytest("--collect-only") ++ result = pytester.runpytest("--collect-only") + result.stdout.fnmatch_lines(["collected 1 item"]) + + +@@ -1224,8 +1221,7 @@ def test_collect_pyargs_with_testpaths( + ) + ) + monkeypatch.setenv("PYTHONPATH", str(pytester.path), prepend=os.pathsep) +- with root.cwd(): +- result = pytester.runpytest_subprocess() ++ result = pytester.runpytest_subprocess() + result.stdout.fnmatch_lines(["*1 passed in*"]) + + diff --git a/pytest.spec b/pytest.spec index b341fca..2e3dc92 100644 --- a/pytest.spec +++ b/pytest.spec @@ -8,6 +8,14 @@ License: MIT URL: https://pytest.org Source: %{pypi_source pytest %{base_version}%{?prerelease}} +# Fix build for Python 3.11 +# Fixes https://bugzilla.redhat.com/2069153 +# Merged upstream +# Getting the current working directory has no side-effects, +# so these context managers were no-ops. +# Tests failed because Path.__enter__ is deprecated in Python 3.11. +Patch: https://github.com/pytest-dev/pytest/pull/9800.patch + # When building pytest for the first time with new Python version # we might not yet have all the BRs, those conditionals allow us to do that.