[3.12] gh-112001: Fix test_builtins_have_signatures in test_inspect (GH-112002) (GH-112003)

(cherry picked from commit 40752c1c1e)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
This commit is contained in:
Miss Islington (bot) 2023-11-12 14:20:36 +01:00 committed by GitHub
parent 158a7e1acd
commit 378a96e361
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -4516,19 +4516,14 @@ class TestSignatureDefinitions(unittest.TestCase):
# These have unrepresentable parameter default values of NULL
needs_null = {"anext"}
no_signature |= needs_null
# These need PEP 457 groups or a signature change to accept None
needs_semantic_update = {"round"}
no_signature |= needs_semantic_update
# These need *args support in Argument Clinic
needs_varargs = {"breakpoint", "min", "max", "print",
"__build_class__"}
needs_varargs = {"breakpoint", "min", "max", "__build_class__"}
no_signature |= needs_varargs
# These simply weren't covered in the initial AC conversion
# for builtin callables
not_converted_yet = {"open", "__import__"}
no_signature |= not_converted_yet
# These builtin types are expected to provide introspection info
types_with_signatures = set()
types_with_signatures = {
'complex', 'enumerate', 'float', 'list', 'memoryview', 'object',
'property', 'reversed', 'tuple',
}
# Check the signatures we expect to be there
ns = vars(builtins)
for name, obj in sorted(ns.items()):
@ -4547,9 +4542,9 @@ class TestSignatureDefinitions(unittest.TestCase):
# This ensures this test will start failing as more signatures are
# added, so the affected items can be moved into the scope of the
# regression test above
for name in no_signature:
for name in no_signature - needs_null - needs_groups:
with self.subTest(builtin=name):
self.assertIsNone(obj.__text_signature__)
self.assertIsNone(ns[name].__text_signature__)
def test_python_function_override_signature(self):
def func(*args, **kwargs):