[tox] minversion = 2.0 envlist = py36,py37,py27,pep8 skipsdist = True [testenv] usedevelop = True whitelist_externals = find rm install_command = pip install {opts} {packages} setenv = VIRTUAL_ENV={envdir} deps = -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/test-requirements.txt -r{toxinidir}/requirements.txt commands = rm -f .testrepository/times.dbm find . -type f -name "*.py[c|o]" -delete stestr run {posargs} passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY [testenv:pep8] basepython = python3 commands = doc8 doc/source/ CONTRIBUTING.rst HACKING.rst README.rst flake8 bandit -r watcher -x watcher/tests/* -n5 -ll -s B320 [testenv:venv] basepython = python3 setenv = PYTHONHASHSEED=0 deps = -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/doc/requirements.txt -r{toxinidir}/test-requirements.txt -r{toxinidir}/requirements.txt commands = {posargs} [testenv:cover] basepython = python3 setenv = PYTHON=coverage run --source watcher --parallel-mode commands = stestr run {posargs} coverage combine coverage html -d cover coverage xml -o cover/coverage.xml coverage report [testenv:docs] basepython = python3 setenv = PYTHONHASHSEED=0 deps = -r{toxinidir}/doc/requirements.txt commands = rm -fr doc/build doc/source/api/ .autogenerated sphinx-build -W -b html doc/source doc/build/html [testenv:api-ref] basepython = python3 deps = -r{toxinidir}/doc/requirements.txt whitelist_externals = bash commands = bash -c 'rm -rf api-ref/build' sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html [testenv:debug] basepython = python3 commands = oslo_debug_helper -t watcher/tests {posargs} [testenv:genconfig] basepython = python3 sitepackages = False commands = oslo-config-generator --config-file etc/watcher/oslo-config-generator/watcher.conf [testenv:genpolicy] basepython = python3 commands = oslopolicy-sample-generator --config-file etc/watcher/oslo-policy-generator/watcher-policy-generator.conf [flake8] filename = *.py,app.wsgi show-source=True ignore= H105,E123,E226,N320,H202 builtins= _ enable-extensions = H106,H203,H904 exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,*sqlalchemy/alembic/versions/*,demo/,releasenotes [testenv:wheel] basepython = python3 commands = python setup.py bdist_wheel [hacking] import_exceptions = watcher._i18n local-check-factory = watcher.hacking.checks.factory [doc8] extension=.rst # todo: stop ignoring doc/source/man when https://bugs.launchpad.net/doc8/+bug/1502391 is fixed ignore-path=doc/source/image_src,doc/source/man,doc/source/api [testenv:releasenotes] basepython = python3 deps = -r{toxinidir}/doc/requirements.txt commands = sphinx-build -a -W -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html [testenv:bandit] basepython = python3 deps = -r{toxinidir}/test-requirements.txt commands = bandit -r watcher -x watcher/tests/* -n5 -ll -s B320 [testenv:lower-constraints] basepython = python3 deps = -c{toxinidir}/lower-constraints.txt -r{toxinidir}/test-requirements.txt -r{toxinidir}/requirements.txt