107bc5e4b4
dib is now going to have to be installed explicitly for us to actually run the gate. the old method of just cloning the repo won't work with dib v2. There are other ways to accomplish this but I'm choosing this approach knowing that it isn't ideal. First, what's the downside? This means that dib gets installed wherever trove control plane is installed. Is that necessary, NO. Is it the end of the world, NO. What are the options? - do what Octavia did and have a second requirements.txt in a folder called diskimage-create. Would this work, yes but we don't have such a mechanism right now and nothing would keep this requirements.txt file in sync with g-r that I know of. - hardcode the pip install command somewhere in the devstack plugin. yes, this would work but this would also have no ability to sync with g-r. So, while the solution proposed here isn't ideal, it strikes me as not bad, and much less risk than the other two options. We also need to figure out where the elements are and fix the path for disk-image-create. Some pep8 failures appears to have crept in as well, those are addressed. Change-Id: Ic64d91e082102057417995a0f6851d03b9e0ca74
107 lines
2.9 KiB
INI
107 lines
2.9 KiB
INI
[tox]
|
|
envlist = py{27,34,35},pep8,apiexamples,cover,api-ref,releasenotes,bandit,fakemodetests,pylint
|
|
minversion = 1.6
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
PYTHONWARNINGS=default::DeprecationWarning
|
|
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
|
|
rm -f .testrepository/times.dbm
|
|
rm -f trove_test.sqlite
|
|
whitelist_externals = find
|
|
rm
|
|
bash
|
|
|
|
[tox:jenkins]
|
|
sitepackages = True
|
|
|
|
[testenv:pep8]
|
|
basepython = python2.7
|
|
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:py27]
|
|
commands = {[testenv]commands}
|
|
ostestr --slowest --serial
|
|
|
|
[py3base]
|
|
commands = ostestr --slowest --blacklist_file=blacklist-py3.txt --serial
|
|
|
|
[testenv:py34]
|
|
commands = {[testenv]commands}
|
|
{[py3base]commands}
|
|
|
|
[testenv:py35]
|
|
commands = {[testenv]commands}
|
|
{[py3base]commands}
|
|
|
|
[testenv:apiexamples]
|
|
commands = {envpython} generate_examples.py
|
|
|
|
[testenv:fakemodetests]
|
|
commands = {envpython} run_tests.py
|
|
|
|
[testenv:debug]
|
|
commands = oslo_debug_helper {posargs}
|
|
|
|
[testenv:cover]
|
|
basepython = python2.7
|
|
commands =
|
|
{[testenv]commands}
|
|
coverage erase
|
|
python setup.py testr --coverage --testr-args="--concurrency=1"
|
|
coverage run -a run_tests.py
|
|
coverage html
|
|
coverage xml
|
|
coverage report
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[flake8]
|
|
show-source = True
|
|
# H301 is ignored on purpose.
|
|
# The rest of the ignores are TODOs.
|
|
ignore = F821,H301,H404,H405,H501,E402,W503,E731
|
|
enable-extensions = H203,H106
|
|
builtins = _
|
|
exclude=.venv,.tox,.git,dist,doc,*egg,tools,etc,build,*.po,*.pot,integration,releasenotes
|
|
filename=*.py,trove-*
|
|
|
|
[hacking]
|
|
import_exceptions = trove.common.i18n
|
|
local-check-factory = trove.hacking.translation_checks.factory
|
|
|
|
[testenv:api-ref]
|
|
# This environment is called from CI scripts to test and publish
|
|
# the API Ref to developer.openstack.org.
|
|
commands =
|
|
rm -rf api-ref/build
|
|
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
|
|
|
|
[testenv:releasenotes]
|
|
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]
|
|
commands = sphinx-build -a -E -W -d install-guide/build/doctrees -b html install-guide/source install-guide/build/html
|
|
|
|
[testenv:pylint]
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands = {[testenv]commands}
|
|
python tools/trove-pylint.py {posargs:check}
|
|
|