[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 = python setup.py testr --slowest --testr-args='^(?!heat_integrationtests) {posargs}' whitelist_externals = bash [testenv:integration] commands = python setup.py testr --slowest --testr-args='--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 = bash tools/config/generate_sample.sh -b . -p heat -o etc/heat [flake8] # H404 multi line docstring should start with a summary # H803 no full stop at the end of the commit message ignore = H404,H803 show-source = true exclude=.venv,.git,.tox,dist,*openstack/common*,*lib/python*,*egg,tools,build # 28 is currently the most complex thing we have # TODO(asalkeld): get this number down to 20 max-complexity=29 [hacking] import_exceptions = heat.common.i18n