summaryrefslogtreecommitdiff
path: root/Lib/test/test_inspect.py
diff options
context:
space:
mode:
authorYury Selivanov <yselivanov@sprymix.com>2014-01-29 10:52:57 -0500
committerYury Selivanov <yselivanov@sprymix.com>2014-01-29 10:52:57 -0500
commit76c6c593ed0e85332a3d320c57cf032d22410426 (patch)
tree9fe6b60ac1d4275bf44ca71936da0d827b5f84f3 /Lib/test/test_inspect.py
parentb77511da9257bae4082556e0235b23d008dfb789 (diff)
downloadcpython-git-76c6c593ed0e85332a3d320c57cf032d22410426.tar.gz
inspect.signature: Add support for decorated (wrapped) builtins #20425
Diffstat (limited to 'Lib/test/test_inspect.py')
-rw-r--r--Lib/test/test_inspect.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py
index 2ef3ca2270..4f19f29165 100644
--- a/Lib/test/test_inspect.py
+++ b/Lib/test/test_inspect.py
@@ -1655,6 +1655,21 @@ class TestSignatureObject(unittest.TestCase):
__call__ = type
test_callable(ThisWorksNow())
+ @unittest.skipIf(MISSING_C_DOCSTRINGS,
+ "Signature information for builtins requires docstrings")
+ def test_signature_on_decorated_builtins(self):
+ func = _testcapi.docstring_with_signature_with_defaults
+
+ def decorator(func):
+ @functools.wraps(func)
+ def wrapper(*args, **kwargs) -> int:
+ return func(*args, **kwargs)
+ return wrapper
+
+ decorated_func = decorator(func)
+
+ self.assertEqual(inspect.signature(func),
+ inspect.signature(decorated_func))
def test_signature_on_builtins_no_signature(self):
with self.assertRaisesRegex(ValueError, 'no signature found for builtin'):