[tox] minversion = 1.6 skipsdist = True envlist = py26,py27,pep8 [testenv] # Note the hash seed is set to 0 until cinder 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='--concurrency 1 {posargs}' {toxinidir}/tools/config/check_uptodate.sh whitelist_externals = bash [tox:jenkins] downloadcache = ~/cache/pip [testenv:pep8] commands = flake8 {posargs} . cinder/common flake8 --filename=cinder* bin # Check that .po and .pot files are valid: bash -c "find cinder -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null" [testenv:pylint] deps = -r{toxinidir}/requirements.txt pylint==0.26.0 commands = bash tools/lintstack.sh [testenv:cover] # Also do not run test_coverage_ext tests while gathering coverage as those # tests conflict with coverage. commands = python setup.py testr --coverage \ --testr-args='^(?!.*test.*coverage).*$' [testenv:genconfig] sitepackages = False envdir = {toxworkdir}/venv commands = {toxinidir}/tools/config/generate_sample.sh -b . -p cinder -o etc/cinder [testenv:venv] commands = {posargs} [flake8] # Following checks are ignored on purpose. # # E251 unexpected spaces around keyword / parameter equals # reason: no improvement in readability # # E265 block comment should start with '# ' # reason: no improvement in readability # # H402 one line docstring needs punctuation # reason: removed in hacking (https://review.openstack.org/#/c/101497/) # # H803 git commit title should not end with period # reason: removed in hacking (https://review.openstack.org/#/c/101498/) # # H904 wrap long lines in parentheses instead of a backslash # reason: removed in hacking (https://review.openstack.org/#/c/101701/) # # Due to the upgrade to hacking 0.9.2 the following checking are # ignored on purpose for the moment and should be re-enabled. # # F841,H302,H305,H307,H405 ignore = E251,E265,H302,H402,H405,H803,H904 builtins = _ exclude = .git,.venv,.tox,dist,tools,doc,common,*egg,build [hacking] local-check-factory = cinder.hacking.checks.factory import_exceptions = cinder.i18n