zaqar/tox.ini
Sean McGinnis 1af2c91e41
Unblock gate failures
There are a few issues causing all gate runs to fail that are addressed
in this patch.

Update constraints to match global requirements:

There are a few local requirements that conflict with what is now in
upstream global-requirements. This updates sphinx to match the
constrained versions due to incompatibility with py2 and uncaps
jsonschema.

Update handling for falcon 2.0.0 behavior changes:

The 2.0.0 release of falcon changed the default values for two request
query parsing options that would cause failures due to unexpected
results. This sets those options to their previous defaults to maintain
compatibility across 2.0.0 and pre-2.0.0 versions of the package.
Lower constraint version raised to 1.1.0 where the options were
introduced.

There are additional integration test failures with Falcon 2.0.0 that
were due to changes in the subscription URL path.

Closes-bug: #1830903

Requirements and upper constraints not enforced in some tox targets:

The docs and api-ref tox targets were not setting the right dependencies
or the upper constraints to use for pip installs. Also updates the
constraints to the newer preferred static redirect URL maintained by the
release team.

Co-authored-by: wanghao <sxmatch1986@gmail.com>
Change-Id: I19c5363878c629a04e1be902c865ee7cea92dcd9
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2019-05-29 09:31:18 -05:00

122 lines
3.3 KiB
INI

[tox]
minversion = 2.0
envlist = py35,py27,pep8
skipsdist = True
[testenv]
usedevelop = True
install_command = pip install {opts} {packages}
setenv = VIRTUAL_ENV={envdir}
ZAQAR_TESTS_CONFIGS_DIR={toxinidir}/zaqar/tests/etc/
ZAQAR_TEST_MONGODB=1
ZAQAR_TEST_SLOW=1
OS_STDOUT_CAPTURE=1
OS_STDERR_CAPTURE=1
OS_TEST_TIMEOUT=60
OS_TEST_PATH=./zaqar/tests/unit
deps = -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands =
find . -type f -name "*.pyc" -delete
ostestr --concurrency 1 {posargs}
whitelist_externals = find
[testenv:integration]
basepython = python3
setenv = {[testenv]setenv}
ZAQAR_TEST_INTEGRATION=1
OS_TEST_PATH=./zaqar/tests/functional
commands = ostestr --concurrency 1 {posargs}
[testenv:pep8]
basepython = python3
commands =
doc8 doc/source
flake8
[testenv:genconfig]
basepython = python3
commands =
oslo-config-generator --config-file etc/oslo-config-generator/zaqar.conf
[testenv:genpolicy]
basepython = python3
commands =
oslopolicy-sample-generator --config-file etc/zaqar-policy-generator.conf
[testenv:cover]
basepython = python3
setenv =
{[testenv]setenv}
PYTHON=coverage run --source zaqar --parallel-mode
commands =
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
[testenv:venv]
basepython = python3
commands = {posargs}
[testenv:docs]
basepython = python3
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/doc/requirements.txt
commands =
sphinx-build -W -b html doc/source doc/build/html
[testenv:api-ref]
basepython = python3
# This environment is called from CI scripts to test and publish
# the API Ref to developer.openstack.org.
#
whitelist_externals = bash
rm
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/doc/requirements.txt
commands =
rm -rf api-ref/build
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
[testenv:debug]
basepython = python3
commands = oslo_debug_helper {posargs}
[testenv:releasenotes]
basepython = python3
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/doc/requirements.txt
commands =
doc8 releasenotes/source releasenotes/notes
sphinx-build -a -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[flake8]
exclude = .venv*,.git,.tox,dist,doc,*lib/python*,*.egg,.update-venv
# NOTE(flaper87): Our currently max-complexity is 20. Not sure what the ideal complexity
# for Zaqar should be but lets keep it to the minimum possible.
max-complexity = 20
# [H904] Delay string interpolations at logging calls.
enable-extensions=H904
[doc8]
# File extensions to check
extensions = .rst, .yaml
# Maximal line length should be 80 but we have some overlong lines.
# Let's not get far more in.
max-line-length = 80
[hacking]
local-check-factory = zaqar.hacking.checks.factory
[testenv:lower-constraints]
basepython = python3
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt