[tox] minversion = 2.0 envlist = pep8,py37,py36,py27 skipsdist = True [testenv] usedevelop = True install_command = pip install {opts} {packages} deps = -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = stestr run {posargs} whitelist_externals = bash [testenv:pep8] basepython = python3 commands = flake8 bash -c tools/check_duplicate_jinja_blocks.sh [testenv:venv] basepython = python3 commands = {posargs} [testenv:cover] basepython = python3 setenv = PYTHON=coverage run --source tripleo_common --parallel-mode commands = coverage erase stestr run {posargs} coverage combine coverage html -d cover coverage xml -o cover/coverage.xml coverage report [testenv:docs] basepython = python3 commands = python setup.py build_sphinx [testenv:debug] basepython = python3 commands = oslo_debug_helper {posargs} [testenv:bashate] basepython = python3 commands = # Run bashate check for all bash scripts # Ignores the following rules: # E006: Line longer than 79 columns (as many scripts use jinja # templating, this is very difficult) # E040: Syntax error determined using `bash -n` (as many scripts # use jinja templating, this will often fail and the syntax # error will be discovered in execution anyway) bash -c "git ls-files | xargs grep --binary-files=without-match \ --files-with-match '^.!.*\(ba\)\?sh$' \ --exclude-dir .tox \ --exclude-dir .git \ | xargs bashate --error . --verbose --ignore=E006,E040,E042" [flake8] # E123, E125 skipped as they are invalid PEP-8. show-source = True ignore = E123,E125 builtins = _ exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,releasenotes [testenv:releasenotes] basepython = python3 commands = bash -c tools/releasenotes_tox.sh