tripleo-heat-templates/tox.ini
Wes Hayutin da19fdbccd Add py27 testenv for tox.ini
Since upstream requirements is removing support of py27 but
TripleO jobs still runs on py27 and which is going to break
the deps installation.

In order to fix, we can create a seperate testenv py27
to handle that and it should not depends on upstream
constriants.

Related-Bug: #1861803
Change-Id: I61365503cc1c70644d6520f54646492359fa4e44
2020-02-04 20:38:32 +05:30

132 lines
3.8 KiB
INI

[tox]
minversion = 2.0
skipsdist = True
envlist = pep8,py27,py37,tht
[testenv]
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:py27]
basepython = python2.7
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = python setup.py testr --slowest --testr-args='{posargs}'
[testenv:venv]
basepython = python3
commands = {posargs}
[testenv:pep8]
basepython = python3
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 --ignore {[testenv:flake8]ignore}
[testenv:flake8]
basepython = python3
# 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]
basepython = python3
commands = python ./tools/process-templates.py
[testenv:clean]
basepython = python3
commands = python ./tools/process-templates.py -c
[testenv:releasenotes]
basepython = python3
whitelist_externals =
bash
commands = bash -c tools/releasenotes_tox.sh
[testenv:cover]
basepython = python3
commands = python setup.py test --coverage --coverage-package-name=tripleo_heat_templates --testr-args='{posargs}'
[testenv:genconfig]
basepython = python3
commands =
python ./tools/process-templates.py
python ./tripleo_heat_templates/environment_generator.py sample-env-generator/
[testenv:genroledata]
basepython = python3
whitelist_externals =
bash
commands =
bash -c tools/roles-data-generate-samples.sh
[testenv:lower-constraints]
basepython = python3
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
[testenv:tht]
basepython = python3
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