mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-07-31 10:58:21 -07:00
dev-python/funcsigs: fix test issue with pypy3
This commit disables 2 tests because they fail to run with pypy3. This has been reported upstream. Upstream bug: https://github.com/testing-cabal/funcsigs/issues/10 Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=564852 Package-Manager: portage-2.3.0 Closes: https://github.com/gentoo/gentoo/pull/2571 Signed-off-by: David Seifert <soap@gentoo.org>
This commit is contained in:
committed by
David Seifert
parent
c1fb928de2
commit
fd9a5a0a3c
@@ -0,0 +1,94 @@
|
||||
diff --git a/tests/test_inspect.py b/tests/test_inspect.py
|
||||
index 98d6592..3a2a1f2 100644
|
||||
--- a/tests/test_inspect.py
|
||||
+++ b/tests/test_inspect.py
|
||||
@@ -8,6 +8,7 @@ import unittest2 as unittest
|
||||
|
||||
import funcsigs as inspect
|
||||
|
||||
+import platform
|
||||
|
||||
class TestSignatureObject(unittest.TestCase):
|
||||
@staticmethod
|
||||
@@ -409,7 +410,7 @@ def test_signature_on_decorated(self):
|
||||
Ellipsis))
|
||||
""")
|
||||
|
||||
- if sys.version_info[0] > 2:
|
||||
+ if sys.version_info[0] > 2 and platform.python_implementation() != "PyPy":
|
||||
exec("""
|
||||
def test_signature_on_class(self):
|
||||
class C:
|
||||
@@ -493,41 +494,44 @@ def test_signature_on_class(self):
|
||||
Ellipsis))
|
||||
""")
|
||||
|
||||
- def test_signature_on_callable_objects(self):
|
||||
- class Foo(object):
|
||||
- def __call__(self, a):
|
||||
- pass
|
||||
+ if platform.python_implementation() != "PyPy":
|
||||
+ exec("""
|
||||
+def test_signature_on_callable_objects(self):
|
||||
+ class Foo(object):
|
||||
+ def __call__(self, a):
|
||||
+ pass
|
||||
|
||||
- self.assertEqual(self.signature(Foo()),
|
||||
- ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),),
|
||||
- Ellipsis))
|
||||
+ self.assertEqual(self.signature(Foo()),
|
||||
+ ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),),
|
||||
+ Ellipsis))
|
||||
|
||||
- class Spam(object):
|
||||
- pass
|
||||
- with self.assertRaisesRegex(TypeError, "is not a callable object"):
|
||||
- inspect.signature(Spam())
|
||||
+ class Spam(object):
|
||||
+ pass
|
||||
+ with self.assertRaisesRegex(TypeError, "is not a callable object"):
|
||||
+ inspect.signature(Spam())
|
||||
|
||||
- class Bar(Spam, Foo):
|
||||
- pass
|
||||
+ class Bar(Spam, Foo):
|
||||
+ pass
|
||||
|
||||
- self.assertEqual(self.signature(Bar()),
|
||||
- ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),),
|
||||
- Ellipsis))
|
||||
+ self.assertEqual(self.signature(Bar()),
|
||||
+ ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),),
|
||||
+ Ellipsis))
|
||||
|
||||
- class ToFail(object):
|
||||
- __call__ = type
|
||||
- with self.assertRaisesRegex(ValueError, "not supported by signature"):
|
||||
- inspect.signature(ToFail())
|
||||
+ class ToFail(object):
|
||||
+ __call__ = type
|
||||
+ with self.assertRaisesRegex(ValueError, "not supported by signature"):
|
||||
+ inspect.signature(ToFail())
|
||||
|
||||
- if sys.version_info[0] < 3:
|
||||
- return
|
||||
+ if sys.version_info[0] < 3:
|
||||
+ return
|
||||
|
||||
- class Wrapped(object):
|
||||
- pass
|
||||
- Wrapped.__wrapped__ = lambda a: None
|
||||
- self.assertEqual(self.signature(Wrapped),
|
||||
- ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),),
|
||||
- Ellipsis))
|
||||
+ class Wrapped(object):
|
||||
+ pass
|
||||
+ Wrapped.__wrapped__ = lambda a: None
|
||||
+ self.assertEqual(self.signature(Wrapped),
|
||||
+ ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),),
|
||||
+ Ellipsis))
|
||||
+""")
|
||||
|
||||
def test_signature_on_lambdas(self):
|
||||
self.assertEqual(self.signature((lambda a=10: a)),
|
||||
@@ -22,6 +22,13 @@ DEPEND="
|
||||
test? ( dev-python/unittest2[${PYTHON_USEDEP}] )"
|
||||
RDEPEND=""
|
||||
|
||||
PATCHES=(
|
||||
# This patch disables some tests for pypy as they do not work as expected.
|
||||
# This has been reported upstream
|
||||
# https://github.com/testing-cabal/funcsigs/issues/10
|
||||
"${FILESDIR}/${P}-fix-pypy3-tests.patch"
|
||||
)
|
||||
|
||||
python_test() {
|
||||
esetup.py test
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user