[tox] minversion = 1.6 envlist = linters,py38,py37,py36,queries,docs skipsdist = True [testenv] usedevelop = True install_command = pip install -U {opts} {packages} setenv = VIRTUAL_ENV={envdir} # keyring presence can fully block pip on linux # https://github.com/pypa/pip/pull/8687 # https://github.com/pypa/pip/issues/6773#issuecomment-515857335 PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = pytest elastic_recheck/tests/unit [testenv:functional] basepython = python3 commands = pytest elastic_recheck/tests/functional [testenv:queries] basepython = python3 commands = pytest -k functional {posargs:-n auto --html={envlogdir}/reports.html --self-contained-html -v} [testenv:venv] basepython = python3 commands = {posargs} [testenv:cover] basepython = python3 deps = {[testenv]deps} pytest-cov commands = pytest --cov=elastic_recheck {posargs} elastic_recheck/tests/unit [testenv:run] basepython = python3 # test to run the bot as a non voting foreground process commands = elastic-recheck -f -n --noirc elasticRecheck.conf [testenv:docs] basepython = python3 deps = -r{toxinidir}/doc/requirements.txt commands = sphinx-build -b html -W doc/source doc/build/html [testenv:bindep] basepython = python3 # Do not install any requirements. We want this to be fast and work even if # system dependencies are missing, since it's used to tell you what system # dependencies are missing! This also means that bindep must be installed # separately, outside of the requirements files. deps = bindep commands = bindep test [testenv:linters] basepython = python3 deps = flake8==3.8.3 pylint==2.6.0 -r{toxinidir}/test-requirements.txt commands = flake8 pylint elastic_recheck