diff --git a/stdlib/fcntl.pyi b/stdlib/fcntl.pyi index 47766357c83f..69863bf580fa 100644 --- a/stdlib/fcntl.pyi +++ b/stdlib/fcntl.pyi @@ -6,80 +6,100 @@ from typing_extensions import Literal if sys.platform != "win32": FASYNC: int FD_CLOEXEC: int - DN_ACCESS: int - DN_ATTRIB: int - DN_CREATE: int - DN_DELETE: int - DN_MODIFY: int - DN_MULTISHOT: int - DN_RENAME: int F_DUPFD: int F_DUPFD_CLOEXEC: int - F_FULLFSYNC: int - F_EXLCK: int F_GETFD: int F_GETFL: int - F_GETLEASE: int F_GETLK: int - F_GETLK64: int F_GETOWN: int - F_NOCACHE: int - F_GETSIG: int - F_NOTIFY: int F_RDLCK: int F_SETFD: int F_SETFL: int - F_SETLEASE: int F_SETLK: int - F_SETLK64: int F_SETLKW: int - F_SETLKW64: int - if sys.version_info >= (3, 9) and sys.platform == "linux": - F_OFD_GETLK: int - F_OFD_SETLK: int - F_OFD_SETLKW: int F_SETOWN: int - F_SETSIG: int - F_SHLCK: int F_UNLCK: int F_WRLCK: int - I_ATMARK: int - I_CANPUT: int - I_CKBAND: int - I_FDINSERT: int - I_FIND: int - I_FLUSH: int - I_FLUSHBAND: int - I_GETBAND: int - I_GETCLTIME: int - I_GETSIG: int - I_GRDOPT: int - I_GWROPT: int - I_LINK: int - I_LIST: int - I_LOOK: int - I_NREAD: int - I_PEEK: int - I_PLINK: int - I_POP: int - I_PUNLINK: int - I_PUSH: int - I_RECVFD: int - I_SENDFD: int - I_SETCLTIME: int - I_SETSIG: int - I_SRDOPT: int - I_STR: int - I_SWROPT: int - I_UNLINK: int + if sys.platform == "darwin": + F_FULLFSYNC: int + F_NOCACHE: int + if sys.version_info >= (3, 9): + F_GETPATH: int + if sys.platform == "linux": + F_SETLKW64: int + F_SETSIG: int + F_SHLCK: int + F_SETLK64: int + F_SETLEASE: int + F_GETSIG: int + F_NOTIFY: int + F_EXLCK: int + F_GETLEASE: int + F_GETLK64: int + if sys.version_info >= (3, 8): + F_ADD_SEALS: int + F_GET_SEALS: int + F_SEAL_GROW: int + F_SEAL_SEAL: int + F_SEAL_SHRINK: int + F_SEAL_WRITE: int + if sys.version_info >= (3, 9): + F_OFD_GETLK: int + F_OFD_SETLK: int + F_OFD_SETLKW: int + if sys.version_info >= (3, 10): + F_GETPIPE_SZ: int + F_SETPIPE_SZ: int + + DN_ACCESS: int + DN_ATTRIB: int + DN_CREATE: int + DN_DELETE: int + DN_MODIFY: int + DN_MULTISHOT: int + DN_RENAME: int + LOCK_EX: int - LOCK_MAND: int LOCK_NB: int - LOCK_READ: int - LOCK_RW: int LOCK_SH: int LOCK_UN: int - LOCK_WRITE: int + if sys.platform == "linux": + LOCK_MAND: int + LOCK_READ: int + LOCK_RW: int + LOCK_WRITE: int + + # These are highly problematic, they might be present or not, depends on the specific OS. + if sys.platform == "linux": + I_ATMARK: int + I_CANPUT: int + I_CKBAND: int + I_FDINSERT: int + I_FIND: int + I_FLUSH: int + I_FLUSHBAND: int + I_GETBAND: int + I_GETCLTIME: int + I_GETSIG: int + I_GRDOPT: int + I_GWROPT: int + I_LINK: int + I_LIST: int + I_LOOK: int + I_NREAD: int + I_PEEK: int + I_PLINK: int + I_POP: int + I_PUNLINK: int + I_PUSH: int + I_RECVFD: int + I_SENDFD: int + I_SETCLTIME: int + I_SETSIG: int + I_SRDOPT: int + I_STR: int + I_SWROPT: int + I_UNLINK: int @overload def fcntl(__fd: FileDescriptorLike, __cmd: int, __arg: int = ...) -> int: ... @overload diff --git a/tests/stubtest_allowlists/darwin.txt b/tests/stubtest_allowlists/darwin.txt index aa8a3342d1f7..f6d21d2854c2 100644 --- a/tests/stubtest_allowlists/darwin.txt +++ b/tests/stubtest_allowlists/darwin.txt @@ -33,7 +33,6 @@ ossaudiodev spwd # Platform differences that cannot be captured by the type system -fcntl.[A-Z0-9_]+ os.SCHED_[A-Z_]+ posix.SCHED_[A-Z_]+ diff --git a/tests/stubtest_allowlists/linux.txt b/tests/stubtest_allowlists/linux.txt index 1052a594f061..429cd4387570 100644 --- a/tests/stubtest_allowlists/linux.txt +++ b/tests/stubtest_allowlists/linux.txt @@ -36,7 +36,7 @@ posix.error.characters_written resource.error.characters_written # Platform differences that cannot be captured by the type system -fcntl.[A-Z0-9_]+ +fcntl.I_[A-Z0-9_]+ os.SCHED_[A-Z_]+ posix.SCHED_[A-Z_]+