fa098f69e4
Per this email[0], it's time to migrate our API docs into our tree. This copies the sphinx extension from nova into our tree as well, which will be later split into its own python module. At that time we can cut over to the module and drop it from our tree. The conf.py and the tox environment are also cribbed from nova. [0] http://lists.openstack.org/pipermail/openstack-dev/2016-May/093765.html Change-Id: I683cc4d6459d77c42951a06247b6f9ff8f8456bd
110 lines
3.9 KiB
INI
110 lines
3.9 KiB
INI
[tox]
|
|
minversion = 1.8
|
|
skipsdist = True
|
|
envlist = py34,py27,pep8
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
install_command = pip install -U -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {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 =
|
|
bash tools/flake8wrap.sh {posargs}
|
|
# Run bashate during pep8 runs to ensure violations are caught by
|
|
# the check and gate queues.
|
|
{toxinidir}/tools/run_bashate.sh {toxinidir}/devstack
|
|
# 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"
|
|
# Check the *.rst files
|
|
doc8 README.rst CONTRIBUTING.rst doc/source --ignore D001
|
|
|
|
[testenv:cover]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
LANGUAGE=en_US
|
|
# 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 cover 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 =
|
|
coverage erase
|
|
python setup.py testr --coverage --omit='*test*' --testr-args='{posargs}'
|
|
coverage report --omit='*test*'
|
|
|
|
[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:api-ref]
|
|
# This environment is called from CI scripts to test and publish
|
|
# the API Ref to developer.openstack.org.
|
|
# NOTE(sdague): this target does not use constraints because
|
|
# upstream infra does not yet support it. Once that's fixed, we can
|
|
# drop the install_command.
|
|
#
|
|
# we do not used -W here because we are doing some slightly tricky
|
|
# things to build a single page document, and as such, we are ok
|
|
# ignoring the duplicate stanzas warning.
|
|
install_command = pip install -U --force-reinstall {opts} {packages}
|
|
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]
|
|
# 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 releasenotes 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:venv]
|
|
setenv = PYTHONHASHSEED=0
|
|
# 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 docs 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]
|
|
ignore = E129
|
|
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build
|
|
max-complexity=17
|
|
|
|
[hacking]
|
|
import_exceptions = testtools.matchers, ironic.common.i18n
|