deb-designate/tox.ini
ZhiQiang Fan 53a7300103 Enable random hash seeds
New tox and python3.3 set a random PYTHONHASHSEED value by default.
We should support this in our unittests so that we do not have to
override the PYTHONHASHSEED value and potentially let bugs into our
projects.

Change-Id: I4f62e4b4e079c8659f0974ad783d3c0837426920
Closes-Bug: #1348818
2015-06-20 09:19:06 -07:00

87 lines
2.8 KiB
INI

[tox]
minversion = 1.6
envlist = py27,flake8
skipsdist = True
[tox:jenkins]
downloadcache = ~/cache/pip
[testenv]
usedevelop = True
install_command = pip install {opts} {packages}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
# Note the hash seed is set to 0 until designate can be tested with a
# random hash seed successfully.
setenv =
PYTHONDONTWRITEBYTECODE=1
whitelist_externals = sh
commands =
sh tools/pretty_tox.sh '{posargs}'
[testenv:docs]
commands = python setup.py build_sphinx -E
[testenv:cover]
commands = python setup.py testr --coverage --testr-args='{posargs}'
[testenv:debug]
commands = oslo_debug_helper {posargs}
[testenv:flake8]
commands = flake8
[testenv:pep8]
basepython = python2.7
commands = flake8
[testenv:pyflakes]
commands = flake8
[testenv:bashate]
deps = bashate
whitelist_externals = bash
commands = bash -c "find {toxinidir}/contrib/devstack \
-not \( -type d -name .?\* -prune \) \ # prune all 'dot' dirs
-not \( -type d -name doc -prune \) \ # skip documentation
-type f \ # only files
-not -name \*~ \ # skip editors, readme, etc
-not -name \*.md \
\( \
-name \*.sh -or \
-name \*rc -or \
-name functions\* -or \
-wholename \*/lib/\* \ # /lib files are shell, but
\) \ # have no extension
-print0 | xargs -0 bashate -v"
[testenv:pip-check-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-check-reqs
-r{toxinidir}/requirements.txt
commands=pip-missing-reqs -d --ignore-file=designate/tests/* designate
[testenv:venv]
commands = {posargs}
[flake8]
# ignored flake8 codes:
# H302 import only modules
# H306 imports not in alphabetical order
# H402 one line docstring needs punctuation
# H404 multi line docstring should start with a summary
# H405 multi line docstring summary not separated with an empty line
# H904 Wrap long lines in parentheses instead of a backslash
# E126 continuation line over-indented for hanging indent
# E128 continuation line under-indented for visual indent
ignore = H302,H306,H402,H404,H405,H904,E126,E128
builtins = _
exclude = .venv,.git,.tox,dist,doc,*openstack/common*,*openstack/deprecated*,*lib/python*,*egg,build,tools,contrib/designate-dashboard
[hacking]
local-check-factory = designate.hacking.checks.factory