freezer-api/tox.ini
Doug Hellmann 85b8aeea0f fix tox python3 overrides
We want to default to running all tox environments under python 3, so
set the basepython value in each environment.

We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.

We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.

Change-Id: Ic7138594becaf7061d8b4d0d3fe9bf243fef35af
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-07-12 02:20:37 +00:00

128 lines
3.5 KiB
INI

[tox]
minversion = 1.8.1
envlist = py27,py35,pep8,pylint
skipsdist = True
[testenv]
usedevelop = True
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
passenv =
FREEZER_TEST_SSH_KEY
FREEZER_TEST_SSH_USERNAME
FREEZER_TEST_SSH_HOST
FREEZER_TEST_CONTAINER
FREEZER_TEST_OS_TENANT_NAME
FREEZER_TEST_OS_USERNAME
FREEZER_TEST_OS_REGION_NAME
FREEZER_TEST_OS_PASSWORD
FREEZER_TEST_OS_AUTH_URL
FREEZER_TEST_NO_LVM
http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
setenv = VIRTUAL_ENV={envdir}
whitelist_externals =
find
coverage
rm
python_files = test_*.py
norecursedirs = .tox .venv specs
[testenv:py27]
basepython = python2.7
setenv = OS_PATH_TEST = ./freezer_api/tests/unit
commands =
find . -type f -name "*.py[c|o]" -delete
rm -rf .testrepository
python setup.py test --coverage --coverage-package-name freezer_api --testr-args="{posargs}"
coverage report -m
rm -f .coverage
rm -rf .testrepository
[testenv:py35]
basepython = python3.5
setenv = OS_PATH_TEST = ./freezer_api/tests/unit
commands =
find . -type f -name "*.py[c|o]" -delete
rm -rf .testrepository
python setup.py test --coverage --coverage-package-name freezer_api --testr-args="{posargs}"
coverage report -m
rm -f .coverage
rm -rf .testrepository
[testenv:py36]
basepython = python3.6
setenv = OS_PATH_TEST = ./freezer_api/tests/unit
commands =
find . -type f -name "*.py[c|o]" -delete
rm -rf .testrepository
python setup.py test --coverage --coverage-package-name freezer_api --testr-args="{posargs}"
coverage report -m
rm -f .coverage
rm -rf .testrepository
[testenv:venv]
basepython = python3
commands = {posargs}
[testenv:cover]
basepython = python3
commands =
find . -type f -name "*.py[c|o]" -delete
python setup.py test --coverage --coverage-package-name freezer_api --testr-args="{posargs}"
coverage report -m
rm -f .coverage
rm -rf .testrepository
[testenv:pylint]
basepython = python3
commands = pylint --rcfile .pylintrc freezer_api
[testenv:pep8]
basepython = python3
commands = flake8 freezer_api
[flake8]
# Ignored hackings:
# H202 -> assertRaises(Exception, ...) too broad
# H401 -> Docstrings should not start with a space
# H404 -> Multi line docstrings should start without a leading new line.
# H405 -> Multi line docstrings should start with a one line summary followed by an empty line.
ignore = H202,H401,H404,H405
show-source = True
exclude = .venv,.tox,dist,doc,*egg,specs,build
[testenv:docs]
basepython = python3
commands =
rm -rf api-ref/build
python setup.py build_sphinx
sphinx-build -W -b html api-ref/source api-ref/build/html
[testenv:api-ref]
basepython = python3
whitelist_externals = rm
commands =
rm -rf api-ref/build
sphinx-build -W -a -E -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
[testenv:releasenotes]
basepython = python3
commands = sphinx-build -W -a -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[testenv:genpolicy]
basepython = python3
commands = oslopolicy-sample-generator --config-file etc/freezer/freezer-policy-generator.conf
[testenv:lower-constraints]
basepython = python3
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt