deb-sahara/tox.ini
Sergey Lukjanov 6db358af56 Add pip-missing-reqs tox env
It checks that all of the imported from sahara requirements directly
specified in the requirements.txt file. It's needed to keep all of our
requirements corresponding to imports in code.

Sample output - https://gist.github.com/Frostman/bbc00bd386f317a1160e

Change-Id: I7f792fb59b07eb1a6cb7cd51a1ff0e759da6f68c
2014-09-19 11:27:29 -07:00

81 lines
2.1 KiB
INI

[tox]
envlist = py26,py27,pep8
minversion = 1.6
skipsdist = True
[testenv]
usedevelop = True
install_command = pip install -U {opts} {packages}
setenv =
VIRTUAL_ENV={envdir}
DISCOVER_DIRECTORY=sahara/tests/unit
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = python setup.py test --slowest --testr-args="{posargs}"
whitelist_externals = bash
[testenv:integration]
setenv =
VIRTUAL_ENV={envdir}
DISCOVER_DIRECTORY=sahara/tests/integration
commands = python setup.py test --slowest --testr-args="{posargs}"
[testenv:cover]
commands = python setup.py testr --coverage --testr-args='{posargs}'
[tox:jenkins]
downloadcache = ~/cache/pip
[testenv:pep8]
commands =
flake8 {posargs}
{toxinidir}/tools/config/check_uptodate.sh
# Check that .po and .pot files are valid:
bash -c "find sahara -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"
[testenv:doc8]
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
doc8
commands = doc8 doc/source
[testenv:venv]
commands = {posargs}
[testenv:docs]
commands =
rm -rf doc/html doc/build
rm -rf doc/source/apidoc doc/source/api
python setup.py build_sphinx
whitelist_externals =
rm
[testenv:pylint]
setenv = VIRTUAL_ENV={envdir}
commands = bash tools/lintstack.sh
[testenv:genconfig]
commands =
bash tools/config/generate_sample.sh -b . -p sahara -o etc/sahara
[testenv:pip-missing-reqs]
# do not install test-requirements as that will pollute the virtualenv for
# determining missing packages
# this also means that pip-missing-reqs must be installed separately, outside
# of the requirements.txt files
deps =
pip_missing_reqs
-r{toxinidir}/requirements.txt
commands = pip-missing-reqs -d --ignore-file=sahara/tests/* sahara
[flake8]
show-source = true
builtins = _
exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,tools
[hacking]
import_exceptions = sahara.i18n._, sahara.i18n._LI, sahara.i18n._LW, sahara.i18n._LE, sahara.i18n._LC
local-check-factory = sahara.utils.hacking.checks.factory