summaryrefslogtreecommitdiff
path: root/dev-python/fixtures/files/fixtures-4.0.0-pypy39.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/fixtures/files/fixtures-4.0.0-pypy39.patch')
-rw-r--r--dev-python/fixtures/files/fixtures-4.0.0-pypy39.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/dev-python/fixtures/files/fixtures-4.0.0-pypy39.patch b/dev-python/fixtures/files/fixtures-4.0.0-pypy39.patch
new file mode 100644
index 000000000000..dfe7bade82fa
--- /dev/null
+++ b/dev-python/fixtures/files/fixtures-4.0.0-pypy39.patch
@@ -0,0 +1,56 @@
+From 2adba3989fc3d1723eb6534ae0bc1aeaf1513cfa Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Thu, 28 Apr 2022 12:14:55 +0200
+Subject: [PATCH] Revert to the previous classmethod expectations for PyPy3.9
+
+Commit fe83067 has changed TestMonkeyPatch to account for changes
+in classmethod handling in CPython 3.9. Unfortunately, this broke
+the tests on PyPy3.9. Revert to the old expectations when using PyPy.
+
+Fixes #64
+---
+ fixtures/tests/_fixtures/test_monkeypatch.py | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/fixtures/tests/_fixtures/test_monkeypatch.py b/fixtures/tests/_fixtures/test_monkeypatch.py
+index 746f6dd..08cd1c8 100644
+--- a/fixtures/tests/_fixtures/test_monkeypatch.py
++++ b/fixtures/tests/_fixtures/test_monkeypatch.py
+@@ -23,6 +23,9 @@ from fixtures import MonkeyPatch, TestWithFixtures
+
+ reference = 23
+
++NEW_PY39_CLASSMETHOD = (
++ sys.version_info >= (3, 9) and not hasattr(sys, "pypy_version_info"))
++
+ class C(object):
+ def foo(self, arg):
+ return arg
+@@ -196,7 +199,7 @@ class TestMonkeyPatch(testtools.TestCase, TestWithFixtures):
+ # with the class
+ #
+ # https://bugs.python.org/issue19072
+- if sys.version_info >= (3, 9):
++ if NEW_PY39_CLASSMETHOD:
+ cls, = C.foo_cls()
+ self.expectThat(cls, Is(D))
+ cls, = C().foo_cls()
+@@ -238,13 +241,13 @@ class TestMonkeyPatch(testtools.TestCase, TestWithFixtures):
+ self.expectThat(slf, Is(d))
+ # See note in test_patch_classmethod_with_classmethod on changes in
+ # Python 3.9
+- if sys.version_info >= (3, 9):
++ if NEW_PY39_CLASSMETHOD:
+ self.expectThat(cls, Is(None))
+ else:
+ self.expectThat(cls, Is(C))
+ slf, cls = C().foo_cls()
+ self.expectThat(slf, Is(d))
+- if sys.version_info >= (3, 9):
++ if NEW_PY39_CLASSMETHOD:
+ self.expectThat(cls, Is(None))
+ else:
+ self.expectThat(cls, Is(C))
+--
+2.35.1
+