[tox] minversion = 2.0 skipsdist = True envlist = pep8,py37,tht [testenv] basepython = python3 usedevelop = True deps = -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt} -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = python setup.py testr --slowest --testr-args='{posargs}' [testenv:venv] commands = {posargs} [testenv:pep8] whitelist_externals = bash commands = python ./tools/process-templates.py python ./network/endpoints/build_endpoint_map.py --check python ./tools/yaml-validate.py . bash -c ./tools/roles-data-validation.sh bash -c ./tools/check-up-to-date.sh flake8 --exclude releasenotes,.tox,__pycache__ --ignore {[testenv:flake8]ignore} [testenv:flake8] # E125 is deliberately excluded. See # https://github.com/jcrocholl/pep8/issues/126. It's just wrong. # # Most of the whitespace related rules (E12* and E131) are excluded # because while they are often useful guidelines, strict adherence to # them ends up causing some really odd code formatting and forced # extra line breaks. Updating code to enforce these will be a hard sell. # # H405 is another one that is good as a guideline, but sometimes # multiline doc strings just don't have a natural summary # line. Rejecting code for this reason is wrong. # # E251 Skipped due to https://github.com/jcrocholl/pep8/issues/301 # # The following two are also ignored that we don't think it is useful. # W503 line break before binary operator # W504 line break after binary operator # # The following rules are currently ignored, but will be enforced # in the future # E501 line too long # E731 do not assign a lambda expression, use a def # W605 invalid escape sequence ignore = E121,E122,E123,E124,E125,E126,E127,E128,E129,E131,E251,H405,W503,W504,E501,E731,W605 exclude = releasenotes [testenv:templates] commands = python ./tools/process-templates.py [testenv:clean] commands = python ./tools/process-templates.py -c [testenv:releasenotes] whitelist_externals = bash commands = bash -c tools/releasenotes_tox.sh [testenv:cover] commands = python setup.py test --coverage --coverage-package-name=tripleo_heat_templates --testr-args='{posargs}' [testenv:genconfig] commands = python ./tools/process-templates.py python ./tripleo_heat_templates/environment_generator.py sample-env-generator/ [testenv:genroledata] whitelist_externals = bash commands = bash -c tools/roles-data-generate-samples.sh [testenv:lower-constraints] deps = -c{toxinidir}/lower-constraints.txt -r{toxinidir}/test-requirements.txt -r{toxinidir}/requirements.txt [testenv:tht] usedevelop = True setenv = ANSIBLE_FORCE_COLOR=1 ANSIBLE_INVENTORY={toxinidir}/test/hosts.ini ANSIBLE_THT_FOLDER={toxinidir} ANSIBLE_NOCOWS=1 ANSIBLE_RETRY_FILES_ENABLED=0 ANSIBLE_STDOUT_CALLBACK=debug PY_COLORS=1 VIRTUAL_ENV={envdir} # Avoid 2020-01-01 warnings: https://github.com/pypa/pip/issues/6207 PYTHONWARNINGS=ignore:DEPRECATION::pip._internal.cli.base_command PIP_DISABLE_PIP_VERSION_CHECK=1 passenv = ANSIBLE_* deps = -r{toxinidir}/test-ansible-requirements.txt whitelist_externals = bash commands_pre = pip install -q bindep bindep test commands = pytest --color=no \ --html={envlogdir}/reports.html \ --self-contained-html \ {toxinidir}/tripleo_heat_templates/tests/test_tht_ansible_syntax.py