Skip to content

Commit

Permalink
a few more allowlist entries moved to don't fix (#13236)
Browse files Browse the repository at this point in the history
  • Loading branch information
tungol authored Dec 13, 2024
1 parent 22e0699 commit 364fd7d
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 6 deletions.
13 changes: 7 additions & 6 deletions stdlib/@tests/stubtest_allowlists/common.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,11 @@ ctypes.CDLL._FuncPtr # None at class level but initialized in __init__ to this
ctypes.memmove # CFunctionType
ctypes.memset # CFunctionType
fractions.Fraction.__new__ # overload is too complicated for stubtest to resolve
functools.cached_property.__set__ # Stub is a white lie; see comments in the stub
hmac.new # Stub is a white lie; see comments in the stub
http.HTTPStatus.description # set in __new__
http.HTTPStatus.phrase # set in __new__
http.client.HTTPConnection.response_class # the actual type at runtime is abc.ABCMeta
importlib.abc.Loader.exec_module # See Lib/importlib/_abc.py. Might be defined for backwards compatibility
importlib.abc.MetaPathFinder.find_spec # Not defined on the actual class, but expected to exist.
importlib.abc.PathEntryFinder.find_spec # Not defined on the actual class, but expected to exist.
numbers.Number.__hash__ # typeshed marks this as abstract but code just sets this as None
optparse.Values.__getattr__ # Some attributes are set in __init__ using setattr
select.poll # Depends on configuration
selectors.DevpollSelector # Depends on configuration
shutil.rmtree # stubtest doesn't like that we have this as an instance of a callback protocol instead of a function
Expand All @@ -38,7 +33,6 @@ tarfile.TarFile.errors # errors is initialized for some reason as None even tho
tkinter.simpledialog.[A-Z_]+
tkinter.simpledialog.TclVersion
tkinter.simpledialog.TkVersion
tkinter.Misc.after # we intentionally don't allow everything that "works" at runtime
tkinter.Text.count # stubtest somehow thinks that index1 parameter has a default value, but it doesn't in any of the overloads
unittest.mock.patch # It's a complicated overload and I haven't been able to figure out why stubtest doesn't like it
weakref.WeakKeyDictionary.update
Expand Down Expand Up @@ -362,7 +356,11 @@ email.policy.EmailPolicy.message_factory # "type" at runtime, but protocol in s
enum.auto.__or__ # enum.auto is magic, see comments
enum.auto.__and__ # enum.auto is magic, see comments
enum.auto.__xor__ # enum.auto is magic, see comments
functools.cached_property.__set__ # doesn't exist, but cached_property is settable by another mechanism
_?hashlib.scrypt # Raises TypeError if salt, n, r or p are None
hmac.new # Raises TypeError if optional argument digestmod is not provided
http.HTTPStatus.description # set in __new__; work-around for enum wierdness
http.HTTPStatus.phrase # set in __new__; work-around for enum wierdness
imaplib.IMAP4_SSL.ssl # Depends on the existence and flags of SSL

# runtime is *args, **kwargs due to a wrapper; we have more accurate signatures in the stubs
Expand Down Expand Up @@ -438,6 +436,7 @@ multiprocessing.synchronize.Condition.release
multiprocessing.synchronize.SemLock.acquire
multiprocessing.synchronize.SemLock.release

optparse.Values.__getattr__ # Some attributes are set in __init__ using setattr
os._wrap_close.read # Methods that come from __getattr__() at runtime
os._wrap_close.readable # Methods that come from __getattr__() at runtime
os._wrap_close.readline # Methods that come from __getattr__() at runtime
Expand All @@ -459,6 +458,8 @@ threading.Condition.release # Condition functions are exported in __init__
# Marking it as a function will make it impossible for users to use the Lock type as an annotation.
threading.RLock

tkinter.Misc.after # we intentionally don't allow everything that "works" at runtime

# Methods that come from __getattr__() at runtime
tkinter.Tk.adderrorinfo
tkinter.Tk.call
Expand Down
2 changes: 2 additions & 0 deletions stdlib/optparse.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,8 @@ class Values:
def ensure_value(self, attr: str, value): ...
def read_file(self, filename: str, mode: str = "careful") -> None: ...
def read_module(self, modname: str, mode: str = "careful") -> None: ...
# __getattr__ doesn't exist, but anything passed as a default to __init__
# is set on the instance.
def __getattr__(self, name: str): ...
def __setattr__(self, name: str, value, /) -> None: ...
def __eq__(self, other: object) -> bool: ...
Expand Down

0 comments on commit 364fd7d

Please sign in to comment.