From 7095c0cd83206c41d7b2d6fe420106fa650421db Mon Sep 17 00:00:00 2001 From: Doug Hellmann Date: Wed, 26 Sep 2018 18:43:45 -0400 Subject: [PATCH] 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: Id777843680f8e2ece35b61c182135904f1d0158c Signed-off-by: Doug Hellmann --- tox.ini | 209 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 107 insertions(+), 102 deletions(-) diff --git a/tox.ini b/tox.ini index 6df7a0e..a48ee36 100644 --- a/tox.ini +++ b/tox.ini @@ -1,102 +1,107 @@ -[tox] -minversion = 2.0 -skipsdist = True -envlist = docs,linters,functional - - -[testenv] -usedevelop = True -install_command = - pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages} -commands = - /usr/bin/find . -type f -name "*.pyc" -delete -passenv = - COMMON_TESTS_PATH - HOME - http_proxy - HTTP_PROXY - https_proxy - HTTPS_PROXY - no_proxy - NO_PROXY - TESTING_BRANCH - TESTING_HOME - USER -whitelist_externals = - bash -setenv = - PYTHONUNBUFFERED=1 - ROLE_NAME=os_masakari - TEST_IDEMPOTENCE=false - VIRTUAL_ENV={envdir} - WORKING_DIR={toxinidir} - - -[testenv:docs] -deps = -r{toxinidir}/doc/requirements.txt -commands= - bash -c "rm -rf doc/build" - doc8 doc - sphinx-build -b html doc/source doc/build/html - - -[doc8] -# Settings for doc8: -extensions = .rst - - -[testenv:releasenotes] -deps = -r{toxinidir}/doc/requirements.txt -commands = - sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html - - -# environment used by the -infra templated docs job -[testenv:venv] -commands = - {posargs} - - -[testenv:pep8] -commands = - bash -c "{toxinidir}/tests/common/test-pep8.sh" - - -[flake8] -# Ignores the following rules due to how ansible modules work in general -# F403 'from ansible.module_utils.basic import *' used; -# unable to detect undefined names -# H303 No wildcard (*) import. -ignore=F403,H303 - - -[testenv:bashate] -commands = - bash -c "{toxinidir}/tests/common/test-bashate.sh" - - -[testenv:ansible-syntax] -commands = - bash -c "{toxinidir}/tests/common/test-ansible-syntax.sh" - - -[testenv:ansible-lint] -commands = - bash -c "{toxinidir}/tests/common/test-ansible-lint.sh" - - -[testenv:functional] -commands = - bash -c "{toxinidir}/tests/common/test-ansible-functional.sh" - - -[testenv:linters] -deps = - -r{toxinidir}/doc/requirements.txt -commands = - bash -c "{toxinidir}/tests/common/test-ansible-env-prep.sh" - {[testenv:pep8]commands} - {[testenv:bashate]commands} - {[testenv:ansible-lint]commands} - {[testenv:ansible-syntax]commands} - {[testenv:docs]commands} +[tox] +minversion = 2.0 +skipsdist = True +envlist = docs,linters,functional + + +[testenv] +usedevelop = True +install_command = + pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages} +commands = + /usr/bin/find . -type f -name "*.pyc" -delete +passenv = + COMMON_TESTS_PATH + HOME + http_proxy + HTTP_PROXY + https_proxy + HTTPS_PROXY + no_proxy + NO_PROXY + TESTING_BRANCH + TESTING_HOME + USER +whitelist_externals = + bash +setenv = + PYTHONUNBUFFERED=1 + ROLE_NAME=os_masakari + TEST_IDEMPOTENCE=false + VIRTUAL_ENV={envdir} + WORKING_DIR={toxinidir} + + +[testenv:docs] +basepython = python3 +deps = -r{toxinidir}/doc/requirements.txt +commands= + bash -c "rm -rf doc/build" + doc8 doc + sphinx-build -b html doc/source doc/build/html + + +[doc8] +# Settings for doc8: +extensions = .rst + + +[testenv:releasenotes] +basepython = python3 +deps = -r{toxinidir}/doc/requirements.txt +commands = + sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html + + +# environment used by the -infra templated docs job +[testenv:venv] +basepython = python3 +commands = + {posargs} + + +[testenv:pep8] +basepython = python3 +commands = + bash -c "{toxinidir}/tests/common/test-pep8.sh" + + +[flake8] +# Ignores the following rules due to how ansible modules work in general +# F403 'from ansible.module_utils.basic import *' used; +# unable to detect undefined names +# H303 No wildcard (*) import. +ignore=F403,H303 + + +[testenv:bashate] +commands = + bash -c "{toxinidir}/tests/common/test-bashate.sh" + + +[testenv:ansible-syntax] +commands = + bash -c "{toxinidir}/tests/common/test-ansible-syntax.sh" + + +[testenv:ansible-lint] +commands = + bash -c "{toxinidir}/tests/common/test-ansible-lint.sh" + + +[testenv:functional] +commands = + bash -c "{toxinidir}/tests/common/test-ansible-functional.sh" + + +[testenv:linters] +basepython = python3 +deps = + -r{toxinidir}/doc/requirements.txt +commands = + bash -c "{toxinidir}/tests/common/test-ansible-env-prep.sh" + {[testenv:pep8]commands} + {[testenv:bashate]commands} + {[testenv:ansible-lint]commands} + {[testenv:ansible-syntax]commands} + {[testenv:docs]commands}