at master 3.2 kB view raw
1diff --git a/tests/test_inspect.py b/tests/test_inspect.py 2index 98d6592..3a2a1f2 100644 3--- a/tests/test_inspect.py 4+++ b/tests/test_inspect.py 5@@ -8,6 +8,7 @@ import unittest2 as unittest 6 7 import funcsigs as inspect 8 9+import platform 10 11 class TestSignatureObject(unittest.TestCase): 12 @staticmethod 13@@ -409,7 +410,7 @@ def test_signature_on_decorated(self): 14 Ellipsis)) 15 """) 16 17- if sys.version_info[0] > 2: 18+ if sys.version_info[0] > 2 and platform.python_implementation() != "PyPy": 19 exec(""" 20 def test_signature_on_class(self): 21 class C: 22@@ -493,41 +494,44 @@ def test_signature_on_class(self): 23 Ellipsis)) 24 """) 25 26- def test_signature_on_callable_objects(self): 27- class Foo(object): 28- def __call__(self, a): 29- pass 30+ if platform.python_implementation() != "PyPy": 31+ exec(""" 32+def test_signature_on_callable_objects(self): 33+ class Foo(object): 34+ def __call__(self, a): 35+ pass 36 37- self.assertEqual(self.signature(Foo()), 38- ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),), 39- Ellipsis)) 40+ self.assertEqual(self.signature(Foo()), 41+ ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),), 42+ Ellipsis)) 43 44- class Spam(object): 45- pass 46- with self.assertRaisesRegex(TypeError, "is not a callable object"): 47- inspect.signature(Spam()) 48+ class Spam(object): 49+ pass 50+ with self.assertRaisesRegex(TypeError, "is not a callable object"): 51+ inspect.signature(Spam()) 52 53- class Bar(Spam, Foo): 54- pass 55+ class Bar(Spam, Foo): 56+ pass 57 58- self.assertEqual(self.signature(Bar()), 59- ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),), 60- Ellipsis)) 61+ self.assertEqual(self.signature(Bar()), 62+ ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),), 63+ Ellipsis)) 64 65- class ToFail(object): 66- __call__ = type 67- with self.assertRaisesRegex(ValueError, "not supported by signature"): 68- inspect.signature(ToFail()) 69+ class ToFail(object): 70+ __call__ = type 71+ with self.assertRaisesRegex(ValueError, "not supported by signature"): 72+ inspect.signature(ToFail()) 73 74- if sys.version_info[0] < 3: 75- return 76+ if sys.version_info[0] < 3: 77+ return 78 79- class Wrapped(object): 80- pass 81- Wrapped.__wrapped__ = lambda a: None 82- self.assertEqual(self.signature(Wrapped), 83- ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),), 84- Ellipsis)) 85+ class Wrapped(object): 86+ pass 87+ Wrapped.__wrapped__ = lambda a: None 88+ self.assertEqual(self.signature(Wrapped), 89+ ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),), 90+ Ellipsis)) 91+""") 92 93 def test_signature_on_lambdas(self): 94 self.assertEqual(self.signature((lambda a=10: a)),