summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/fixtures/Manifest1
-rw-r--r--dev-python/fixtures/files/fixtures-4.0.0-pypy39.patch56
-rw-r--r--dev-python/fixtures/fixtures-4.0.0.ebuild40
3 files changed, 97 insertions, 0 deletions
diff --git a/dev-python/fixtures/Manifest b/dev-python/fixtures/Manifest
index c7aded1d7fb5..039cc343e28e 100644
--- a/dev-python/fixtures/Manifest
+++ b/dev-python/fixtures/Manifest
@@ -1 +1,2 @@
DIST fixtures-3.0.0.tar.gz 56629 BLAKE2B 949c67c428f5e5ca0afc2f875dd4e2a212922415762a2528c185794e4ae2b74d32873aaf7132d97dec95a681bb4d87d85b11a39c43c64cd531dd4bf2fce75f87 SHA512 e52ba864c42d15a8baa60583761006b2dd78e3cd5f3f043f5702346aef428b933d62e8fa5889b7cb4196e4072acc5df3b7ffa39702a1b782887bdc109299b695
+DIST fixtures-4.0.0.tar.gz 56786 BLAKE2B 7fa8916d3e384a47c967b51ffeebb81c50c4be7432601aa94f220b6ae32ed189f16750cb126c2925995c2e945684c48041014a97902145343527e8856125b61a SHA512 dcd67c3df9efc16f2a21b6d2917a5b7e45ecc09d1ddbd1de98a5b4b717ea7da0fc82e1054f494255b419a792e841145110c77a1772444f4019fc02e9917c5b80
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
+
diff --git a/dev-python/fixtures/fixtures-4.0.0.ebuild b/dev-python/fixtures/fixtures-4.0.0.ebuild
new file mode 100644
index 000000000000..25709bab8188
--- /dev/null
+++ b/dev-python/fixtures/fixtures-4.0.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYTHON_COMPAT=( python3_{8..10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Fixtures, reusable state for writing clean tests and more"
+HOMEPAGE="
+ https://github.com/testing-cabal/fixtures/
+ https://pypi.org/project/fixtures/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/pbr-5.7.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.5.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-pypy39.patch
+)
+
+python_test() {
+ emake check
+}