798d9354f6
It turns out that the way the python34 tests are run in parallel is to spin up several processes (not threads). This means that putting locks around creating the database in a single 'run' would need an inter-process lock not a thread lock. While the feasibility of this is investigated, change the behaviour of the tests to run in series to increase stability. On a 4 cpu test machine this only increased the run time by 70s. Partially implements: blueprint trove-python3 Change-Id: I530fcf22b697148a3d0a286015c5a79481528d8e
107 lines
3.8 KiB
INI
107 lines
3.8 KiB
INI
[tox]
|
|
envlist = py34,py27,pep8,checkbuild,checklinks
|
|
minversion = 1.6
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
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}
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands = find ./trove -type f -name "*.pyc" -delete
|
|
{envpython} run_tests.py
|
|
python setup.py testr --slowest
|
|
{envpython} generate_examples.py
|
|
whitelist_externals = bash
|
|
find
|
|
|
|
[tox:jenkins]
|
|
sitepackages = True
|
|
|
|
[testenv:pep8]
|
|
commands =
|
|
flake8
|
|
# Check that .po and .pot files are valid:
|
|
bash -c "find trove -type f -regex '.*\.pot?' -print0 | \
|
|
xargs -0 -n 1 msgfmt --check-format -o /dev/null"
|
|
|
|
[testenv:py34]
|
|
commands =
|
|
ostestr --blacklist_file=blacklist-py3.txt --serial
|
|
|
|
|
|
[testenv:debug]
|
|
commands = oslo_debug_helper {posargs}
|
|
|
|
[testenv:cover]
|
|
basepython = python2.7
|
|
commands =
|
|
coverage erase
|
|
python setup.py testr --coverage
|
|
coverage run -a run_tests.py
|
|
coverage html
|
|
coverage xml
|
|
coverage report
|
|
|
|
|
|
[testenv:venv]
|
|
# NOTE(amrith) The setting of the install_command in this location
|
|
# is only required because currently infra does not actually
|
|
# support constraints files for the venv job, and while
|
|
# the environment variable UPPER_CONSTRAINTS_FILE is set, there's
|
|
# no file there. It can be removed when infra changes this.
|
|
install_command = pip install -U {opts} {packages}
|
|
commands = {posargs}
|
|
|
|
[flake8]
|
|
show-source = True
|
|
# H301 is ignored on purpose.
|
|
# The rest of the ignores are TODOs.
|
|
ignore = F821,H237,H238,H301,H404,H405,H501
|
|
builtins = _
|
|
exclude=.venv,.tox,.git,dist,doc,openstack,*egg,tools,etc,build,*.po,*.pot
|
|
filename=*.py,trove-*
|
|
|
|
[testenv:checklinks]
|
|
commands = openstack-doc-test --check-links {posargs}
|
|
|
|
[testenv:checkbuild]
|
|
# NOTE(pmalik) The setting of the install_command in this location
|
|
# is only required because currently infra does not actually
|
|
# support constraints files for the publishdocs job, and while
|
|
# the environment variable UPPER_CONSTRAINTS_FILE is set, there's
|
|
# no file there. It can be removed when infra changes this.
|
|
install_command = pip install -U {opts} {packages}
|
|
commands =
|
|
openstack-doc-test --check-niceness --check-syntax --check-deletions {posargs}
|
|
openstack-doc-test --check-build {posargs}
|
|
|
|
[testenv:publishdocs]
|
|
# NOTE(amrith) The setting of the install_command in this location
|
|
# is only required because currently infra does not actually
|
|
# support constraints files for the publishdocs job, and while
|
|
# the environment variable UPPER_CONSTRAINTS_FILE is set, there's
|
|
# no file there. It can be removed when infra changes this.
|
|
install_command = pip install -U {opts} {packages}
|
|
commands = openstack-doc-test --check-build --publish --force
|
|
|
|
[testenv:releasenotes]
|
|
# NOTE(amrith) The setting of the install_command in this location
|
|
# is only required because currently infra does not actually
|
|
# support constraints files for the release notes job, and while
|
|
# the environment variable UPPER_CONSTRAINTS_FILE is set, there's
|
|
# no file there. It can be removed when infra changes this.
|
|
install_command = pip install -U {opts} {packages}
|
|
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:bandit]
|
|
commands = bandit -r trove -n5 -x tests
|
|
|
|
[testenv:install-guide]
|
|
# NOTE(jaegerandi): this target does not use constraints because
|
|
# upstream infra does not yet support it. Once that's fixed, we can
|
|
# drop the install_command.
|
|
install_command = pip install -U --force-reinstall {opts} {packages}
|
|
commands = sphinx-build -a -E -W -d install-guide/build/doctrees -b html install-guide/source install-guide/build/html
|