From 0b218ea562e24ebd493063d1c2266fe4d6c3927b Mon Sep 17 00:00:00 2001 From: sobolevn Date: Thu, 1 May 2025 15:29:59 +0300 Subject: [PATCH] gh-133210: Fix `test_inspect` in `--without-doc-strings` mode --- 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 06f0ca36f9796f..2e7e71e4206d18 100644 --- a/Lib/test/test_inspect/test_inspect.py +++ b/Lib/test/test_inspect/test_inspect.py @@ -3412,9 +3412,10 @@ def m1d(*args, **kwargs): 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 @@ def foo(cls, arg1, *, arg2=1): ...)) 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 @@ def __init__(self, b): 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 C: __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 C(dict): 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 C(int): __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 C: 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"),