diff options
author | Yury Selivanov <yselivanov@sprymix.com> | 2014-01-29 10:52:57 -0500 |
---|---|---|
committer | Yury Selivanov <yselivanov@sprymix.com> | 2014-01-29 10:52:57 -0500 |
commit | 76c6c593ed0e85332a3d320c57cf032d22410426 (patch) | |
tree | 9fe6b60ac1d4275bf44ca71936da0d827b5f84f3 /Lib/test/test_inspect.py | |
parent | b77511da9257bae4082556e0235b23d008dfb789 (diff) | |
download | cpython-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.py | 15 |
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'): |