ironic/tox.ini
Jim Rollenhagen 95fcd6433b Run bashate as part of the pep8 command
In order to save gate resources we could just run bashate as part of the
the pep8 command.

The tox bashate command is removed and bashate is added as a dependency
in the test-requirements.txt file.

Change-Id: I75df4103c0154c5424b8781c1db3480336a5e1d2
2015-12-17 17:45:30 +00:00

88 lines
3.0 KiB
INI

[tox]
minversion = 1.8
skipsdist = True
envlist = py34,py27,pep8,bashate
[testenv]
usedevelop = True
install_command =
constraints: pip install -U --force-reinstall -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
pip install -U {opts} {packages}
setenv = VIRTUAL_ENV={envdir}
PYTHONDONTWRITEBYTECODE = 1
LANGUAGE=en_US
LC_ALL=en_US.UTF-8
TESTS_DIR=./ironic/tests/unit/
deps = -r{toxinidir}/test-requirements.txt
commands = ostestr {posargs}
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
[testenv:genstates]
deps = {[testenv]deps}
pydot2
commands = {toxinidir}/tools/states_to_dot.py -f {toxinidir}/doc/source/images/states.svg --format svg
[testenv:pep8]
whitelist_externals = bash
commands =
flake8 {posargs}
# Run bashate during pep8 runs to ensure violations are caught by
# the check and gate queues.
bash -c "find {toxinidir}/devstack \
-not \( -type d -name .?\* -prune \) \ # prune all 'dot' dirs
-type f \ # only files
-not -name \*.swp \ # skip editor files
-not -name \*~ \ # skip editor files
-not -name \*.xml \ # skip xml files
-not -name \*.template \ # skip template files
-not -wholename \*scripts/configure-vm \ # that's a python script
\( \
-name \*.sh -or \ # add files eding with .sh
-wholename \*/lib/\* -or \ # add files under lib/
-wholename \*/tools/\* \ # add files under tools/
\) \
-print0 | xargs -0 bashate -v -iE006 -eE005,E042"
# Check that .po and .pot files are valid:
bash -c "find ironic -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"
[testenv:cover]
setenv = VIRTUAL_ENV={envdir}
LANGUAGE=en_US
commands =
python setup.py testr --coverage {posargs}
[testenv:checkconfig]
sitepackages = False
envdir = {toxworkdir}/venv
commands =
{toxinidir}/tools/config/check_uptodate.sh
[testenv:genconfig]
whitelist_externals = bash
sitepackages = False
envdir = {toxworkdir}/venv
commands =
bash tools/config/generate_sample.sh -b . -p ironic -o etc/ironic
[testenv:docs]
setenv = PYTHONHASHSEED=0
sitepackages = False
envdir = {toxworkdir}/venv
commands =
python setup.py build_sphinx
[testenv:releasenotes]
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[testenv:venv]
setenv = PYTHONHASHSEED=0
commands = {posargs}
[flake8]
ignore = E129
exclude = .venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,tools
max-complexity=17
[hacking]
import_exceptions = testtools.matchers, ironic.common.i18n