Commit Graph

722 Commits

Author SHA1 Message Date
Alex Waygood
3f316b0ffb Correct signal.CTRL_C_EVENT and signal.CTRL_BREAK_EVENT (#6503) 2021-12-06 00:01:09 +02:00
Akuli
a4118b1a09 trust_server_pasv_ipv4_address: move comments to allowlists (#6496)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2021-12-05 23:59:47 +02:00
Alex Waygood
415d387009 Make various os functions available on Windows (#6500) 2021-12-05 22:06:22 +02:00
Alex Waygood
28803c4c4a Mark OSError.characters_written as "wontfix" (#6499) 2021-12-05 20:29:10 +02:00
Akuli
7225dfafcf add several re-exports to posix (#6495) 2021-12-05 08:45:24 -08:00
Shantanu
2a1ef3735d random: add VERSION, SystemRandom.getrandbits is not pos only (#6419)
Co-authored-by: Akuli <akuviljanen17@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-05 16:52:34 +02:00
Alex Waygood
bb7a06c60b Add missing asyncio functions, part II (#6493) 2021-12-05 12:29:25 +02:00
Akuli
24afb531ff stubtest_stdlib: get rid of --ignore-missing-stub (#6491)
* get rid of --ignore-missing-stub

* update allowlists based on github actions logs, with script

import re

platforms = ["linux", "win32", "darwin"]
versions = ["py36", "py37", "py38", "py39", "py310"]

entries_by_pv = {}
for p in platforms:
    for v in versions:
        p_name = {"linux": "ubuntu", "darwin": "macos", "win32": "windows"}[p]
        v_name = "3." + v.replace("py3", "")
        if v_name == "3.9":
            v_name = "3.9.7"

        entries = set()
        with open(f"la/Check stdlib with stubtest ({p_name}-latest, {v_name})/6_Run stubtest.txt") as file:
            for line in file:
                m = re.search(r"error: (.*) is not present in stub$", line.strip())
                if m:
                    entries.add(m.group(1))
        entries_by_pv[p, v] = entries

def remove_intersection(sets):
    sets = list(sets)
    result = set(sets[0])
    for s in sets[1:]:
        result &= s
    for s in sets:
        for r in result:
            s.remove(r)
    return result

common_to_all = remove_intersection(entries_by_pv.values())

common_to_version = {}
for v in versions:
    common_to_version[v] = remove_intersection([
        entries
        for (p, v2), entries in entries_by_pv.items()
        if v == v2
    ])

common_to_platform = {}
for p in platforms:
    common_to_platform[p] = remove_intersection([
        entries
        for (p2, v), entries in entries_by_pv.items()
        if p == p2
    ])

def write(fname, entries):
    with open(f"tests/stubtest_allowlists/{fname}.txt", "a") as file:
        file.write("\n# Exists at runtime, but missing from stubs\n")
        for i in sorted(entries):
            file.write(i + "\n")

write("py3_common", common_to_all)
for v, entries in common_to_version.items():
    write(v, entries)
for p, entries in common_to_platform.items():
    write(p, entries)
for (p, v), entries in entries_by_pv.items():
    write(p + "-" + v, entries)

* Manually combine __main__ attributes into a single entry

* move and comment entries manually
2021-12-04 16:58:44 -08:00
Alex Waygood
1fa1270e00 Bump pyright version to 1.1.192 (#6478) 2021-12-03 09:08:35 +01:00
Akuli
3f281881c2 get rid of remaining references to pallets stubs (#6474) 2021-12-02 21:41:40 +02:00
Alex Waygood
a2e4a62fac Annotate UserList.sort() .index() arguments (#6472) 2021-12-02 17:44:21 +01:00
Akuli
ea3f962860 Move all definitions except environ from posix to os (#6442) 2021-12-01 17:07:33 +01:00
Akuli
bdf906e2bc stubtest_stdlib: fail if there are unused allowlist entries (#6424)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-01 12:10:27 +02:00
Akuli
b3e8073bac Create unittest._log stub and improve _AssertLogsContext (#6428)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2021-11-30 21:39:14 -08:00
Rebecca Chen
3b6a52b858 Remove braintree stubs from pytype_exclude_list (#6450)
ba348e819d
fixed the issue that caused pytype to choke on these stubs.
2021-11-29 18:36:58 -08:00
Akuli
c8c5519fa6 sqlite3: stubtest fixes (#6441) 2021-11-29 11:07:20 -08:00
Akuli
f29f0a5394 importlib: stubtest fixes for py310 (#6443) 2021-11-29 11:05:54 -08:00
Akuli
52559e83cf add comment about CodeType.replace to stubtest allowlists (#6447) 2021-11-29 09:01:00 -08:00
Alex Waygood
d5f9c95c26 Improve stub file for xml/dom/xmlbuilder.py (#6171)
Co-authored-by: Akuli <akuviljanen17@gmail.com>
2021-11-29 15:46:09 +02:00
Shantanu
287a9a427e Fix allowlists (#6440)
Broken by https://github.com/python/typeshed/pull/6439

Co-authored-by: hauntsaninja <>
2021-11-28 20:18:49 -08:00
github-actions[bot]
e05a7423c4 Remove unused stubtest allowlist entries (#6439)
Co-authored-by: hauntsaninja <hauntsaninja@users.noreply.github.com>
2021-11-28 20:05:20 -08:00
Nikita Sobolev
d0ce310f55 Make ctypes.Array abstract (#6361)
Co-authored-by: Akuli <akuviljanen17@gmail.com>
2021-11-28 22:42:23 +02:00
Akuli
2b702233c6 tests/check_new_syntax.py: check order of if statements (#6423) 2021-11-28 08:04:46 -08:00
Shantanu
eb16dcc2c1 builtins: change aiter argument name (#6412) 2021-11-28 11:41:49 +02:00
Shantanu
c47ed98b3e dummy_thread/ing: remove in 3.9 (#6408)
https://bugs.python.org/issue37312
2021-11-27 20:50:14 -08:00
Akuli
6130c2459e Delete duplicate comment (#6391) 2021-11-26 12:56:27 -08:00
Alex Waygood
2dade8105a Add missing methods to collections classes (#6388)
Co-authored-by: Akuli <akuviljanen17@gmail.com>
2021-11-26 21:53:16 +02:00
Alex Waygood
83e865b155 check_new_syntax.py: check for any import of deprecated contextlib aliases (#6371) 2021-11-26 10:23:13 +02:00
Akuli
32a38e787f Fix prints in stubtest_third_party (#6380) 2021-11-25 13:09:14 -08:00
Alex Waygood
a0f4740d54 Check for deprecated contextlib aliases in check_new_syntax.py (#6366) 2021-11-23 22:48:39 +02:00
Alex Waygood
a5f212ec00 Check for deprecated typing.Set in check_new_syntax.py (#6365) 2021-11-23 17:32:19 +02:00
Alex Waygood
2445eddb4b Check for typing.Deque, typing.FrozenSet and typing.DefaultDict in check_new_syntax.py (#6362) 2021-11-23 12:35:23 +02:00
Jelle Zijlstra
1f1bc6f27c add pre-commit config (#6341)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Akuli <akuviljanen17@gmail.com>
2021-11-19 16:46:51 +02:00
Jelle Zijlstra
0d7064c357 Make Mapping/MutableMapping params positional-only (#5772)
These are positional-only on dict, so it makes sense to mark them as positional-only in these base classes too.

Fixes #5771
2021-11-18 07:54:58 +01:00
Sebastian Rittau
77810277d5 Recommend to use mypy error codes if applicable (#6305) 2021-11-17 21:58:05 -08:00
Sebastian Rittau
bcc743dd2b mypy_test: Skip files starting with '.' (#6306) 2021-11-16 17:00:39 +02:00
Sebastian Rittau
edf82e8094 Clean up mypy flags (#6308)
* Remove --strict-optional: This has been the default since mypy 0.600.
* Remove --disallow-subclassing-any: When we subclass Any in typeshed,
  we do so deliberately. This just causes us to add unncessary ignores.
2021-11-16 12:58:53 +00:00
Alex Waygood
aa7e277adb Harmonise return type of builtins.__import__ and importlib.import_module (#6302)
builtins.__import__ now returns ModuleType instead of Any. In addition, add __getattr__() to ModuleType to ease using imported modules.
2021-11-15 16:21:46 +01:00
Jelle Zijlstra
9eabedca5f Make NoReturn a SpecialForm (#6290)
This is consistent with the runtime definition: https://github.com/python/cpython/blob/main/Lib/typing.py#L434.

The previous definition was wrong; NoReturn is not and should not be equivalent to None. This fixes an issue in pyanalyze where it was interpreting NoReturn as equivalent to None.
2021-11-12 17:34:44 -08:00
Sebastian Rittau
5bd747570d Update Python version for pytype (#6288) 2021-11-12 22:26:22 +01:00
Alex Waygood
4b3a8a8790 Improve support for running tests on Windows (#6284) 2021-11-12 17:09:20 +01:00
Shantanu
bf92378722 Bump typed-ast version, recommend Python 3.8 for tests (#6278) 2021-11-12 02:53:42 -08:00
Sebastian Rittau
e22b63d9cc Reduce mypy_test output (#6268)
Only print the mypy command twice per version: Once for the stdlib and
once for the stubs. Use a dummy /tmp path. Add a header for each tested
Python version and remove the Python version from the individual stubs.
2021-11-09 18:03:29 +01:00
luzpaz
b95b729b9e Fix typos (#6263)
Found via `codespell -q 3 -L alo,asend,ba,nams,spawnve`
2021-11-08 18:23:15 -08:00
Sebastian Rittau
3876587a65 Remove support for mypy_exclude_list (#6230) 2021-11-08 10:45:46 +02:00
Sebastian Rittau
50c1f2ab7c Test third-party stubs in isolation (#6229) 2021-11-07 15:05:49 -08:00
Alex Waygood
d5d0ba158e Make `__round__ positional-only for float, int, Decimal and SupportsRound` (#6242) 2021-11-07 15:05:18 -08:00
Sebastian Rittau
0958692028 Suppress unnecessary traceback (#6253) 2021-11-07 07:35:31 -08:00
github-actions[bot]
59dfea08c3 Remove unused stubtest allowlist entries (#6227) 2021-11-02 21:17:15 -07:00
Sebastian Rittau
ce94db762c Update pytype and pyright (#6222)
* Upgrade pytype

* Update pyright
2021-11-02 09:19:07 -07:00