Skip to content

Commit

Permalink
Add basic mypy linting
Browse files Browse the repository at this point in the history
Based on pytest setup, though more lax. Currently only the tests are
annotated so only helpful for them.

Fix pytest-dev#721.
  • Loading branch information
bluetech committed Oct 30, 2021
1 parent 545df8e commit 37d2198
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 6 deletions.
9 changes: 9 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,12 @@ repos:
files: ^(CHANGELOG.rst|HOWTORELEASE.rst|README.rst|changelog/.*)$
language: python
additional_dependencies: [pygments, restructuredtext_lint]
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v0.910-1
hooks:
- id: mypy
files: ^(src/|testing/)
args: []
additional_dependencies:
- pytest>=6.2.0
- py>=1.10.0
1 change: 1 addition & 0 deletions changelog/721.trivial.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Started using type annotations and mypy checking internally. The types are incomplete and not published.
14 changes: 14 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,17 @@ setproctitle = setproctitle

[flake8]
max-line-length = 100

[mypy]
mypy_path = src
# check_untyped_defs = True
disallow_any_generics = True
ignore_missing_imports = True
no_implicit_optional = True
show_error_codes = True
strict_equality = True
warn_redundant_casts = True
warn_return_any = True
warn_unreachable = True
warn_unused_configs = True
# no_implicit_reexport = True
2 changes: 1 addition & 1 deletion src/xdist/plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@ def is_xdist_controller(request_or_session) -> bool:
is_xdist_master = is_xdist_controller


def get_xdist_worker_id(request_or_session) -> str:
def get_xdist_worker_id(request_or_session):
"""Return the id of the current worker ('gw0', 'gw1', etc) or 'master'
if running on the controller node.
Expand Down
10 changes: 5 additions & 5 deletions src/xdist/remote.py
Original file line number Diff line number Diff line change
Expand Up @@ -236,8 +236,8 @@ def setup_config(config, basetemp):


if __name__ == "__channelexec__":
channel = channel # noqa
workerinput, args, option_dict, change_sys_path = channel.receive()
channel = channel # type: ignore[name-defined] # noqa: F821
workerinput, args, option_dict, change_sys_path = channel.receive() # type: ignore[name-defined]

if change_sys_path is None:
importpath = os.getcwd()
Expand All @@ -260,7 +260,7 @@ def setup_config(config, basetemp):

setup_config(config, option_dict.get("basetemp"))
config._parser.prog = os.path.basename(workerinput["mainargv"][0])
config.workerinput = workerinput
config.workeroutput = {}
interactor = WorkerInteractor(config, channel)
config.workerinput = workerinput # type: ignore[attr-defined]
config.workeroutput = {} # type: ignore[attr-defined]
interactor = WorkerInteractor(config, channel) # type: ignore[name-defined]
config.hook.pytest_cmdline_main(config=config)

0 comments on commit 37d2198

Please sign in to comment.