[tox] envlist = py39, lint, pylint, typing, cov skip_missing_interpreters = True ignore_basepython_conflict = True isolated_build = True [testenv] basepython = {env:PYTHON3_PATH:python3} # pip version duplicated in homeassistant/package_constraints.txt pip_version = pip>=21.0,<22.3 install_command = python -m pip install --use-deprecated legacy-resolver {opts} {packages} commands = {envpython} -X dev -m pytest --timeout=9 --durations=10 -n auto --dist=loadfile -qq -o console_output_style=count -p no:sugar {posargs} {toxinidir}/script/check_dirty deps = -r{toxinidir}/requirements_test_all.txt [testenv:cov] commands = {envpython} -X dev -m pytest --timeout=9 --durations=10 -n auto --dist=loadfile -qq -o console_output_style=count -p no:sugar --cov --cov-report= {posargs} {toxinidir}/script/check_dirty deps = -r{toxinidir}/requirements_test_all.txt [testenv:pylint] skip_install = True ignore_errors = True deps = -r{toxinidir}/requirements_all.txt -r{toxinidir}/requirements_test.txt commands = pylint {env:PYLINT_ARGS:} {posargs} homeassistant [testenv:lint] deps = -r{toxinidir}/requirements_test.txt commands = python -m script.gen_requirements_all validate python -m script.hassfest --action validate pre-commit run codespell {posargs: --all-files} pre-commit run flake8 {posargs: --all-files} pre-commit run bandit {posargs: --all-files} [testenv:typing] deps = -r{toxinidir}/requirements_test_all.txt commands = mypy homeassistant