#27 Fix build for Python 3.11
Merged 2 years ago by churchyard. Opened 2 years ago by churchyard.
rpms/ churchyard/pytest py3.11  into  rawhide

file added
+55
@@ -0,0 +1,55 @@ 

+ From 0ebfa1d76dc09e075b854176873127553e6dfa1b Mon Sep 17 00:00:00 2001

+ From: Zac Hatfield-Dodds <zac.hatfield.dodds@gmail.com>

+ 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*"])

+  

+  

file modified
+9 -1
@@ -6,7 +6,15 @@ 

  Summary:        Simple powerful testing with Python

  License:        MIT

  URL:            https://pytest.org

- Source0:        %{pypi_source pytest %{base_version}%{?prerelease}}

+ 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.

no initial comment

Build succeeded.

Pull-Request has been merged by churchyard

2 years ago
Metadata