From 27e011455d38facfeca8aeaeed505cbd987f8509 Mon Sep 17 00:00:00 2001 From: sobolevn Date: Thu, 1 May 2025 19:08:35 +0300 Subject: gh-133210: Fix `test_inspect` in `--without-doc-strings` mode (#133250) --- Lib/test/test_inspect/test_inspect.py | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/Lib/test/test_inspect/test_inspect.py b/Lib/test/test_inspect/test_inspect.py index 06f0ca3..2e7e71e 100644 --- a/Lib/test/test_inspect/test_inspect.py +++ b/Lib/test/test_inspect/test_inspect.py @@ -3412,9 +3412,10 @@ class TestSignatureObject(unittest.TestCase): int)) def test_signature_on_classmethod(self): - self.assertEqual(self.signature(classmethod), - ((('function', ..., ..., "positional_only"),), - ...)) + if not support.MISSING_C_DOCSTRINGS: + self.assertEqual(self.signature(classmethod), + ((('function', ..., ..., "positional_only"),), + ...)) class Test: @classmethod @@ -3434,9 +3435,10 @@ class TestSignatureObject(unittest.TestCase): ...)) def test_signature_on_staticmethod(self): - self.assertEqual(self.signature(staticmethod), - ((('function', ..., ..., "positional_only"),), - ...)) + if not support.MISSING_C_DOCSTRINGS: + self.assertEqual(self.signature(staticmethod), + ((('function', ..., ..., "positional_only"),), + ...)) class Test: @staticmethod @@ -3954,9 +3956,10 @@ class TestSignatureObject(unittest.TestCase): self.assertEqual(C(3), 8) self.assertEqual(C(3, 7), 1) - # BUG: Returns '' - with self.assertRaises(AssertionError): - self.assertEqual(self.signature(C), self.signature((0).__pow__)) + if not support.MISSING_C_DOCSTRINGS: + # BUG: Returns '' + with self.assertRaises(AssertionError): + self.assertEqual(self.signature(C), self.signature((0).__pow__)) class CM(type): def __new__(mcls, name, bases, dct, *, foo=1): @@ -4352,7 +4355,8 @@ class TestSignatureObject(unittest.TestCase): __call__ = (2).__pow__ self.assertEqual(C()(3), 8) - self.assertEqual(self.signature(C()), self.signature((0).__pow__)) + if not support.MISSING_C_DOCSTRINGS: + self.assertEqual(self.signature(C()), self.signature((0).__pow__)) with self.subTest('ClassMethodDescriptorType'): class C(dict): @@ -4361,7 +4365,8 @@ class TestSignatureObject(unittest.TestCase): res = C()([1, 2], 3) self.assertEqual(res, {1: 3, 2: 3}) self.assertEqual(type(res), C) - self.assertEqual(self.signature(C()), self.signature(dict.fromkeys)) + if not support.MISSING_C_DOCSTRINGS: + self.assertEqual(self.signature(C()), self.signature(dict.fromkeys)) with self.subTest('MethodDescriptorType'): class C(str): @@ -4375,7 +4380,8 @@ class TestSignatureObject(unittest.TestCase): __call__ = int.__pow__ self.assertEqual(C(2)(3), 8) - self.assertEqual(self.signature(C()), self.signature((0).__pow__)) + if not support.MISSING_C_DOCSTRINGS: + self.assertEqual(self.signature(C()), self.signature((0).__pow__)) with self.subTest('MemberDescriptorType'): class C: @@ -4393,7 +4399,8 @@ class TestSignatureObject(unittest.TestCase): def __call__(self, *args, **kwargs): pass - self.assertEqual(self.signature(C), ((), ...)) + if not support.MISSING_C_DOCSTRINGS: + self.assertEqual(self.signature(C), ((), ...)) self.assertEqual(self.signature(C()), ((('a', ..., ..., "positional_only"), ('b', ..., ..., "positional_or_keyword"), -- cgit v0.12