inspect: Validate that __signature__ is None or an instance of Signature.

Closes #21801.
This commit is contained in:
Yury Selivanov 2014-06-23 10:23:50 -07:00
parent 289cae4f92
commit 42407abe24
3 changed files with 14 additions and 0 deletions

View file

@ -3136,6 +3136,13 @@ class TestMain(unittest.TestCase):
self.assertEqual(lines[:-1], inspect.getsource(module).splitlines())
self.assertEqual(err, b'')
def test_custom_getattr(self):
def foo():
pass
foo.__signature__ = 42
with self.assertRaises(TypeError):
inspect.signature(foo)
@unittest.skipIf(ThreadPoolExecutor is None,
'threads required to test __qualname__ for source files')
def test_qualname_source(self):