anki/pylib/BUILD.bazel

92 lines
1.8 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 //python/stubs:extendsitepkgs)",
],
data = [
"mypy.ini",
"//python/stubs",
"//python/stubs:extendsitepkgs",
],
env = {"EXTRA_SITE_PACKAGES": "$(location //python/stubs)"},
main = "tests/run_mypy.py",
deps = [
"//pylib/anki",
"//pylib/anki:proto",
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"),
],
)