Cleanup trove's tox.ini and .gitignore
This commit cleans up a couple of issues with Trove's tox.ini. 1. something that was reported to me by Matthew Treinish who observed that the tox jobs are oddly bundled together. This is important because infra's reporting is unable to generate some useful metrics and tracking of trove's jobs because of the way they are tied together. 2. with the cleanup of docs, apidocs is no longer a directory and can be cleaned up, similarly api-ref is a thing and should be handled in .gitignore. 3. that py27 used to use testr, switched it to using ostestr. I've retained it for coverage. 4. the sqlite db needs to be deleted between runs because we otherwise fail (on a developer configuration) because some tests intentionally appear to leave stuff around. 5. I've set all ostestr jobs to run with --serial because there are clearly cases where multiple tests can attempt to setup the DB at the same time and get into trouble. Till we can fix those (if we feel it is worthwhile) it is more reliable to run ostestr in --serial mode. It only takes 2.5 minutes. This includes the cover jobs which runs with --no-parallel. An infra change will follow that will enable testing jobs. Change-Id: I0a971c6ef6c1a4669490f2aa0e67c795fe86e190 Closes-Bug: 1618098 Closes-Bug: 1618149
This commit is contained in:
parent
c376d32a14
commit
4512aec2d4
6
.gitignore
vendored
6
.gitignore
vendored
@ -30,11 +30,7 @@ install-guide/build/
|
|||||||
|
|
||||||
# Docs
|
# Docs
|
||||||
.DS_Store
|
.DS_Store
|
||||||
apidocs/.DS_Store
|
api-ref/build/
|
||||||
apidocs/src/.DS_Store
|
|
||||||
apidocs/src/samples/.DS_Store
|
|
||||||
apidocs/includewars.xml
|
|
||||||
apidocs/src/bookinfo.xml
|
|
||||||
|
|
||||||
# Files created by releasenotes build
|
# Files created by releasenotes build
|
||||||
releasenotes/build
|
releasenotes/build
|
||||||
|
46
tox.ini
46
tox.ini
@ -1,45 +1,54 @@
|
|||||||
[tox]
|
[tox]
|
||||||
envlist = py35,py34,py27,pep8,checkbuild,checklinks
|
envlist = py{27,34,35},pep8,apiexamples,cover,api-ref,releasenotes,bandit,fakemodetests
|
||||||
minversion = 1.6
|
minversion = 1.6
|
||||||
skipsdist = True
|
skipsdist = True
|
||||||
|
|
||||||
[testenv]
|
[testenv]
|
||||||
setenv = VIRTUAL_ENV={envdir}
|
setenv = VIRTUAL_ENV={envdir}
|
||||||
usedevelop = True
|
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}
|
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
|
deps = -r{toxinidir}/requirements.txt
|
||||||
-r{toxinidir}/test-requirements.txt
|
-r{toxinidir}/test-requirements.txt
|
||||||
commands = find ./trove -type f -name "*.pyc" -delete
|
commands = find ./trove -type f -name "*.pyc" -delete
|
||||||
{envpython} run_tests.py
|
rm -f .testrepository/times.dbm
|
||||||
python setup.py testr --slowest
|
rm -f trove_test.sqlite
|
||||||
{envpython} generate_examples.py
|
whitelist_externals = find
|
||||||
whitelist_externals = bash
|
rm
|
||||||
find
|
bash
|
||||||
|
|
||||||
[tox:jenkins]
|
[tox:jenkins]
|
||||||
sitepackages = True
|
sitepackages = True
|
||||||
|
|
||||||
[testenv:pep8]
|
[testenv:pep8]
|
||||||
|
basepython = python2.7
|
||||||
commands =
|
commands =
|
||||||
flake8
|
flake8
|
||||||
# Check that .po and .pot files are valid:
|
# Check that .po and .pot files are valid:
|
||||||
bash -c "find trove -type f -regex '.*\.pot?' -print0 | \
|
bash -c "find trove -type f -regex '.*\.pot?' -print0 | \
|
||||||
xargs -0 -n 1 msgfmt --check-format -o /dev/null"
|
xargs -0 -n 1 msgfmt --check-format -o /dev/null"
|
||||||
|
|
||||||
|
[testenv:py27]
|
||||||
|
commands = {[testenv]commands}
|
||||||
|
ostestr --slowest --serial
|
||||||
|
|
||||||
[py3base]
|
[py3base]
|
||||||
commands = rm -f .testrepository/times.dbm
|
commands = ostestr --slowest --blacklist_file=blacklist-py3.txt --serial
|
||||||
find ./trove -type f -name "*.pyc" -delete
|
|
||||||
ostestr --blacklist_file=blacklist-py3.txt --serial
|
|
||||||
whitelist_externals = rm
|
|
||||||
find
|
|
||||||
|
|
||||||
[testenv:py34]
|
[testenv:py34]
|
||||||
commands = {[py3base]commands}
|
commands = {[testenv]commands}
|
||||||
whitelist_externals = {[py3base]whitelist_externals}
|
{[py3base]commands}
|
||||||
|
|
||||||
[testenv:py35]
|
[testenv:py35]
|
||||||
commands = {[py3base]commands}
|
commands = {[testenv]commands}
|
||||||
whitelist_externals = {[py3base]whitelist_externals}
|
{[py3base]commands}
|
||||||
|
|
||||||
|
[testenv:apiexamples]
|
||||||
|
commands = {envpython} generate_examples.py
|
||||||
|
|
||||||
|
[testenv:fakemodetests]
|
||||||
|
commands = {envpython} run_tests.py
|
||||||
|
|
||||||
[testenv:debug]
|
[testenv:debug]
|
||||||
commands = oslo_debug_helper {posargs}
|
commands = oslo_debug_helper {posargs}
|
||||||
@ -47,14 +56,14 @@ commands = oslo_debug_helper {posargs}
|
|||||||
[testenv:cover]
|
[testenv:cover]
|
||||||
basepython = python2.7
|
basepython = python2.7
|
||||||
commands =
|
commands =
|
||||||
|
{[testenv]commands}
|
||||||
coverage erase
|
coverage erase
|
||||||
python setup.py testr --coverage
|
python setup.py testr --coverage --no-parallel
|
||||||
coverage run -a run_tests.py
|
coverage run -a run_tests.py
|
||||||
coverage html
|
coverage html
|
||||||
coverage xml
|
coverage xml
|
||||||
coverage report
|
coverage report
|
||||||
|
|
||||||
|
|
||||||
[testenv:venv]
|
[testenv:venv]
|
||||||
commands = {posargs}
|
commands = {posargs}
|
||||||
|
|
||||||
@ -73,7 +82,6 @@ filename=*.py,trove-*
|
|||||||
commands =
|
commands =
|
||||||
rm -rf api-ref/build
|
rm -rf api-ref/build
|
||||||
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
|
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
|
||||||
whitelist_externals = rm
|
|
||||||
|
|
||||||
[testenv:releasenotes]
|
[testenv:releasenotes]
|
||||||
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
||||||
|
Loading…
Reference in New Issue
Block a user