network/tox.ini
Till Maas 615db2e642 tox: Move common options to testenv
Move several common options to testenv instead of base to simplify the
file and use normal tox inheritance.
2020-05-06 19:20:01 +02:00

198 lines
4.8 KiB
INI

# SPDX-License-Identifier: MIT
[tox]
envlist =
black, pylint, flake8, yamllint
py{26,27,36,37,38},
custom
skipsdist = true
skip_missing_interpreters = true
[testenv]
passenv = *
basepython = python3
changedir = {toxinidir}/tests
# List common dependencies for Python interpreters here:
setenv =
PYTHONPATH = {toxinidir}/library:{toxinidir}/module_utils
LC_ALL = C
SRC_MODULE_UTILS_DIR = {envsitepackagesdir}/ansible/module_utils
DEST_MODULE_UTILS_DIR = {toxinidir}/module_utils
deps =
py{26,27,36,37,38}: pytest-cov
py{27,36,37,38}: pytest>=3.5.1
py26: pytest
py{26,27,36,37,38}: -rpytest_extra_requirements.txt
whitelist_externals =
bash
commands =
bash {toxinidir}/.travis/runpytest.sh \
--durations=5 \
--cov={toxinidir}/library --cov={toxinidir}/module_utils \
--cov-report=html:htmlcov-{envname} \
--cov-report=term \
{posargs} \
unit
[base]
[testenv:py26]
envdir = {toxworkdir}/env-{env:TRAVIS_PYTHON_VERSION:2.6}
install_command =
pip install {opts} {packages}
list_dependencies_command =
pip freeze
basepython = python2.6
[testenv:py27]
envdir = {toxworkdir}/env-{env:TRAVIS_PYTHON_VERSION:2.7}
basepython = python2.7
[testenv:py36]
envdir = {toxworkdir}/env-{env:TRAVIS_PYTHON_VERSION:3.6}
basepython = python3.6
[testenv:py37]
envdir = {toxworkdir}/env-{env:TRAVIS_PYTHON_VERSION:3.7}
basepython = python3.7
[testenv:py38]
envdir = {toxworkdir}/env-{env:TRAVIS_PYTHON_VERSION:3.8}
basepython = python3.8
[testenv:black]
envdir = {toxworkdir}/env-{env:TRAVIS_PYTHON_VERSION:3.6}
basepython = python3.6
passenv = RUN_BLACK_*
changedir = {toxinidir}
deps =
black
commands =
bash {toxinidir}/.travis/runblack.sh --check --diff .
[testenv:pylint]
envdir = {toxworkdir}/env-{env:TRAVIS_PYTHON_VERSION:2.7}
basepython = python2.7
passenv = RUN_PYLINT_*
changedir = {toxinidir}
deps =
ansible
colorama
pylint>=1.8.4
-rpylint_extra_requirements.txt
commands =
bash {toxinidir}/.travis/runpylint.sh --errors-only {posargs}
[testenv:flake8]
envdir = {toxworkdir}/env-{env:TRAVIS_PYTHON_VERSION:2.7}
basepython = python2.7
passenv = RUN_FLAKE8_*
changedir = {toxinidir}
deps =
flake8>=3.5
commands =
bash {toxinidir}/.travis/runflake8.sh {posargs} .
[testenv:yamllint]
changedir = {toxinidir}
deps = yamllint
commands = yamllint .
[testenv:coveralls]
envdir = {toxworkdir}/env-{env:TRAVIS_PYTHON_VERSION:coveralls}
passenv = TRAVIS TRAVIS_*
deps =
coveralls
commands =
bash {toxinidir}/.travis/runcoveralls.sh {posargs}
[molecule_common]
changedir = {toxinidir}
deps =
{env:LSR_ANSIBLE_DEP:ansible}
docker
molecule<3
selinux
-rmolecule_extra_requirements.txt
runsyspycmd = {toxinidir}/.travis/runsyspycmd.sh
[testenv:molecule_version]
changedir = {[molecule_common]changedir}
envdir = {toxworkdir}/env-{env:TRAVIS_PYTHON_VERSION:molecule}
deps =
{[molecule_common]deps}
commands =
bash {[molecule_common]runsyspycmd} molecule --version
bash {[molecule_common]runsyspycmd} ansible --version
[testenv:molecule_lint]
changedir = {[molecule_common]changedir}
envdir = {toxworkdir}/env-{env:TRAVIS_PYTHON_VERSION:molecule}
deps =
{[molecule_common]deps}
commands =
bash {[molecule_common]runsyspycmd} \
molecule lint -s {env:LSR_MSCENARIO:default} {posargs}
[testenv:molecule_syntax]
changedir = {[molecule_common]changedir}
envdir = {toxworkdir}/env-{env:TRAVIS_PYTHON_VERSION:molecule}
deps =
{[molecule_common]deps}
commands =
bash {[molecule_common]runsyspycmd} \
molecule syntax -s {env:LSR_MSCENARIO:default} {posargs}
[testenv:molecule_test]
changedir = {[molecule_common]changedir}
envdir = {toxworkdir}/env-{env:TRAVIS_PYTHON_VERSION:molecule}
deps =
{[molecule_common]deps}
commands =
bash {[molecule_common]runsyspycmd} \
molecule test -s {env:LSR_MSCENARIO:default} {posargs}
[testenv:molecule]
changedir = {[molecule_common]changedir}
envdir = {toxworkdir}/env-{env:TRAVIS_PYTHON_VERSION:molecule}
deps =
{[molecule_common]deps}
commands =
{[testenv:molecule_version]commands}
{[testenv:molecule_lint]commands}
{[testenv:molecule_syntax]commands}
{[testenv:molecule_test]commands}
[testenv:custom]
changedir = {toxinidir}
envdir = {toxworkdir}/env-{env:TRAVIS_PYTHON_VERSION:custom}
deps =
-rcustom_requirements.txt
commands =
bash {toxinidir}/.travis/custom.sh
[pytest]
addopts = -rxs
[flake8]
show_source = true
max-line-length = 88
ignore = E402,W503
exclude = .venv,.tox
statistics = true
#verbose = 3
[pylint]
max-line-length = 88
disable = wrong-import-position
[pycodestyle]
max-line-length = 88
[travis]
python =
2.6: py26,coveralls,custom
2.7: py27,coveralls,flake8,pylint,custom
3.6: py36,coveralls,black,yamllint,custom
3.7: py37,coveralls,custom
3.8: py38,coveralls,custom
3.8-dev: py38,coveralls,custom