From c2fb0fb8145022efe3183ba43619f1e7c19590ff Mon Sep 17 00:00:00 2001 From: Shantanu <12621235+hauntsaninja@users.noreply.github.com> Date: Mon, 21 Feb 2022 17:05:46 -0800 Subject: [PATCH] Downgrade stubtest a little (#7346) Fixes #7344 for now. As discussed in that issue, I think it might make sense to revert the change to check positional-only arguments on dunders for now, since it seems to be mostly busywork and has very little benefit for end users. However, that'll happen on stubtest master, which typeshed isn't yet ready for. Co-authored-by: hauntsaninja <> --- .github/workflows/stubtest.yml | 2 +- .github/workflows/tests.yml | 2 +- tests/stubtest_allowlists/darwin-py36.txt | 13 +--- tests/stubtest_allowlists/linux-py36.txt | 12 ---- tests/stubtest_allowlists/py36.txt | 87 ----------------------- tests/stubtest_allowlists/py37.txt | 2 - tests/stubtest_allowlists/win32-py36.txt | 8 --- tests/stubtest_third_party.py | 2 +- 8 files changed, 4 insertions(+), 124 deletions(-) diff --git a/.github/workflows/stubtest.yml b/.github/workflows/stubtest.yml index 6a82c3bac..708692c62 100644 --- a/.github/workflows/stubtest.yml +++ b/.github/workflows/stubtest.yml @@ -39,7 +39,7 @@ jobs: # - get_mypy_req in tests/stubtest_third_party.py # - stubtest-stdlib in .github/workflows/stubtest.yml # - stubtest-stdlib in .github/workflows/tests.yml - run: pip install $(grep tomli== requirements-tests.txt) git+git://github.com/python/mypy@85fc99c99e7e2afc5896de1842d52e6e6cd55197 + run: pip install $(grep tomli== requirements-tests.txt) git+git://github.com/python/mypy@080bb0e04e9d5c4d2513621d1fb62f1d61a573e9 - name: Run stubtest run: python tests/stubtest_stdlib.py diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 802ea19c9..a6c72dc9f 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -114,7 +114,7 @@ jobs: # - get_mypy_req in tests/stubtest_third_party.py # - stubtest-stdlib in .github/workflows/stubtest.yml # - stubtest-stdlib in .github/workflows/tests.yml - run: pip install $(grep tomli== requirements-tests.txt) git+git://github.com/python/mypy@85fc99c99e7e2afc5896de1842d52e6e6cd55197 + run: pip install $(grep tomli== requirements-tests.txt) git+git://github.com/python/mypy@080bb0e04e9d5c4d2513621d1fb62f1d61a573e9 - name: Run stubtest run: python tests/stubtest_stdlib.py diff --git a/tests/stubtest_allowlists/darwin-py36.txt b/tests/stubtest_allowlists/darwin-py36.txt index e88ecb824..2d6707abf 100644 --- a/tests/stubtest_allowlists/darwin-py36.txt +++ b/tests/stubtest_allowlists/darwin-py36.txt @@ -9,16 +9,5 @@ ntpath.splitunc posix.stat_float_times ssl.OP_ENABLE_MIDDLEBOX_COMPAT ssl.Options.OP_ENABLE_MIDDLEBOX_COMPAT -uuid.lib -# Not "async defs" at runtime -asyncio.SelectorEventLoop.create_unix_connection -asyncio.SelectorEventLoop.create_unix_server -asyncio.open_unix_connection -asyncio.start_unix_server -asyncio.streams.open_unix_connection -asyncio.streams.start_unix_server -asyncio.unix_events.SelectorEventLoop.create_unix_connection -asyncio.unix_events.SelectorEventLoop.create_unix_server -asyncio.unix_events._UnixSelectorEventLoop.create_unix_connection -asyncio.unix_events._UnixSelectorEventLoop.create_unix_server +uuid.lib diff --git a/tests/stubtest_allowlists/linux-py36.txt b/tests/stubtest_allowlists/linux-py36.txt index e88ecb824..a2ca6ef26 100644 --- a/tests/stubtest_allowlists/linux-py36.txt +++ b/tests/stubtest_allowlists/linux-py36.txt @@ -10,15 +10,3 @@ posix.stat_float_times ssl.OP_ENABLE_MIDDLEBOX_COMPAT ssl.Options.OP_ENABLE_MIDDLEBOX_COMPAT uuid.lib - -# Not "async defs" at runtime -asyncio.SelectorEventLoop.create_unix_connection -asyncio.SelectorEventLoop.create_unix_server -asyncio.open_unix_connection -asyncio.start_unix_server -asyncio.streams.open_unix_connection -asyncio.streams.start_unix_server -asyncio.unix_events.SelectorEventLoop.create_unix_connection -asyncio.unix_events.SelectorEventLoop.create_unix_server -asyncio.unix_events._UnixSelectorEventLoop.create_unix_connection -asyncio.unix_events._UnixSelectorEventLoop.create_unix_server diff --git a/tests/stubtest_allowlists/py36.txt b/tests/stubtest_allowlists/py36.txt index e55a3e243..2b3413ea7 100644 --- a/tests/stubtest_allowlists/py36.txt +++ b/tests/stubtest_allowlists/py36.txt @@ -103,93 +103,6 @@ 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 -# Not "async def"s at runtime -asyncio.AbstractEventLoop.connect_read_pipe -asyncio.AbstractEventLoop.connect_write_pipe -asyncio.AbstractEventLoop.create_datagram_endpoint -asyncio.AbstractEventLoop.create_unix_connection -asyncio.AbstractEventLoop.create_unix_server -asyncio.AbstractEventLoop.getaddrinfo -asyncio.AbstractEventLoop.getnameinfo -asyncio.AbstractEventLoop.shutdown_asyncgens -asyncio.AbstractEventLoop.subprocess_exec -asyncio.AbstractEventLoop.subprocess_shell -asyncio.AbstractServer.wait_closed -asyncio.BaseEventLoop.connect_accepted_socket -asyncio.BaseEventLoop.connect_read_pipe -asyncio.BaseEventLoop.connect_write_pipe -asyncio.BaseEventLoop.create_datagram_endpoint -asyncio.BaseEventLoop.getaddrinfo -asyncio.BaseEventLoop.getnameinfo -asyncio.BaseEventLoop.shutdown_asyncgens -asyncio.BaseEventLoop.subprocess_shell -asyncio.Condition.wait -asyncio.Condition.wait_for -asyncio.Event.wait -asyncio.Lock.acquire -asyncio.Queue.get -asyncio.Queue.join -asyncio.Queue.put -asyncio.Semaphore.acquire -asyncio.StreamReader.__anext__ -asyncio.StreamReader.read -asyncio.StreamReader.readexactly -asyncio.StreamReader.readline -asyncio.StreamReader.readuntil -asyncio.StreamWriter.drain -asyncio.create_subprocess_exec -asyncio.create_subprocess_shell -asyncio.open_connection -asyncio.sleep -asyncio.start_server -asyncio.wait_for -asyncio.base_events.BaseEventLoop.connect_accepted_socket -asyncio.base_events.BaseEventLoop.connect_read_pipe -asyncio.base_events.BaseEventLoop.connect_write_pipe -asyncio.base_events.BaseEventLoop.create_datagram_endpoint -asyncio.base_events.BaseEventLoop.getaddrinfo -asyncio.base_events.BaseEventLoop.getnameinfo -asyncio.base_events.BaseEventLoop.shutdown_asyncgens -asyncio.base_events.BaseEventLoop.subprocess_shell -asyncio.base_events.Server.wait_closed -asyncio.base_subprocess.BaseSubprocessTransport._connect_pipes -asyncio.base_subprocess.BaseSubprocessTransport._wait -asyncio.events.AbstractEventLoop.connect_read_pipe -asyncio.events.AbstractEventLoop.connect_write_pipe -asyncio.events.AbstractEventLoop.create_datagram_endpoint -asyncio.events.AbstractEventLoop.create_unix_connection -asyncio.events.AbstractEventLoop.create_unix_server -asyncio.events.AbstractEventLoop.getaddrinfo -asyncio.events.AbstractEventLoop.getnameinfo -asyncio.events.AbstractEventLoop.shutdown_asyncgens -asyncio.events.AbstractEventLoop.subprocess_exec -asyncio.events.AbstractEventLoop.subprocess_shell -asyncio.events.AbstractServer.wait_closed -asyncio.locks.Condition.wait -asyncio.locks.Condition.wait_for -asyncio.locks.Event.wait -asyncio.locks.Lock.acquire -asyncio.locks.Semaphore.acquire -asyncio.locks._ContextManagerMixin.__aenter__ -asyncio.locks._ContextManagerMixin.__aexit__ -asyncio.queues.Queue.get -asyncio.queues.Queue.join -asyncio.queues.Queue.put -asyncio.streams.StreamReader.__anext__ -asyncio.streams.StreamReader.read -asyncio.streams.StreamReader.readexactly -asyncio.streams.StreamReader.readline -asyncio.streams.StreamReader.readuntil -asyncio.streams.StreamWriter.drain -asyncio.streams.open_connection -asyncio.streams.start_server -asyncio.subprocess.Process.communicate -asyncio.subprocess.Process.wait -asyncio.subprocess.create_subprocess_exec -asyncio.subprocess.create_subprocess_shell -asyncio.tasks.sleep -asyncio.tasks.wait_for - # Exists at runtime, but missing from stubs _bisect.bisect _bisect.insort diff --git a/tests/stubtest_allowlists/py37.txt b/tests/stubtest_allowlists/py37.txt index e6293ab5d..ca4f7a31a 100644 --- a/tests/stubtest_allowlists/py37.txt +++ b/tests/stubtest_allowlists/py37.txt @@ -3,8 +3,6 @@ _collections_abc.AsyncGenerator.ag_code _collections_abc.AsyncGenerator.ag_frame _collections_abc.AsyncGenerator.ag_running _dummy_threading -asyncio.AbstractEventLoop.run_in_executor # allowed to return a Future, changed in 3.8 -asyncio.events.AbstractEventLoop.run_in_executor asyncio.Future.__init__ # Usually initialized from c object asyncio.Future._callbacks # Usually initialized from c object asyncio.futures.Future.__init__ # Usually initialized from c object diff --git a/tests/stubtest_allowlists/win32-py36.txt b/tests/stubtest_allowlists/win32-py36.txt index b55b11ef3..768616bdb 100644 --- a/tests/stubtest_allowlists/win32-py36.txt +++ b/tests/stubtest_allowlists/win32-py36.txt @@ -18,11 +18,3 @@ os.startfile # Exists at runtime, but missing from stubs asyncio.windows_utils.socketpair venv.EnvBuilder.include_binary - -# Not "async defs" at runtime -asyncio.IocpProactor.connect_pipe -asyncio.ProactorEventLoop.create_pipe_connection -asyncio.ProactorEventLoop.start_serving_pipe -asyncio.windows_events.IocpProactor.connect_pipe -asyncio.windows_events.ProactorEventLoop.create_pipe_connection -asyncio.windows_events.ProactorEventLoop.start_serving_pipe diff --git a/tests/stubtest_third_party.py b/tests/stubtest_third_party.py index 77acdab83..017558e44 100755 --- a/tests/stubtest_third_party.py +++ b/tests/stubtest_third_party.py @@ -22,7 +22,7 @@ def get_mypy_req(): # - get_mypy_req in tests/stubtest_third_party.py # - stubtest-stdlib in .github/workflows/stubtest.yml # - stubtest-stdlib in .github/workflows/tests.yml - return "git+git://github.com/python/mypy@85fc99c99e7e2afc5896de1842d52e6e6cd55197" + return "git+git://github.com/python/mypy@080bb0e04e9d5c4d2513621d1fb62f1d61a573e9" with open("requirements-tests.txt") as f: return next(line.strip() for line in f if "mypy" in line)