[tox] envlist = py27,pep8 minversion = 1.6 skipsdist = True [testenv] # Note the hash seed is set to 0 until heat can be tested with a # random hash seed successfully. setenv = VIRTUAL_ENV={envdir} PYTHONHASHSEED=0 usedevelop = True install_command = pip install {opts} {packages} deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = find {toxinidir} -not -path '{toxinidir}/.tox/*' -name '*.pyc' -delete python setup.py testr --slowest --testr-args='^(?!heat_integrationtests){posargs}' whitelist_externals = bash find [testenv:py27log] commands = find . -type f -name "*.pyc" -delete bash tools/pretty_tox.sh '{posargs}' [testenv:integration] commands = bash tools/pretty_tox.sh '--concurrency=1 ^heat_integrationtests.*{posargs}' [testenv:pep8] commands = flake8 heat bin/heat-api bin/heat-api-cfn bin/heat-api-cloudwatch bin/heat-engine bin/heat-manage contrib heat_integrationtests # Check that .po and .pot files are valid: bash -c "find heat -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null" [testenv:venv] commands = {posargs} [testenv:cover] commands = python setup.py testr --coverage --testr-args='^(?!heat_integrationtests){posargs}' [testenv:docs] deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt sphinxcontrib-httpdomain commands = python setup.py build_sphinx [testenv:genconfig] commands = oslo-config-generator --config-file=config-generator.conf [flake8] # E122 continuation line missing indentation or outdented # E126 continuation line over-indented for hanging indent # E128 continuation line under-indented for visual indent # E251 unexpected spaces around keyword / parameter equals # E265 block comment should start with '# ' # F402 import shadowed by loop variable # F812 list comprehension redefines variable # H101 Use TODO(NAME) # H202 assertRaises Exception too broad # H233 Python 3.x incompatible use of print operator # H305 imports not grouped correctly # H307 like imports should be grouped togethe # 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 # H803 no full stop at the end of the commit message # H904 Wrap long lines in parentheses instead of a backslash ignore = E122,E126,E128,E251,E265,F402,F812,H101,H202,H233,H305,H307,H402,H404,H405,H803,H904 show-source = true exclude=.venv,.git,.tox,dist,*openstack/common*,*lib/python*,*egg,tools,build max-complexity=20 [hacking] import_exceptions = heat.common.i18n