| 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)), |