anki/pylib/BUILD.bazel
Damien Elmes d120cd7f8a update to latest mypy
mypy's move to external types-* packages is a PITA, as it requires them
to be installed in site-packages, and provides no way to specify a custom
site-packages folder, necessitating extra scripts to mock the
site-packages path, and copy+rename the stub packages into a separate
folder.
2021-06-16 16:04:59 +10:00

91 lines
1.7 KiB
Python

load("@rules_python//python:defs.bzl", "py_binary", "py_library", "py_test")
load("@py_deps//:requirements.bzl", "requirement")
py_test(
name = "pytest",
srcs = glob(["tests/*.py"]),
data = glob(["tests/support/**"]),
main = "tests/run_pytest.py",
deps = [
"//pylib/anki",
requirement("pytest"),
],
)
py_test(
name = "mypy",
srcs = [
"tests/run_mypy.py",
],
args = [
"anki",
"$(location mypy.ini)",
"$(location //pip/stubs:extendsitepkgs)",
],
data = [
"mypy.ini",
"//pip/stubs",
"//pip/stubs:extendsitepkgs",
],
env = {"EXTRA_SITE_PACKAGES": "$(location //pip/stubs)"},
main = "tests/run_mypy.py",
deps = [
"//pylib/anki",
requirement("mypy"),
],
)
py_test(
name = "pylint",
srcs = [
"tests/run_pylint.py",
],
args = [
"anki",
"$(location .pylintrc)",
],
data = [".pylintrc"],
main = "tests/run_pylint.py",
deps = [
"//pylib/anki",
requirement("pylint"),
],
)
py_test(
name = "format_check",
srcs = [
"//pylib/tools:py_source_files",
"//pylib/anki:py_source_files",
] + glob([
"tests/**/*.py",
]),
args = [
"$(location .isort.cfg)",
],
data = [".isort.cfg"],
main = "tests/run_format.py",
deps = [
requirement("black"),
requirement("isort"),
],
)
py_binary(
name = "format",
srcs = [
"tests/run_format.py",
],
args = [
"$(location .isort.cfg)",
"fix",
],
data = [".isort.cfg"],
main = "tests/run_format.py",
tags = ["manual"],
deps = [
requirement("black"),
requirement("isort"),
],
)