91c56ed9a1
As it was announced [1] global bindep-fallback.txt was removed and now projects need to have a local bindep.txt to be able to install binary dependencies for testing. In test jobs the script tools/test-setup.sh is called which requires mysql and postgres servers and clients to be installed. To eliminate 'ERROR: InterpreterNotFound: python3.5' of the zuul job refstack-tox-py35-func-mysql, simply replace the tox environment py35-func-mysql to py36-func-mysql with a base python of 3.6 instead of 3.5 and rename the zuul job to contain py36 in the name. Update the Zuul template to use nodejs6 jobs, this makes the single jobs obsolete, remove them. Without this change, the gate will use nodejs4 and fail. [1] http://lists.openstack.org/pipermail/openstack-discuss/2019-June/007272.html Change-Id: I90cb912befb9d09fed330bd8d27a491caffbf7b9
108 lines
3.6 KiB
INI
108 lines
3.6 KiB
INI
[tox]
|
|
# py3* tests should be run before py27
|
|
# it is a workaround for testr bug
|
|
# https://bugs.launchpad.net/testrepository/+bug/1229445
|
|
envlist = py35,py36,py27,pep8,pip-check-reqs
|
|
minversion = 1.6
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} -U {opts} {packages}
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
LANG=en_US.UTF-8
|
|
LANGUAGE=en_US:en
|
|
LC_ALL=C
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands = /bin/rm -f .testrepository/times.dbm
|
|
python setup.py testr --slowest --testr-args='{posargs}'
|
|
distribute = false
|
|
|
|
[testenv:py27-func-mysql]
|
|
basepython = python2.7
|
|
setenv = SUBUNIT_TEST_PATH=./refstack/tests/api
|
|
# Integration/functional tests
|
|
# must not be run in parallel (--concurrency=1),
|
|
# because each of these tests
|
|
# require cleanup of database
|
|
commands = {toxinidir}/setup-mysql-tests.sh python setup.py testr --slowest --testr-args='{posargs:--concurrency=1}'
|
|
|
|
[testenv:py36-func-mysql]
|
|
basepython = python3.6
|
|
setenv = SUBUNIT_TEST_PATH=./refstack/tests/api
|
|
# Integration/functional tests
|
|
# must not be run in parallel (--concurrency=1),
|
|
# because each of these tests
|
|
# require cleanup of database
|
|
commands = {toxinidir}/setup-mysql-tests.sh python setup.py testr --slowest --testr-args='{posargs:--concurrency=1}'
|
|
|
|
|
|
[testenv:pep8]
|
|
commands =
|
|
flake8 {posargs}
|
|
flake8 --filename=refstack* bin
|
|
pep257 refstack
|
|
distribute = false
|
|
|
|
[testenv:genconfig]
|
|
commands =
|
|
oslo-config-generator --output-file etc/refstack.conf.sample \
|
|
--namespace refstack \
|
|
--namespace oslo.db \
|
|
--namespace oslo.log
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:gen-cover]
|
|
commands = python setup.py testr --coverage \
|
|
--omit='{toxinidir}/refstack/tests/unit/*,{toxinidir}/refstack/tests/api/*,{toxinidir}/refstack/api/config.py,{toxinidir}/refstack/db/migrations/alembic/*,{toxinidir}/refstack/opts.py' \
|
|
--testr-args='{posargs}'
|
|
|
|
[testenv:cover]
|
|
commands = {toxinidir}/tools/cover.sh {posargs}
|
|
|
|
[testenv:docs]
|
|
deps = -r{toxinidir}/doc/requirements.txt
|
|
commands = sphinx-build -b html doc/source doc/build/html
|
|
|
|
[flake8]
|
|
# E125 continuation line does not distinguish itself from next logical line
|
|
# H404 multi line docstring should start with a summary
|
|
ignore = E125,H404
|
|
enable-extensions = H203
|
|
show-source = true
|
|
builtins = _
|
|
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
|
|
|
|
[testenv:pip-check-reqs]
|
|
# Do not install test-requirements as that will pollute the virtualenv for
|
|
# determining missing packages.
|
|
# This also means that pip-check-reqs must be installed separately, outside
|
|
# of the requirements.txt files
|
|
deps = pip_check_reqs
|
|
-r{toxinidir}/requirements.txt
|
|
commands=
|
|
pip-extra-reqs -d --ignore-file=refstack/tests/* refstack
|
|
pip-missing-reqs -d --ignore-file=refstack/tests/* refstack
|
|
|
|
[testenv:debug]
|
|
commands = oslo_debug_helper -t refstack/tests/unit {posargs}
|
|
|
|
[testenv:debug35]
|
|
basepython = python3.5
|
|
commands = oslo_debug_helper -t refstack/tests/unit {posargs}
|
|
|
|
[testenv:bindep]
|
|
basepython = python3
|
|
# Do not install any requirements. We want this to be fast and work even if
|
|
# system dependencies are missing, since it's used to tell you what system
|
|
# dependencies are missing! This also means that bindep must be installed
|
|
# separately, outside of the requirements files, and develop mode disabled
|
|
# explicitly to avoid unnecessarily installing the checked-out repo too (this
|
|
# further relies on "tox.skipsdist = True" above).
|
|
deps = bindep
|
|
commands = bindep test
|
|
usedevelop = False
|