# 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()):
# 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:
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):