bigquery_etl/pytest_plugin/script_lint/mypy.py (9 lines of code) (raw):

"""PyTest plugin for collecting mypy tests on python scripts.""" from pytest_mypy import MypyFile, mypy_argv from . import is_python_executable def pytest_configure(config): """Add flag when running mypy. Fixes https://github.com/python/mypy/issues/1380 """ mypy_argv.append("--scripts-are-modules") # adapted from # https://github.com/dbader/pytest-mypy/blob/v0.7.0/src/pytest_mypy.py#L100-L111 def pytest_collect_file(parent, path): """Collect mypy tests.""" if any( [parent.config.option.mypy, parent.config.option.mypy_ignore_missing_imports] ) and is_python_executable(path): return MypyFile.from_parent(parent=parent, fspath=path)