bpo-33009: Fix inspect.signature() for single-parameter partialmethods. (GH-6004)
(cherry picked from commit 8a387219bdfb6ee34928d6168ac42ca559f11c9a)
Co-authored-by: Yury Selivanov <yury@magic.io>
diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py
index 1a856f6..3481a57 100644
--- a/Lib/test/test_inspect.py
+++ b/Lib/test/test_inspect.py
@@ -2580,6 +2580,16 @@
('c', 1, ..., 'keyword_only')),
'spam'))
+ class Spam:
+ def test(self: 'anno', x):
+ pass
+
+ g = partialmethod(test, 1)
+
+ self.assertEqual(self.signature(Spam.g),
+ ((('self', ..., 'anno', 'positional_or_keyword'),),
+ ...))
+
def test_signature_on_fake_partialmethod(self):
def foo(a): pass
foo._partialmethod = 'spam'