diff options
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/funcsigs/fix-pypy3-tests.patch')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/funcsigs/fix-pypy3-tests.patch | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/funcsigs/fix-pypy3-tests.patch b/nixpkgs/pkgs/development/python-modules/funcsigs/fix-pypy3-tests.patch new file mode 100644 index 000000000000..f4ecec3b6137 --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/funcsigs/fix-pypy3-tests.patch @@ -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)), |