From 61eb99664b5eae9d67d8657ec9cb3831241a33f4 Mon Sep 17 00:00:00 2001 From: Ivan Levkivskyi Date: Fri, 7 Jun 2019 16:49:57 +0100 Subject: [PATCH] Add new semantic analyzer to mypy tests (#3037) This also removes two redundant definitions in curses/__init__.pyi star-imported from _curses. --- .travis.yml | 8 ++++++++ stdlib/2and3/curses/__init__.pyi | 5 +---- tests/mypy_test.py | 3 +++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 99a3c65d4..011b52121 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,8 +13,16 @@ matrix: env: - TEST_CMD="./tests/mypy_test.py" - INSTALL="mypy" + - name: "mypy new analyzer" + env: + - TEST_CMD="./tests/mypy_test.py -a" + - INSTALL="mypy" - name: "mypy self test" env: TEST_CMD="./tests/mypy_selftest.py" + - name: "mypy self test (new analyzer)" + env: + - NEWSEMANAL=1 + - TEST_CMD="./tests/mypy_selftest.py" - name: "check file consistency" env: TEST_CMD="./tests/check_consistent.py" - name: "flake8" diff --git a/stdlib/2and3/curses/__init__.pyi b/stdlib/2and3/curses/__init__.pyi index a8d6df47f..c327c7803 100644 --- a/stdlib/2and3/curses/__init__.pyi +++ b/stdlib/2and3/curses/__init__.pyi @@ -1,12 +1,9 @@ -import _curses from _curses import * # noqa: F403 -from typing import TypeVar, Callable, Any, Sequence, Mapping +from typing import TypeVar, Callable, Any _T = TypeVar('_T') LINES: int COLS: int -def initscr() -> _curses._CursesWindow: ... -def start_color() -> None: ... def wrapper(func: Callable[..., _T], *arg: Any, **kwds: Any) -> _T: ... diff --git a/tests/mypy_test.py b/tests/mypy_test.py index d4ffca111..7ac6f077b 100755 --- a/tests/mypy_test.py +++ b/tests/mypy_test.py @@ -21,6 +21,7 @@ parser = argparse.ArgumentParser(description="Test runner for typeshed. " "Patterns are unanchored regexps on the full path.") parser.add_argument('-v', '--verbose', action='count', default=0, help="More output") parser.add_argument('-n', '--dry-run', action='store_true', help="Don't actually run mypy") +parser.add_argument('-a', '--new-analyzer', action='store_true', help="Use new mypy semantic analyzer") parser.add_argument('-x', '--exclude', type=str, nargs='*', help="Exclude pattern") parser.add_argument('-p', '--python-version', type=str, nargs='*', help="These versions only (major[.minor])") @@ -132,6 +133,8 @@ def main(): flags.append('--no-site-packages') flags.append('--show-traceback') flags.append('--no-implicit-optional') + if args.new_analyzer: + flags.append('--new-semantic-analyzer') if args.warn_unused_ignores: flags.append('--warn-unused-ignores') sys.argv = ['mypy'] + flags + files