diff --git a/stdlib/_csv.pyi b/stdlib/_csv.pyi index 734c5654ee09..65f0ca27f0ec 100644 --- a/stdlib/_csv.pyi +++ b/stdlib/_csv.pyi @@ -1,8 +1,5 @@ from typing import Any, Iterable, Iterator, List, Protocol, Type, Union -# __version__ is deliberately not defined here or in csv.pyi, -# as it appears to have been hardcoded at "1.0" for a very long time! - QUOTE_ALL: int QUOTE_MINIMAL: int QUOTE_NONE: int diff --git a/stdlib/csv.pyi b/stdlib/csv.pyi index 60dc597f0d81..0b69cb2272d3 100644 --- a/stdlib/csv.pyi +++ b/stdlib/csv.pyi @@ -25,9 +25,6 @@ if sys.version_info >= (3, 8): else: from collections import OrderedDict as _DictReadMapping -# __version__ is deliberately not defined here or in _csv.pyi, -# as it appears to have been hardcoded at "1.0" for a very long time! - _T = TypeVar("_T") class excel(Dialect): diff --git a/tests/stubtest_allowlists/darwin-py310.txt b/tests/stubtest_allowlists/darwin-py310.txt index e264ecc767ec..c44779c7523e 100644 --- a/tests/stubtest_allowlists/darwin-py310.txt +++ b/tests/stubtest_allowlists/darwin-py310.txt @@ -1,3 +1,18 @@ _?curses.A_ITALIC _curses.color_pair curses.color_pair + +# Exists at runtime, but missing from stubs +_curses.get_escdelay +_curses.get_tabsize +_curses.set_escdelay +_curses.set_tabsize +asyncio.PidfdChildWatcher +asyncio.unix_events.PidfdChildWatcher +os.CLD_KILLED +os.CLD_STOPPED +os.POSIX_SPAWN_CLOSE +os.POSIX_SPAWN_DUP2 +os.POSIX_SPAWN_OPEN +posix.register_at_fork +posix.waitstatus_to_exitcode diff --git a/tests/stubtest_allowlists/darwin-py36.txt b/tests/stubtest_allowlists/darwin-py36.txt index 088b045c4ef0..d5e38f94bb65 100644 --- a/tests/stubtest_allowlists/darwin-py36.txt +++ b/tests/stubtest_allowlists/darwin-py36.txt @@ -2,3 +2,10 @@ ctypes.wintypes pwd.getpwnam ssl.PROTOCOL_SSLv3 # Depends on openssl compilation ssl.RAND_egd # Depends on openssl compilation + +# Exists at runtime, but missing from stubs +ftplib.FTP.trust_server_pasv_ipv4_address +ntpath.splitunc +posix.stat_float_times +ssl.OP_ENABLE_MIDDLEBOX_COMPAT +ssl.Options.OP_ENABLE_MIDDLEBOX_COMPAT diff --git a/tests/stubtest_allowlists/darwin-py37.txt b/tests/stubtest_allowlists/darwin-py37.txt index 05014d7809e2..41485ea2d7ac 100644 --- a/tests/stubtest_allowlists/darwin-py37.txt +++ b/tests/stubtest_allowlists/darwin-py37.txt @@ -1,3 +1,7 @@ _?curses.A_ITALIC ctypes.wintypes pwd.getpwnam + +# Exists at runtime, but missing from stubs +ftplib.FTP.trust_server_pasv_ipv4_address +posix.register_at_fork diff --git a/tests/stubtest_allowlists/darwin-py38.txt b/tests/stubtest_allowlists/darwin-py38.txt index 340d297129d7..b99d18e0f3c2 100644 --- a/tests/stubtest_allowlists/darwin-py38.txt +++ b/tests/stubtest_allowlists/darwin-py38.txt @@ -1 +1,7 @@ _?curses.A_ITALIC + +# Exists at runtime, but missing from stubs +os.POSIX_SPAWN_CLOSE +os.POSIX_SPAWN_DUP2 +os.POSIX_SPAWN_OPEN +posix.register_at_fork diff --git a/tests/stubtest_allowlists/darwin-py39.txt b/tests/stubtest_allowlists/darwin-py39.txt index 340d297129d7..be7a1000f28e 100644 --- a/tests/stubtest_allowlists/darwin-py39.txt +++ b/tests/stubtest_allowlists/darwin-py39.txt @@ -1 +1,16 @@ _?curses.A_ITALIC + +# Exists at runtime, but missing from stubs +_curses.get_escdelay +_curses.get_tabsize +_curses.set_escdelay +_curses.set_tabsize +asyncio.PidfdChildWatcher +asyncio.unix_events.PidfdChildWatcher +os.CLD_KILLED +os.CLD_STOPPED +os.POSIX_SPAWN_CLOSE +os.POSIX_SPAWN_DUP2 +os.POSIX_SPAWN_OPEN +posix.register_at_fork +posix.waitstatus_to_exitcode diff --git a/tests/stubtest_allowlists/darwin.txt b/tests/stubtest_allowlists/darwin.txt index 4b8443f75a13..26c126d129a0 100644 --- a/tests/stubtest_allowlists/darwin.txt +++ b/tests/stubtest_allowlists/darwin.txt @@ -46,3 +46,156 @@ posix.SCHED_[A-Z_]+ # Loadable SQLite extensions are disabled on GitHub runners (sqlite3(.dbapi2)?.Connection.enable_load_extension)? (sqlite3(.dbapi2)?.Connection.load_extension)? + +# Exists at runtime, but missing from stubs +distutils.msvccompiler.MSVCCompiler.get_msvc_paths +distutils.msvccompiler.MSVCCompiler.set_path_env_var +distutils.msvccompiler.MacroExpander +grp.struct_group.n_fields +grp.struct_group.n_sequence_fields +grp.struct_group.n_unnamed_fields +mimetypes.MimeTypes.read_windows_registry +os.ST_NOSUID +os.ST_RDONLY +os.uname_result.n_fields +os.uname_result.n_sequence_fields +os.uname_result.n_unnamed_fields +posix.DirEntry +posix.abort +posix.access +posix.chdir +posix.chflags +posix.chmod +posix.chown +posix.chroot +posix.close +posix.closerange +posix.confstr +posix.cpu_count +posix.ctermid +posix.device_encoding +posix.dup +posix.dup2 +posix.execv +posix.execve +posix.fchdir +posix.fchmod +posix.fchown +posix.fork +posix.forkpty +posix.fpathconf +posix.fspath +posix.fstat +posix.fstatvfs +posix.fsync +posix.ftruncate +posix.get_blocking +posix.get_inheritable +posix.get_terminal_size +posix.getcwd +posix.getcwdb +posix.getegid +posix.geteuid +posix.getgid +posix.getgrouplist +posix.getgroups +posix.getloadavg +posix.getlogin +posix.getpgid +posix.getpgrp +posix.getpid +posix.getppid +posix.getpriority +posix.getsid +posix.getuid +posix.initgroups +posix.isatty +posix.kill +posix.killpg +posix.lchflags +posix.lchmod +posix.lchown +posix.link +posix.lockf +posix.lseek +posix.lstat +posix.major +posix.makedev +posix.minor +posix.mkdir +posix.mkfifo +posix.mknod +posix.nice +posix.open +posix.openpty +posix.pathconf +posix.pipe +posix.pread +posix.putenv +posix.pwrite +posix.read +posix.readlink +posix.readv +posix.remove +posix.rename +posix.replace +posix.rmdir +posix.scandir +posix.sched_get_priority_max +posix.sched_get_priority_min +posix.sched_yield +posix.sendfile +posix.set_blocking +posix.set_inheritable +posix.setegid +posix.seteuid +posix.setgid +posix.setgroups +posix.setpgid +posix.setpgrp +posix.setpriority +posix.setregid +posix.setreuid +posix.setsid +posix.setuid +posix.stat +posix.stat_result.n_fields +posix.stat_result.n_sequence_fields +posix.stat_result.n_unnamed_fields +posix.statvfs +posix.strerror +posix.symlink +posix.sync +posix.sysconf +posix.system +posix.tcgetpgrp +posix.tcsetpgrp +posix.times +posix.times_result.n_fields +posix.times_result.n_sequence_fields +posix.times_result.n_unnamed_fields +posix.truncate +posix.ttyname +posix.umask +posix.uname +posix.uname_result.n_fields +posix.uname_result.n_sequence_fields +posix.uname_result.n_unnamed_fields +posix.unlink +posix.unsetenv +posix.urandom +posix.utime +posix.wait +posix.wait3 +posix.wait4 +posix.waitpid +posix.write +posix.writev +resource.struct_rusage.n_fields +resource.struct_rusage.n_sequence_fields +resource.struct_rusage.n_unnamed_fields +selectors.DefaultSelector.fileno +socket.AddressInfo.AI_DEFAULT +socket.AddressInfo.AI_MASK +socket.AddressInfo.AI_V4MAPPED_CFG +socket.MsgFlag.MSG_EOF diff --git a/tests/stubtest_allowlists/linux-py310.txt b/tests/stubtest_allowlists/linux-py310.txt index 724f6f10bb7d..ac90ff84948f 100644 --- a/tests/stubtest_allowlists/linux-py310.txt +++ b/tests/stubtest_allowlists/linux-py310.txt @@ -17,3 +17,48 @@ os.sendfile signal.sigtimedwait signal.sigwaitinfo select.epoll.register + +# Exists at runtime, but missing from stubs +_curses.get_escdelay +_curses.get_tabsize +_curses.set_escdelay +_curses.set_tabsize +asyncio.PidfdChildWatcher +asyncio.unix_events.PidfdChildWatcher +os.CLD_KILLED +os.CLD_STOPPED +os.EFD_CLOEXEC +os.EFD_NONBLOCK +os.EFD_SEMAPHORE +os.POSIX_SPAWN_CLOSE +os.POSIX_SPAWN_DUP2 +os.POSIX_SPAWN_OPEN +os.P_PIDFD +os.RWF_APPEND +os.RWF_DSYNC +os.RWF_HIPRI +os.RWF_NOWAIT +os.RWF_SYNC +os.SPLICE_F_MORE +os.SPLICE_F_MOVE +os.SPLICE_F_NONBLOCK +os.copy_file_range +os.eventfd +os.eventfd_read +os.eventfd_write +os.pidfd_open +os.preadv +os.pwritev +os.splice +posix.copy_file_range +posix.eventfd +posix.eventfd_read +posix.eventfd_write +posix.memfd_create +posix.pidfd_open +posix.preadv +posix.pwritev +posix.register_at_fork +posix.splice +posix.waitstatus_to_exitcode +time.pthread_getcpuclockid diff --git a/tests/stubtest_allowlists/linux-py36.txt b/tests/stubtest_allowlists/linux-py36.txt index 088b045c4ef0..d5e38f94bb65 100644 --- a/tests/stubtest_allowlists/linux-py36.txt +++ b/tests/stubtest_allowlists/linux-py36.txt @@ -2,3 +2,10 @@ ctypes.wintypes pwd.getpwnam ssl.PROTOCOL_SSLv3 # Depends on openssl compilation ssl.RAND_egd # Depends on openssl compilation + +# Exists at runtime, but missing from stubs +ftplib.FTP.trust_server_pasv_ipv4_address +ntpath.splitunc +posix.stat_float_times +ssl.OP_ENABLE_MIDDLEBOX_COMPAT +ssl.Options.OP_ENABLE_MIDDLEBOX_COMPAT diff --git a/tests/stubtest_allowlists/linux-py37.txt b/tests/stubtest_allowlists/linux-py37.txt index 8968528b1609..1df53ac40187 100644 --- a/tests/stubtest_allowlists/linux-py37.txt +++ b/tests/stubtest_allowlists/linux-py37.txt @@ -1,2 +1,15 @@ ctypes.wintypes pwd.getpwnam + +# Exists at runtime, but missing from stubs +ftplib.FTP.trust_server_pasv_ipv4_address +os.RWF_DSYNC +os.RWF_HIPRI +os.RWF_NOWAIT +os.RWF_SYNC +os.preadv +os.pwritev +posix.preadv +posix.pwritev +posix.register_at_fork +time.pthread_getcpuclockid diff --git a/tests/stubtest_allowlists/linux-py38.txt b/tests/stubtest_allowlists/linux-py38.txt index 2c835817c208..6bb2bf0488a5 100644 --- a/tests/stubtest_allowlists/linux-py38.txt +++ b/tests/stubtest_allowlists/linux-py38.txt @@ -1 +1,19 @@ select.epoll.register + +# Exists at runtime, but missing from stubs +os.POSIX_SPAWN_CLOSE +os.POSIX_SPAWN_DUP2 +os.POSIX_SPAWN_OPEN +os.RWF_DSYNC +os.RWF_HIPRI +os.RWF_NOWAIT +os.RWF_SYNC +os.copy_file_range +os.preadv +os.pwritev +posix.copy_file_range +posix.memfd_create +posix.preadv +posix.pwritev +posix.register_at_fork +time.pthread_getcpuclockid diff --git a/tests/stubtest_allowlists/linux-py39.txt b/tests/stubtest_allowlists/linux-py39.txt index 0fb0a87dfdaf..f85379c92813 100644 --- a/tests/stubtest_allowlists/linux-py39.txt +++ b/tests/stubtest_allowlists/linux-py39.txt @@ -1,2 +1,32 @@ os.sendfile select.epoll.register + +# Exists at runtime, but missing from stubs +_curses.get_escdelay +_curses.get_tabsize +_curses.set_escdelay +_curses.set_tabsize +asyncio.PidfdChildWatcher +asyncio.unix_events.PidfdChildWatcher +os.CLD_KILLED +os.CLD_STOPPED +os.POSIX_SPAWN_CLOSE +os.POSIX_SPAWN_DUP2 +os.POSIX_SPAWN_OPEN +os.P_PIDFD +os.RWF_DSYNC +os.RWF_HIPRI +os.RWF_NOWAIT +os.RWF_SYNC +os.copy_file_range +os.pidfd_open +os.preadv +os.pwritev +posix.copy_file_range +posix.memfd_create +posix.pidfd_open +posix.preadv +posix.pwritev +posix.register_at_fork +posix.waitstatus_to_exitcode +time.pthread_getcpuclockid diff --git a/tests/stubtest_allowlists/linux.txt b/tests/stubtest_allowlists/linux.txt index a3442e8b5d8b..9fc8c5ee7216 100644 --- a/tests/stubtest_allowlists/linux.txt +++ b/tests/stubtest_allowlists/linux.txt @@ -50,3 +50,190 @@ posix.SCHED_[A-Z_]+ # Loadable SQLite extensions are disabled on GitHub runners (sqlite3(.dbapi2)?.Connection.enable_load_extension)? (sqlite3(.dbapi2)?.Connection.load_extension)? + +# Exists at runtime, but missing from stubs +distutils.msvccompiler.MSVCCompiler.get_msvc_paths +distutils.msvccompiler.MSVCCompiler.set_path_env_var +distutils.msvccompiler.MacroExpander +grp.struct_group.n_fields +grp.struct_group.n_sequence_fields +grp.struct_group.n_unnamed_fields +mimetypes.MimeTypes.read_windows_registry +os.sched_param.n_fields +os.sched_param.n_sequence_fields +os.sched_param.n_unnamed_fields +os.uname_result.n_fields +os.uname_result.n_sequence_fields +os.uname_result.n_unnamed_fields +os.waitid_result.n_fields +os.waitid_result.n_sequence_fields +os.waitid_result.n_unnamed_fields +posix.DirEntry +posix.abort +posix.access +posix.chdir +posix.chmod +posix.chown +posix.chroot +posix.close +posix.closerange +posix.confstr +posix.cpu_count +posix.ctermid +posix.device_encoding +posix.dup +posix.dup2 +posix.execv +posix.execve +posix.fchdir +posix.fchmod +posix.fchown +posix.fdatasync +posix.fork +posix.forkpty +posix.fpathconf +posix.fspath +posix.fstat +posix.fstatvfs +posix.fsync +posix.ftruncate +posix.get_blocking +posix.get_inheritable +posix.get_terminal_size +posix.getcwd +posix.getcwdb +posix.getegid +posix.geteuid +posix.getgid +posix.getgrouplist +posix.getgroups +posix.getloadavg +posix.getlogin +posix.getpgid +posix.getpgrp +posix.getpid +posix.getppid +posix.getpriority +posix.getrandom +posix.getresgid +posix.getresuid +posix.getsid +posix.getuid +posix.getxattr +posix.initgroups +posix.isatty +posix.kill +posix.killpg +posix.lchown +posix.link +posix.listxattr +posix.lockf +posix.lseek +posix.lstat +posix.major +posix.makedev +posix.minor +posix.mkdir +posix.mkfifo +posix.mknod +posix.nice +posix.open +posix.openpty +posix.pathconf +posix.pipe +posix.pipe2 +posix.posix_fadvise +posix.posix_fallocate +posix.pread +posix.putenv +posix.pwrite +posix.read +posix.readlink +posix.readv +posix.remove +posix.removexattr +posix.rename +posix.replace +posix.rmdir +posix.scandir +posix.sched_get_priority_max +posix.sched_get_priority_min +posix.sched_getaffinity +posix.sched_getparam +posix.sched_getscheduler +posix.sched_param +posix.sched_rr_get_interval +posix.sched_setaffinity +posix.sched_setparam +posix.sched_setscheduler +posix.sched_yield +posix.sendfile +posix.set_blocking +posix.set_inheritable +posix.setegid +posix.seteuid +posix.setgid +posix.setgroups +posix.setpgid +posix.setpgrp +posix.setpriority +posix.setregid +posix.setresgid +posix.setresuid +posix.setreuid +posix.setsid +posix.setuid +posix.setxattr +posix.stat +posix.stat_result.n_fields +posix.stat_result.n_sequence_fields +posix.stat_result.n_unnamed_fields +posix.statvfs +posix.strerror +posix.symlink +posix.sync +posix.sysconf +posix.system +posix.tcgetpgrp +posix.tcsetpgrp +posix.times +posix.times_result.n_fields +posix.times_result.n_sequence_fields +posix.times_result.n_unnamed_fields +posix.truncate +posix.ttyname +posix.umask +posix.uname +posix.uname_result.n_fields +posix.uname_result.n_sequence_fields +posix.uname_result.n_unnamed_fields +posix.unlink +posix.unsetenv +posix.urandom +posix.utime +posix.wait +posix.wait3 +posix.wait4 +posix.waitid +posix.waitid_result +posix.waitpid +posix.write +posix.writev +resource.struct_rusage.n_fields +resource.struct_rusage.n_sequence_fields +resource.struct_rusage.n_unnamed_fields +selectors.DefaultSelector.fileno +signal.struct_siginfo.n_fields +signal.struct_siginfo.n_sequence_fields +signal.struct_siginfo.n_unnamed_fields +socket.MsgFlag.MSG_CMSG_CLOEXEC +socket.MsgFlag.MSG_CONFIRM +socket.MsgFlag.MSG_ERRQUEUE +socket.MsgFlag.MSG_FASTOPEN +socket.MsgFlag.MSG_MORE +socket.MsgFlag.MSG_NOSIGNAL +spwd.struct_spwd.n_fields +spwd.struct_spwd.n_sequence_fields +spwd.struct_spwd.n_unnamed_fields +spwd.struct_spwd.sp_nam +spwd.struct_spwd.sp_pwd diff --git a/tests/stubtest_allowlists/py310.txt b/tests/stubtest_allowlists/py310.txt index e24c02c03294..b68018866857 100644 --- a/tests/stubtest_allowlists/py310.txt +++ b/tests/stubtest_allowlists/py310.txt @@ -67,6 +67,7 @@ platform.uname_result.__new__ platform.uname_result._fields platform.uname_result.processor queue.SimpleQueue.__init__ # Default C __init__ signature is wrong +re.Pattern.scanner # Undocumented and not useful. #6405 ssl.PROTOCOL_SSLv3 # Depends on ssl compilation ssl.RAND_egd # Depends on openssl compilation symtable.SymbolTable.has_exec @@ -74,6 +75,7 @@ sys.UnraisableHookArgs # Not exported from sys types.ClassMethodDescriptorType.__get__ types.CodeType.replace # stubtest thinks default values are None but None doesn't work at runtime types.GenericAlias.__getattr__ +types.GenericAlias.__call__ # Would be complicated to fix properly, Any could silence problems. #6392 types.MethodDescriptorType.__get__ types.WrapperDescriptorType.__get__ typing.ForwardRef._evaluate @@ -116,6 +118,8 @@ contextvars.ContextVar.set io.IncrementalNewlineDecoder.setstate random.SystemRandom.getrandbits secrets.SystemRandom.getrandbits +typing.SupportsRound.__round__ + # These enums derive from (str, Enum). See comment in py3_common.txt pstats.SortKey.__new__ tkinter.EventType.__new__ @@ -132,6 +136,84 @@ sched.Event._fields signal.default_int_handler ssl.SSLContext.__new__ ssl._create_unverified_context -typing.SupportsRound.__round__ unicodedata.ucnhash_CAPI unittest.mock.create_autospec + +# Exists at runtime, but missing from stubs +_ast.Tuple.dims +_codecs.unregister +_collections_abc.AsyncIterable.__class_getitem__ +_collections_abc.Awaitable.__class_getitem__ +_collections_abc.Container.__class_getitem__ +_collections_abc.Iterable.__class_getitem__ +_collections_abc.MappingView.__class_getitem__ +_csv.Reader +_csv.Writer +_imp.source_hash +_thread._ExceptHookArgs.n_fields +_thread._ExceptHookArgs.n_sequence_fields +_thread._ExceptHookArgs.n_unnamed_fields +ast.Tuple.dims +ast.main +asyncio.AbstractEventLoop.connect_accepted_socket +asyncio.BufferedProtocol.eof_received +asyncio._enter_task +asyncio._leave_task +asyncio._register_task +asyncio._unregister_task +asyncio.events.AbstractEventLoop.connect_accepted_socket +asyncio.protocols.BufferedProtocol.eof_received +bdb.Breakpoint.clearBreakpoints +distutils.dist.DistributionMetadata.set_classifiers +distutils.dist.DistributionMetadata.set_keywords +distutils.dist.DistributionMetadata.set_platforms +distutils.util.get_host_platform +email.headerregistry.MessageIDHeader.max_count +ftplib.FTP.trust_server_pasv_ipv4_address +importlib.abc.TraversableResources +importlib.machinery.PathFinder.find_distributions +importlib.metadata.Distribution.name +importlib.metadata.EntryPoint.attr +importlib.metadata.EntryPoint.dist +importlib.metadata.EntryPoint.matches +importlib.metadata.EntryPoint.module +importlib.metadata.EntryPoint.pattern +importlib.metadata.PackageMetadata +importlib.resources.ResourceReader +importlib.util.source_hash +lib2to3.pgen2.tokenize.COLONEQUAL +multiprocessing.managers.SharedMemoryServer.create +multiprocessing.managers.SharedMemoryServer.list_segments +multiprocessing.managers.SharedMemoryServer.public +multiprocessing.managers.SharedMemoryServer.release_segment +multiprocessing.managers.SharedMemoryServer.shutdown +multiprocessing.managers.SharedMemoryServer.track_segment +pstats.FunctionProfile +pstats.Stats.get_stats_profile +pstats.StatsProfile +pyexpat.XMLParserType.SkippedEntityHandler +pyexpat.XMLParserType.intern +sched.Event.sequence +types.CoroutineType.cr_origin +typing._SpecialForm.__call__ +unicodedata.UCD.is_normalized +xml.etree.ElementInclude.LimitedRecursiveIncludeError +xml.etree.ElementTree.C14NWriterTarget.comment +xml.etree.ElementTree.C14NWriterTarget.data +xml.etree.ElementTree.C14NWriterTarget.end +xml.etree.ElementTree.C14NWriterTarget.pi +xml.etree.ElementTree.C14NWriterTarget.start +xml.etree.ElementTree.C14NWriterTarget.start_ns +xml.etree.ElementTree.TreeBuilder.comment +xml.etree.ElementTree.TreeBuilder.pi +xml.etree.cElementTree.C14NWriterTarget.comment +xml.etree.cElementTree.C14NWriterTarget.data +xml.etree.cElementTree.C14NWriterTarget.end +xml.etree.cElementTree.C14NWriterTarget.pi +xml.etree.cElementTree.C14NWriterTarget.start +xml.etree.cElementTree.C14NWriterTarget.start_ns +xml.etree.cElementTree.TreeBuilder.comment +xml.etree.cElementTree.TreeBuilder.pi +xml.parsers.expat.XMLParserType.SkippedEntityHandler +xml.parsers.expat.XMLParserType.intern +xml.sax.handler.LexicalHandler diff --git a/tests/stubtest_allowlists/py36.txt b/tests/stubtest_allowlists/py36.txt index bde1defc1ad0..f78cb89838b3 100644 --- a/tests/stubtest_allowlists/py36.txt +++ b/tests/stubtest_allowlists/py36.txt @@ -81,3 +81,53 @@ collections.Generator.gi_running collections.Generator.gi_yieldfrom collections.Mapping.get # Adding None to the Union messed up mypy collections.Sequence.index # Supporting None in end is not mandatory + +# Exists at runtime, but missing from stubs +_bisect.bisect +_bisect.insort +asyncio.async +asyncio.futures._TracebackLogger.loop +asyncio.futures._TracebackLogger.source_traceback +asyncio.tasks.async +calendar.HTMLCalendar.cssclasses +distutils.cmd.install_misc +distutils.command.bdist_wininst +distutils.command.bdist_wininst.bdist_wininst +distutils.sysconfig.expand_makefile_vars +distutils.sysconfig.get_python_version +dummy_threading.Barrier +dummy_threading.BoundedSemaphore +dummy_threading.BrokenBarrierError +dummy_threading.Condition +dummy_threading.Event +dummy_threading.Lock +dummy_threading.RLock +dummy_threading.Semaphore +dummy_threading.TIMEOUT_MAX +dummy_threading.Thread +dummy_threading.ThreadError +dummy_threading.Timer +dummy_threading.active_count +dummy_threading.current_thread +dummy_threading.enumerate +dummy_threading.get_ident +dummy_threading.local +dummy_threading.main_thread +dummy_threading.setprofile +dummy_threading.settrace +dummy_threading.stack_size +html.parser.HTMLParser.unescape +platform.popen +plistlib.Data.asBase64 +plistlib.Data.fromBase64 +plistlib.Plist +ssl.SSLObject.verify_client_post_handshake +ssl.SSLSocket.verify_client_post_handshake +sys.callstats +sys.get_coroutine_wrapper +sys.set_coroutine_wrapper +tempfile.SpooledTemporaryFile.softspace +tkinter.dnd.Icon +tkinter.dnd.Tester +tkinter.dnd.test +xml.dom.xmlbuilder.DocumentLS.async diff --git a/tests/stubtest_allowlists/py37.txt b/tests/stubtest_allowlists/py37.txt index 5d52641ad1a0..08c5274741a1 100644 --- a/tests/stubtest_allowlists/py37.txt +++ b/tests/stubtest_allowlists/py37.txt @@ -41,6 +41,7 @@ pyexpat.XMLParserType.ExternalEntityParserCreate # C signature is wrong - funct queue.SimpleQueue.__init__ # Default C __init__ signature is wrong random.Random.randrange # missing undocumented arg _int random.randrange # missing undocumented arg _int +re.Pattern.scanner # Undocumented and not useful. #6405 sched.Event.__doc__ # __slots__ is overridden ssl.PROTOCOL_SSLv3 # Depends on ssl compilation ssl.RAND_egd # Depends on openssl compilation @@ -77,3 +78,61 @@ collections.Generator.gi_running collections.Generator.gi_yieldfrom collections.Mapping.get # Adding None to the Union messed up mypy collections.Sequence.index # Supporting None in end is not mandatory + +# Exists at runtime, but missing from stubs +_dummy_thread.RLock +_imp.source_hash +asyncio.BufferedProtocol.eof_received +asyncio._enter_task +asyncio._leave_task +asyncio._register_task +asyncio._unregister_task +asyncio.protocols.BufferedProtocol.eof_received +contextvars.ContextVar.__class_getitem__ +distutils.command.bdist_wininst +distutils.command.bdist_wininst.bdist_wininst +distutils.dist.DistributionMetadata.set_classifiers +distutils.dist.DistributionMetadata.set_keywords +distutils.dist.DistributionMetadata.set_platforms +distutils.sysconfig.expand_makefile_vars +distutils.sysconfig.get_python_version +dummy_threading.Barrier +dummy_threading.BoundedSemaphore +dummy_threading.BrokenBarrierError +dummy_threading.Condition +dummy_threading.Event +dummy_threading.Lock +dummy_threading.RLock +dummy_threading.Semaphore +dummy_threading.TIMEOUT_MAX +dummy_threading.Thread +dummy_threading.ThreadError +dummy_threading.Timer +dummy_threading.active_count +dummy_threading.current_thread +dummy_threading.enumerate +dummy_threading.get_ident +dummy_threading.local +dummy_threading.main_thread +dummy_threading.setprofile +dummy_threading.settrace +dummy_threading.stack_size +html.parser.HTMLParser.unescape +importlib.util.source_hash +lib2to3.pgen2.tokenize.COLONEQUAL +platform.popen +plistlib.Data.asBase64 +plistlib.Data.fromBase64 +ssl.OP_ENABLE_MIDDLEBOX_COMPAT +ssl.Options.OP_ENABLE_MIDDLEBOX_COMPAT +ssl.SSLObject.verify_client_post_handshake +ssl.SSLSocket.verify_client_post_handshake +sys.callstats +sys.get_coroutine_wrapper +sys.set_coroutine_wrapper +tempfile.SpooledTemporaryFile.softspace +tkinter.dnd.Icon +tkinter.dnd.Tester +tkinter.dnd.test +types.CoroutineType.cr_origin +typing._SpecialForm.__call__ diff --git a/tests/stubtest_allowlists/py38.txt b/tests/stubtest_allowlists/py38.txt index 384e21329527..1a94c9e3b365 100644 --- a/tests/stubtest_allowlists/py38.txt +++ b/tests/stubtest_allowlists/py38.txt @@ -52,6 +52,7 @@ pickle.Pickler.reducer_override # implemented in C pickler queue.SimpleQueue.__init__ # Default C __init__ signature is wrong random.Random.randrange # missing undocumented arg _int random.randrange # missing undocumented arg _int +re.Pattern.scanner # Undocumented and not useful. #6405 sched.Event.__doc__ # __slots__ is overridden ssl.PROTOCOL_SSLv3 # Depends on ssl compilation ssl.RAND_egd # Depends on openssl compilation @@ -96,3 +97,91 @@ collections.Generator.gi_running collections.Generator.gi_yieldfrom collections.Mapping.get # Adding None to the Union messed up mypy collections.Sequence.index # Supporting None in end is not mandatory + +# Exists at runtime, but missing from stubs +_dummy_thread.RLock +_imp.source_hash +_thread._ExceptHookArgs.n_fields +_thread._ExceptHookArgs.n_sequence_fields +_thread._ExceptHookArgs.n_unnamed_fields +asyncio.BufferedProtocol.eof_received +asyncio._enter_task +asyncio._leave_task +asyncio._register_task +asyncio._unregister_task +asyncio.protocols.BufferedProtocol.eof_received +contextvars.ContextVar.__class_getitem__ +distutils.command.bdist_wininst +distutils.command.bdist_wininst.bdist_wininst +distutils.dist.DistributionMetadata.set_classifiers +distutils.dist.DistributionMetadata.set_keywords +distutils.dist.DistributionMetadata.set_platforms +distutils.sysconfig.expand_makefile_vars +distutils.sysconfig.get_python_version +distutils.util.get_host_platform +dummy_threading.Barrier +dummy_threading.BoundedSemaphore +dummy_threading.BrokenBarrierError +dummy_threading.Condition +dummy_threading.Event +dummy_threading.ExceptHookArgs +dummy_threading.Lock +dummy_threading.RLock +dummy_threading.Semaphore +dummy_threading.TIMEOUT_MAX +dummy_threading.Thread +dummy_threading.ThreadError +dummy_threading.Timer +dummy_threading.active_count +dummy_threading.current_thread +dummy_threading.enumerate +dummy_threading.excepthook +dummy_threading.get_ident +dummy_threading.local +dummy_threading.main_thread +dummy_threading.setprofile +dummy_threading.settrace +dummy_threading.stack_size +email.headerregistry.MessageIDHeader.max_count +ftplib.FTP.trust_server_pasv_ipv4_address +html.parser.HTMLParser.unescape +importlib.machinery.PathFinder.find_distributions +importlib.metadata.EntryPoint.pattern +importlib.util.source_hash +lib2to3.pgen2.tokenize.COLONEQUAL +multiprocessing.managers.SharedMemoryServer.create +multiprocessing.managers.SharedMemoryServer.list_segments +multiprocessing.managers.SharedMemoryServer.public +multiprocessing.managers.SharedMemoryServer.release_segment +multiprocessing.managers.SharedMemoryServer.shutdown +multiprocessing.managers.SharedMemoryServer.track_segment +plistlib.Data.asBase64 +plistlib.Data.fromBase64 +pyexpat.XMLParserType.SkippedEntityHandler +pyexpat.XMLParserType.intern +sys.callstats +tempfile.SpooledTemporaryFile.softspace +tkinter.dnd.Icon +tkinter.dnd.Tester +tkinter.dnd.test +types.CoroutineType.cr_origin +typing._SpecialForm.__call__ +unicodedata.UCD.is_normalized +xml.etree.ElementTree.C14NWriterTarget.comment +xml.etree.ElementTree.C14NWriterTarget.data +xml.etree.ElementTree.C14NWriterTarget.end +xml.etree.ElementTree.C14NWriterTarget.pi +xml.etree.ElementTree.C14NWriterTarget.start +xml.etree.ElementTree.C14NWriterTarget.start_ns +xml.etree.ElementTree.TreeBuilder.comment +xml.etree.ElementTree.TreeBuilder.pi +xml.etree.cElementTree.C14NWriterTarget.comment +xml.etree.cElementTree.C14NWriterTarget.data +xml.etree.cElementTree.C14NWriterTarget.end +xml.etree.cElementTree.C14NWriterTarget.pi +xml.etree.cElementTree.C14NWriterTarget.start +xml.etree.cElementTree.C14NWriterTarget.start_ns +xml.etree.cElementTree.TreeBuilder.comment +xml.etree.cElementTree.TreeBuilder.pi +xml.parsers.expat.XMLParserType.SkippedEntityHandler +xml.parsers.expat.XMLParserType.intern diff --git a/tests/stubtest_allowlists/py39.txt b/tests/stubtest_allowlists/py39.txt index 6702acad184a..bb7fe21397cc 100644 --- a/tests/stubtest_allowlists/py39.txt +++ b/tests/stubtest_allowlists/py39.txt @@ -57,6 +57,7 @@ platform.uname_result.__new__ platform.uname_result._fields platform.uname_result.processor queue.SimpleQueue.__init__ # Default C __init__ signature is wrong +re.Pattern.scanner # Undocumented and not useful. #6405 sched.Event.__doc__ # __slots__ is overridden ssl.PROTOCOL_SSLv3 # Depends on ssl compilation ssl.RAND_egd # Depends on openssl compilation @@ -65,6 +66,7 @@ sys.UnraisableHookArgs # Not exported from sys types.ClassMethodDescriptorType.__get__ types.CodeType.replace # stubtest thinks default values are None but None doesn't work at runtime types.GenericAlias.__getattr__ +types.GenericAlias.__call__ # Would be complicated to fix properly, Any could silence problems. #6392 types.MethodDescriptorType.__get__ types.WrapperDescriptorType.__get__ typing.ForwardRef._evaluate @@ -106,3 +108,81 @@ collections.Generator.gi_running collections.Generator.gi_yieldfrom collections.Mapping.get # Adding None to the Union messed up mypy collections.Sequence.index # Supporting None in end is not mandatory + +# Exists at runtime, but missing from stubs +_ast.Tuple.dims +_collections_abc.AsyncIterable.__class_getitem__ +_collections_abc.Awaitable.__class_getitem__ +_collections_abc.Container.__class_getitem__ +_collections_abc.Iterable.__class_getitem__ +_collections_abc.MappingView.__class_getitem__ +_imp.source_hash +_thread._ExceptHookArgs.n_fields +_thread._ExceptHookArgs.n_sequence_fields +_thread._ExceptHookArgs.n_unnamed_fields +ast.Tuple.dims +ast.main +asyncio.BufferedProtocol.eof_received +asyncio._enter_task +asyncio._leave_task +asyncio._register_task +asyncio._unregister_task +asyncio.protocols.BufferedProtocol.eof_received +collections.AsyncIterable.__class_getitem__ +collections.Awaitable.__class_getitem__ +collections.Container.__class_getitem__ +collections.Iterable.__class_getitem__ +collections.MappingView.__class_getitem__ +distutils.command.bdist_wininst +distutils.command.bdist_wininst.bdist_wininst +distutils.dist.DistributionMetadata.set_classifiers +distutils.dist.DistributionMetadata.set_keywords +distutils.dist.DistributionMetadata.set_platforms +distutils.sysconfig.expand_makefile_vars +distutils.sysconfig.get_python_version +distutils.util.get_host_platform +email.headerregistry.MessageIDHeader.max_count +ftplib.FTP.trust_server_pasv_ipv4_address +hmac.HMAC.digest_cons +hmac.HMAC.inner +hmac.HMAC.outer +importlib.abc.TraversableResources +importlib.machinery.PathFinder.find_distributions +importlib.metadata.EntryPoint.attr +importlib.metadata.EntryPoint.module +importlib.metadata.EntryPoint.pattern +importlib.util.source_hash +lib2to3.pgen2.tokenize.COLONEQUAL +multiprocessing.managers.SharedMemoryServer.create +multiprocessing.managers.SharedMemoryServer.list_segments +multiprocessing.managers.SharedMemoryServer.public +multiprocessing.managers.SharedMemoryServer.release_segment +multiprocessing.managers.SharedMemoryServer.shutdown +multiprocessing.managers.SharedMemoryServer.track_segment +pstats.FunctionProfile +pstats.Stats.get_stats_profile +pstats.StatsProfile +pyexpat.XMLParserType.SkippedEntityHandler +pyexpat.XMLParserType.intern +types.CoroutineType.cr_origin +typing._SpecialForm.__call__ +unicodedata.UCD.is_normalized +xml.etree.ElementInclude.LimitedRecursiveIncludeError +xml.etree.ElementTree.C14NWriterTarget.comment +xml.etree.ElementTree.C14NWriterTarget.data +xml.etree.ElementTree.C14NWriterTarget.end +xml.etree.ElementTree.C14NWriterTarget.pi +xml.etree.ElementTree.C14NWriterTarget.start +xml.etree.ElementTree.C14NWriterTarget.start_ns +xml.etree.ElementTree.TreeBuilder.comment +xml.etree.ElementTree.TreeBuilder.pi +xml.etree.cElementTree.C14NWriterTarget.comment +xml.etree.cElementTree.C14NWriterTarget.data +xml.etree.cElementTree.C14NWriterTarget.end +xml.etree.cElementTree.C14NWriterTarget.pi +xml.etree.cElementTree.C14NWriterTarget.start +xml.etree.cElementTree.C14NWriterTarget.start_ns +xml.etree.cElementTree.TreeBuilder.comment +xml.etree.cElementTree.TreeBuilder.pi +xml.parsers.expat.XMLParserType.SkippedEntityHandler +xml.parsers.expat.XMLParserType.intern diff --git a/tests/stubtest_allowlists/py3_common.txt b/tests/stubtest_allowlists/py3_common.txt index 63ca305a2d8f..237a5f3cd5d1 100644 --- a/tests/stubtest_allowlists/py3_common.txt +++ b/tests/stubtest_allowlists/py3_common.txt @@ -21,6 +21,11 @@ _weakref.CallableProxyType.__getattr__ # Should have all attributes of proxy _weakref.ProxyType.__getattr__ # Should have all attributes of proxy _weakref.ReferenceType.__call__ # C function default annotation is wrong argparse.Namespace.__getattr__ # The whole point of this class is its attributes are dynamic +asynchat.async_chat.encoding # Removed in 3.11, can add if someone needs this +asynchat.async_chat.use_encoding # Removed in 3.11, can add if someone needs this +asynchat.find_prefix_at_end # Removed in 3.11, can add if someone needs this +asyncore.dispatcher.addr # Removed in 3.11, can add if someone needs this +asyncore.dispatcher.handle_accepted # Removed in 3.11, can add if someone needs this asyncio.BaseEventLoop.subprocess_exec # BaseEventLoop adds several parameters and stubtest fails on the difference if we add them # Condition functions are exported in __init__ asyncio.Condition.acquire @@ -66,6 +71,7 @@ configparser.SectionProxy.getboolean configparser.SectionProxy.getfloat configparser.SectionProxy.getint copy.PyStringMap # defined only in Jython +csv.__version__ # Always "1.0". Using this is likely a bug. #6398 # The Dialect properties are initialized as None in Dialect but their values are enforced in _Dialect csv.Dialect.delimiter csv.Dialect.doublequote @@ -105,6 +111,8 @@ inspect.Parameter.POSITIONAL_OR_KEYWORD inspect.Parameter.VAR_KEYWORD inspect.Parameter.VAR_POSITIONAL inspect.Signature.empty # set as private marker _empty +inspect.Signature.from_builtin # Removed in 3.11, can add if someone needs this +inspect.Signature.from_function # Removed in 3.11, can add if someone needs this io.BufferedRandom.truncate io.BufferedReader.seek io.BufferedReader.truncate @@ -240,6 +248,9 @@ builtins.reveal_locals builtins.reveal_type collections.abc.* # Types are re-exported from _collections_abc, so errors should be fixed there distutils.command.check.SilentReporter # only defined if docutils in installed +pydoc.Helper.symbol # Loop variable in class https://github.com/python/typeshed/issues/6401#issuecomment-981178522 +pydoc.Helper.symbols_ # Loop variable in class https://github.com/python/typeshed/issues/6401#issuecomment-981178522 +pydoc.Helper.topic # Loop variable in class https://github.com/python/typeshed/issues/6401#issuecomment-981178522 # Dynamically specified by __getattr__, and thus don't exist on the class tempfile._TemporaryFileWrapper.[\w_]+ # Various classes in typing aren't types at runtime. In addition, mypy thinks some special forms are tautologically defined. @@ -272,3 +283,426 @@ os.O_[A-Z_]+ socket.AF_DECnet socket.[A-Z0-9_]+ (termios.[A-Z0-9_]+)? + +# Exists at runtime, but missing from stubs +__main__.\w+ +_json.encode_basestring +_markupbase.ParserBase.parse_comment +_markupbase.ParserBase.parse_declaration +_markupbase.ParserBase.parse_marked_section +_markupbase.ParserBase.updatepos +_thread.LockType.acquire_lock +_thread.LockType.locked_lock +_thread.LockType.release_lock +_thread.RLock +_thread.allocate +_thread.exit_thread +_thread.start_new +_threading_local._localimpl.localargs +_threading_local._localimpl.locallock +builtins.OSError.characters_written +builtins.SyntaxError.print_file_and_line +bz2.BZ2File.peek +cgi.FieldStorage.bufsize +cgi.FieldStorage.read_binary +cgi.FieldStorage.read_lines +cgi.FieldStorage.read_lines_to_eof +cgi.FieldStorage.read_lines_to_outerboundary +cgi.FieldStorage.read_multi +cgi.FieldStorage.read_single +cgi.FieldStorage.read_urlencoded +cgi.FieldStorage.skip_lines +cgi.print_arguments +cgi.print_exception +codecs.BOM32_BE +codecs.BOM32_LE +codecs.BOM64_BE +codecs.BOM64_LE +codecs.StreamReader.charbuffertype +codecs.StreamReader.seek +codecs.StreamWriter.seek +codecs.namereplace_errors +configparser.ParsingError.filename +configparser.RawConfigParser.converters +ctypes.ARRAY +ctypes.SetPointerType +ctypes.c_voidp +ctypes.util.test +distutils.archive_util.check_archive_formats +distutils.bcppcompiler.BCPPCompiler.compiler_type +distutils.bcppcompiler.BCPPCompiler.exe_extension +distutils.bcppcompiler.BCPPCompiler.executables +distutils.bcppcompiler.BCPPCompiler.obj_extension +distutils.bcppcompiler.BCPPCompiler.shared_lib_extension +distutils.bcppcompiler.BCPPCompiler.shared_lib_format +distutils.bcppcompiler.BCPPCompiler.src_extensions +distutils.bcppcompiler.BCPPCompiler.static_lib_extension +distutils.bcppcompiler.BCPPCompiler.static_lib_format +distutils.ccompiler.CCompiler.EXECUTABLE +distutils.ccompiler.CCompiler.SHARED_LIBRARY +distutils.ccompiler.CCompiler.SHARED_OBJECT +distutils.ccompiler.CCompiler.compiler_type +distutils.ccompiler.CCompiler.exe_extension +distutils.ccompiler.CCompiler.language_map +distutils.ccompiler.CCompiler.language_order +distutils.ccompiler.CCompiler.obj_extension +distutils.ccompiler.CCompiler.set_executable +distutils.ccompiler.CCompiler.shared_lib_extension +distutils.ccompiler.CCompiler.shared_lib_format +distutils.ccompiler.CCompiler.src_extensions +distutils.ccompiler.CCompiler.static_lib_extension +distutils.ccompiler.CCompiler.static_lib_format +distutils.cmd.Command.dump_options +distutils.cmd.Command.ensure_finalized +distutils.command.bdist +distutils.command.bdist_dumb +distutils.command.bdist_rpm +distutils.command.build +distutils.command.build_clib +distutils.command.build_ext +distutils.command.build_py +distutils.command.build_scripts +distutils.command.check +distutils.command.clean +distutils.command.install +distutils.command.install_data +distutils.command.install_headers +distutils.command.install_lib +distutils.command.install_scripts +distutils.command.register +distutils.command.sdist +distutils.command.upload +distutils.core.Command.dump_options +distutils.core.Command.ensure_finalized +distutils.core.Distribution.announce +distutils.core.Distribution.common_usage +distutils.core.Distribution.display_option_names +distutils.core.Distribution.display_options +distutils.core.Distribution.dump_option_dicts +distutils.core.Distribution.finalize_options +distutils.core.Distribution.find_config_files +distutils.core.Distribution.get_command_class +distutils.core.Distribution.get_command_list +distutils.core.Distribution.get_command_packages +distutils.core.Distribution.global_options +distutils.core.Distribution.handle_display_options +distutils.core.Distribution.has_c_libraries +distutils.core.Distribution.has_data_files +distutils.core.Distribution.has_ext_modules +distutils.core.Distribution.has_headers +distutils.core.Distribution.has_modules +distutils.core.Distribution.has_pure_modules +distutils.core.Distribution.has_scripts +distutils.core.Distribution.is_pure +distutils.core.Distribution.negative_opt +distutils.core.Distribution.parse_command_line +distutils.core.Distribution.print_command_list +distutils.core.Distribution.print_commands +distutils.core.Distribution.reinitialize_command +distutils.core.Distribution.run_command +distutils.core.Distribution.run_commands +distutils.core.gen_usage +distutils.cygwinccompiler.CygwinCCompiler.compiler_type +distutils.cygwinccompiler.CygwinCCompiler.exe_extension +distutils.cygwinccompiler.CygwinCCompiler.obj_extension +distutils.cygwinccompiler.CygwinCCompiler.shared_lib_extension +distutils.cygwinccompiler.CygwinCCompiler.shared_lib_format +distutils.cygwinccompiler.CygwinCCompiler.static_lib_extension +distutils.cygwinccompiler.CygwinCCompiler.static_lib_format +distutils.cygwinccompiler.Mingw32CCompiler.compiler_type +distutils.cygwinccompiler.check_config_h +distutils.cygwinccompiler.get_msvcr +distutils.cygwinccompiler.get_versions +distutils.cygwinccompiler.is_cygwingcc +distutils.dir_util.ensure_relative +distutils.dist.Distribution.announce +distutils.dist.Distribution.common_usage +distutils.dist.Distribution.display_option_names +distutils.dist.Distribution.display_options +distutils.dist.Distribution.dump_option_dicts +distutils.dist.Distribution.finalize_options +distutils.dist.Distribution.find_config_files +distutils.dist.Distribution.get_command_class +distutils.dist.Distribution.get_command_list +distutils.dist.Distribution.get_command_packages +distutils.dist.Distribution.global_options +distutils.dist.Distribution.handle_display_options +distutils.dist.Distribution.has_c_libraries +distutils.dist.Distribution.has_data_files +distutils.dist.Distribution.has_ext_modules +distutils.dist.Distribution.has_headers +distutils.dist.Distribution.has_modules +distutils.dist.Distribution.has_pure_modules +distutils.dist.Distribution.has_scripts +distutils.dist.Distribution.is_pure +distutils.dist.Distribution.negative_opt +distutils.dist.Distribution.parse_command_line +distutils.dist.Distribution.print_command_list +distutils.dist.Distribution.print_commands +distutils.dist.Distribution.reinitialize_command +distutils.dist.Distribution.run_command +distutils.dist.Distribution.run_commands +distutils.dist.fix_help_options +distutils.extension.read_setup_file +distutils.fancy_getopt.FancyGetopt.add_option +distutils.fancy_getopt.FancyGetopt.get_attr_name +distutils.fancy_getopt.FancyGetopt.has_option +distutils.fancy_getopt.FancyGetopt.print_help +distutils.fancy_getopt.FancyGetopt.set_aliases +distutils.fancy_getopt.FancyGetopt.set_negative_aliases +distutils.fancy_getopt.FancyGetopt.set_option_table +distutils.fancy_getopt.translate_longopt +distutils.msvccompiler.MSVCCompiler.compiler_type +distutils.msvccompiler.MSVCCompiler.exe_extension +distutils.msvccompiler.MSVCCompiler.executables +distutils.msvccompiler.MSVCCompiler.find_exe +distutils.msvccompiler.MSVCCompiler.initialize +distutils.msvccompiler.MSVCCompiler.obj_extension +distutils.msvccompiler.MSVCCompiler.res_extension +distutils.msvccompiler.MSVCCompiler.shared_lib_extension +distutils.msvccompiler.MSVCCompiler.shared_lib_format +distutils.msvccompiler.MSVCCompiler.src_extensions +distutils.msvccompiler.MSVCCompiler.static_lib_extension +distutils.msvccompiler.MSVCCompiler.static_lib_format +distutils.msvccompiler.convert_mbcs +distutils.msvccompiler.get_build_architecture +distutils.msvccompiler.get_build_version +distutils.msvccompiler.normalize_and_reduce_paths +distutils.msvccompiler.read_keys +distutils.msvccompiler.read_values +distutils.sysconfig.parse_config_h +distutils.sysconfig.parse_makefile +distutils.text_file.TextFile.default_options +distutils.text_file.TextFile.error +distutils.text_file.TextFile.gen_error +distutils.unixccompiler.UnixCCompiler.compiler_type +distutils.unixccompiler.UnixCCompiler.dylib_lib_extension +distutils.unixccompiler.UnixCCompiler.dylib_lib_format +distutils.unixccompiler.UnixCCompiler.executables +distutils.unixccompiler.UnixCCompiler.obj_extension +distutils.unixccompiler.UnixCCompiler.shared_lib_extension +distutils.unixccompiler.UnixCCompiler.shared_lib_format +distutils.unixccompiler.UnixCCompiler.src_extensions +distutils.unixccompiler.UnixCCompiler.static_lib_extension +distutils.unixccompiler.UnixCCompiler.static_lib_format +distutils.unixccompiler.UnixCCompiler.xcode_stub_lib_extension +distutils.unixccompiler.UnixCCompiler.xcode_stub_lib_format +distutils.util.grok_environment_error +email.base64mime +email.charset +email.contentmanager.get_and_fixup_unknown_message_content +email.contentmanager.get_message_content +email.contentmanager.get_non_text_content +email.contentmanager.get_text_content +email.contentmanager.set_bytes_content +email.contentmanager.set_message_content +email.contentmanager.set_text_content +email.encoders +email.errors +email.feedparser +email.generator +email.header +email.headerregistry.AddressHeader.init +email.headerregistry.AddressHeader.max_count +email.headerregistry.ContentDispositionHeader.init +email.headerregistry.ContentTransferEncodingHeader.init +email.headerregistry.ContentTransferEncodingHeader.max_count +email.headerregistry.ContentTypeHeader.init +email.headerregistry.DateHeader.init +email.headerregistry.DateHeader.max_count +email.headerregistry.MIMEVersionHeader.init +email.headerregistry.MIMEVersionHeader.max_count +email.headerregistry.ParameterizedMIMEHeader.init +email.headerregistry.ParameterizedMIMEHeader.max_count +email.headerregistry.UniqueAddressHeader.max_count +email.headerregistry.UniqueDateHeader.max_count +email.headerregistry.UniqueSingleAddressHeader.max_count +email.headerregistry.UniqueUnstructuredHeader.max_count +email.headerregistry.UnstructuredHeader.max_count +email.iterators +email.iterators.walk +email.message +email.message.Message.raw_items +email.message.Message.set_raw +email.mime +email.parser +email.policy.Compat32.mangle_from_ +email.policy.EmailPolicy.message_factory +email.policy.Policy.mangle_from_ +email.policy.Policy.message_factory +email.quoprimime +email.utils +hmac.HMAC.blocksize +importlib.abc.Finder.find_module +importlib.machinery.WindowsRegistryFinder.DEBUG_BUILD +importlib.machinery.WindowsRegistryFinder.REGISTRY_KEY +importlib.machinery.WindowsRegistryFinder.REGISTRY_KEY_DEBUG +lib2to3.pgen2.grammar.Grammar.loads +logging.config.BaseConfigurator +logging.config.ConvertingDict +logging.config.ConvertingList +logging.config.ConvertingMixin +logging.config.ConvertingTuple +logging.config.DictConfigurator +logging.config.dictConfigClass +mimetypes.MimeTypes.add_type +modulefinder.test +multiprocessing.dummy.Pipe +multiprocessing.managers.Server.accepter +multiprocessing.managers.Server.create +multiprocessing.managers.Server.debug_info +multiprocessing.managers.Server.decref +multiprocessing.managers.Server.dummy +multiprocessing.managers.Server.fallback_getvalue +multiprocessing.managers.Server.fallback_mapping +multiprocessing.managers.Server.fallback_repr +multiprocessing.managers.Server.fallback_str +multiprocessing.managers.Server.get_methods +multiprocessing.managers.Server.handle_request +multiprocessing.managers.Server.incref +multiprocessing.managers.Server.number_of_objects +multiprocessing.managers.Server.public +multiprocessing.managers.Server.serve_client +multiprocessing.managers.Server.shutdown +multiprocessing.managers.SyncManager.Barrier +multiprocessing.managers.SyncManager.JoinableQueue +multiprocessing.managers.SyncManager.Pool +multiprocessing.pool.Pool.Process +multiprocessing.pool.ThreadPool.Process +multiprocessing.reducer +multiprocessing.synchronize.Semaphore.get_value +os.stat_result.n_fields +os.stat_result.n_sequence_fields +os.stat_result.n_unnamed_fields +os.terminal_size.n_fields +os.terminal_size.n_sequence_fields +os.terminal_size.n_unnamed_fields +os.times_result.n_fields +os.times_result.n_sequence_fields +os.times_result.n_unnamed_fields +pickle.Pickler.memo +pickle.Unpickler.memo +pipes.Template.makepipeline +pipes.Template.open_r +pipes.Template.open_w +pkgutil.ImpImporter.find_module +pkgutil.ImpImporter.iter_modules +pkgutil.ImpLoader.code +pkgutil.ImpLoader.get_code +pkgutil.ImpLoader.get_data +pkgutil.ImpLoader.get_filename +pkgutil.ImpLoader.get_source +pkgutil.ImpLoader.is_package +pkgutil.ImpLoader.load_module +pkgutil.ImpLoader.source +profile.Profile.dispatch +profile.Profile.fake_code +profile.Profile.fake_frame +profile.Profile.trace_dispatch +profile.Profile.trace_dispatch_c_call +profile.Profile.trace_dispatch_call +profile.Profile.trace_dispatch_exception +profile.Profile.trace_dispatch_i +profile.Profile.trace_dispatch_l +profile.Profile.trace_dispatch_mac +profile.Profile.trace_dispatch_return +random.Random.VERSION +rlcompleter.Completer.attr_matches +rlcompleter.Completer.global_matches +sunau.Au_read.initfp +sunau.Au_write.initfp +threading.Event.isSet +tkinter.EventType.Button +tkinter.EventType.Key +tkinter.Grid.bbox +tkinter.Grid.columnconfigure +tkinter.Grid.config +tkinter.Grid.configure +tkinter.Grid.forget +tkinter.Grid.grid_bbox +tkinter.Grid.grid_columnconfigure +tkinter.Grid.grid_location +tkinter.Grid.grid_propagate +tkinter.Grid.grid_rowconfigure +tkinter.Grid.grid_size +tkinter.Grid.grid_slaves +tkinter.Grid.info +tkinter.Grid.propagate +tkinter.Grid.rowconfigure +tkinter.Grid.slaves +tkinter.Misc.config +tkinter.Pack.config +tkinter.Pack.configure +tkinter.Pack.info +tkinter.Pack.pack_propagate +tkinter.Pack.pack_slaves +tkinter.Pack.slaves +tkinter.Place.config +tkinter.Place.configure +tkinter.Place.forget +tkinter.Place.place_slaves +tkinter.Place.slaves +tkinter.font.Font.counter +tkinter.simpledialog.Dialog.apply +tkinter.simpledialog.Dialog.cancel +tkinter.simpledialog.Dialog.ok +tkinter.simpledialog.Dialog.validate +tkinter.tix.CObjView +tkinter.tix.DialogShell +tkinter.tix.ExFileSelectDialog +tkinter.tix.FileSelectDialog +tkinter.tix.FileTypeList +tkinter.tix.Grid +tkinter.tix.NoteBookFrame +tkinter.tix.OptionName +tkinter.tix.ResizeHandle +tkinter.tix.ScrolledGrid +tkinter.tix.ScrolledHList +tkinter.tix.ScrolledListBox +tkinter.tix.ScrolledTList +tkinter.tix.ScrolledText +tkinter.tix.ScrolledWindow +tkinter.tix.Shell +tracemalloc.BaseFilter +turtle.RawTurtle.screens +turtle.ScrolledCanvas +turtle.TNavigator.speed +wave.Wave_read.initfp +wave.Wave_write.initfp +wsgiref.handlers.BaseHandler.bytes_sent +wsgiref.handlers.BaseHandler.headers +wsgiref.handlers.BaseHandler.headers_sent +wsgiref.handlers.BaseHandler.result +wsgiref.handlers.BaseHandler.status +xml.dom +xml.dom.InvalidCharacterErr +xml.dom.expatbuilder.ElementInfo +xml.dom.expatbuilder.ExpatBuilder +xml.dom.expatbuilder.ExpatBuilderNS +xml.dom.expatbuilder.FilterCrutch +xml.dom.expatbuilder.FilterVisibilityController +xml.dom.expatbuilder.FragmentBuilder +xml.dom.expatbuilder.FragmentBuilderNS +xml.dom.expatbuilder.InternalSubsetExtractor +xml.dom.expatbuilder.Namespaces +xml.dom.expatbuilder.ParseEscape +xml.dom.expatbuilder.Rejecter +xml.dom.expatbuilder.Skipper +xml.dom.expatbuilder.makeBuilder +xml.dom.expatbuilder.parse +xml.dom.expatbuilder.parseFragment +xml.dom.expatbuilder.parseFragmentString +xml.dom.expatbuilder.parseString +xml.dom.minidom.Attr.isId +xml.dom.minidom.Attr.schemaType +xml.dom.minidom.CharacterData.length +xml.dom.minidom.Element.attributes +xml.dom.minidom.Element.nodeName +xml.dom.minidom.Identified.publicId +xml.dom.minidom.Identified.systemId +xml.dom.minidom.NamedNodeMap.length +xml.dom.minidom.ReadOnlySequentialNamedNodeMap.length +xml.dom.minidom.Text.isWhitespaceInElementContent +xml.dom.minidom.Text.wholeText +xml.etree +xml.sax diff --git a/tests/stubtest_allowlists/win32-py310.txt b/tests/stubtest_allowlists/win32-py310.txt index ea576148074c..392071a0bc17 100644 --- a/tests/stubtest_allowlists/win32-py310.txt +++ b/tests/stubtest_allowlists/win32-py310.txt @@ -5,3 +5,17 @@ sqlite3.Connection.enable_load_extension sqlite3.Connection.load_extension sqlite3.dbapi2.Connection.enable_load_extension sqlite3.dbapi2.Connection.load_extension + +# Exists at runtime, but missing from stubs +_winapi.CreateFileMapping +_winapi.MapViewOfFile +_winapi.OpenFileMapping +_winapi.VirtualQuerySize +asyncio.IocpProactor.recvfrom +asyncio.IocpProactor.sendto +asyncio.windows_events.IocpProactor.recvfrom +asyncio.windows_events.IocpProactor.sendto +msvcrt.GetErrorMode +os.unsetenv +socket.MsgFlag.MSG_ERRQUEUE +subprocess.STARTUPINFO.copy diff --git a/tests/stubtest_allowlists/win32-py36.txt b/tests/stubtest_allowlists/win32-py36.txt index 8d55cba6526c..d4d7869aa918 100644 --- a/tests/stubtest_allowlists/win32-py36.txt +++ b/tests/stubtest_allowlists/win32-py36.txt @@ -9,3 +9,7 @@ urllib.parse.parse_qsl hashlib.scrypt os.startfile + +# Exists at runtime, but missing from stubs +asyncio.windows_utils.socketpair +venv.EnvBuilder.include_binary diff --git a/tests/stubtest_allowlists/win32-py37.txt b/tests/stubtest_allowlists/win32-py37.txt index 855f4d4be2d1..1f14569408c2 100644 --- a/tests/stubtest_allowlists/win32-py37.txt +++ b/tests/stubtest_allowlists/win32-py37.txt @@ -9,3 +9,6 @@ urllib.parse.parse_qs urllib.parse.parse_qsl os.startfile + +# Exists at runtime, but missing from stubs +socket.MsgFlag.MSG_ERRQUEUE diff --git a/tests/stubtest_allowlists/win32-py38.txt b/tests/stubtest_allowlists/win32-py38.txt index e69de29bb2d1..b351653efc9c 100644 --- a/tests/stubtest_allowlists/win32-py38.txt +++ b/tests/stubtest_allowlists/win32-py38.txt @@ -0,0 +1,12 @@ + +# Exists at runtime, but missing from stubs +_winapi.CreateFileMapping +_winapi.MapViewOfFile +_winapi.OpenFileMapping +_winapi.VirtualQuerySize +asyncio.IocpProactor.recvfrom +asyncio.IocpProactor.sendto +asyncio.windows_events.IocpProactor.recvfrom +asyncio.windows_events.IocpProactor.sendto +socket.MsgFlag.MSG_ERRQUEUE +subprocess.STARTUPINFO.copy diff --git a/tests/stubtest_allowlists/win32-py39.txt b/tests/stubtest_allowlists/win32-py39.txt new file mode 100644 index 000000000000..65ee9f2752fd --- /dev/null +++ b/tests/stubtest_allowlists/win32-py39.txt @@ -0,0 +1,26 @@ + +# Missing from stubs, found by removing --ignore-missing-stub +_winapi.CreateFileMapping +_winapi.MapViewOfFile +_winapi.OpenFileMapping +_winapi.VirtualQuerySize +asyncio.IocpProactor.recvfrom +asyncio.IocpProactor.sendto +asyncio.windows_events.IocpProactor.recvfrom +asyncio.windows_events.IocpProactor.sendto +os.unsetenv +socket.MsgFlag.MSG_ERRQUEUE +subprocess.STARTUPINFO.copy + +# Exists at runtime, but missing from stubs +_winapi.CreateFileMapping +_winapi.MapViewOfFile +_winapi.OpenFileMapping +_winapi.VirtualQuerySize +asyncio.IocpProactor.recvfrom +asyncio.IocpProactor.sendto +asyncio.windows_events.IocpProactor.recvfrom +asyncio.windows_events.IocpProactor.sendto +os.unsetenv +socket.MsgFlag.MSG_ERRQUEUE +subprocess.STARTUPINFO.copy diff --git a/tests/stubtest_allowlists/win32.txt b/tests/stubtest_allowlists/win32.txt index a1f86930b205..962c05a2e151 100644 --- a/tests/stubtest_allowlists/win32.txt +++ b/tests/stubtest_allowlists/win32.txt @@ -38,3 +38,25 @@ curses.textpad # Modules that rely on termios pty tty + +# Exists at runtime, but missing from stubs +_msi.MSIError +asyncio.windows_utils.Popen +distutils.msvccompiler.MSVCCompiler.manifest_get_embed_info +distutils.msvccompiler.MSVCCompiler.manifest_setup_ldargs +distutils.msvccompiler.OldMSVCCompiler +msvcrt.SetErrorMode +os.ftruncate +os.get_handle_inheritable +os.isatty +os.set_handle_inheritable +os.statvfs_result +os.uname_result +signal.Signals.CTRL_BREAK_EVENT +signal.Signals.CTRL_C_EVENT +socket.MsgFlag.MSG_BCAST +socket.MsgFlag.MSG_MCAST +ssl.SSLSocket.recvmsg +ssl.SSLSocket.recvmsg_into +ssl.SSLSocket.sendmsg +winreg.HKEYType.handle diff --git a/tests/stubtest_stdlib.py b/tests/stubtest_stdlib.py index 8b3976a2b12e..385e0ef45d62 100755 --- a/tests/stubtest_stdlib.py +++ b/tests/stubtest_stdlib.py @@ -24,10 +24,6 @@ def run_stubtest(typeshed_dir: Path) -> int: sys.executable, "-m", "mypy.stubtest", - # Use --ignore-missing-stub, because if someone makes a correct addition, they'll need to - # also make a allowlist change and if someone makes an incorrect addition, they'll run into - # false negatives. - "--ignore-missing-stub", "--check-typeshed", "--custom-typeshed-dir", str(typeshed_dir),