From 5542de51bc2205ee297fb94539ff5ab4d0b73109 Mon Sep 17 00:00:00 2001 From: Sean McGinnis Date: Wed, 13 Jun 2018 16:51:32 -0500 Subject: [PATCH] Be explicit about tox python version We want to default all jobs to use python 3 except for the ones that use explicit versions. Unfortunately, the current tox behavior for setting basepython to python3 is not intuitive. If the system default is python 3.5, then when basepython is set to python3, both the py35 and py36 targets will end up running with python 3.5. To get around this we need to not set a default base version and explicitly set each testenv to python3 that we want to run using 3 instead of 2 but do not really care which minor version is used. Change-Id: I3971eeafbd1e732a584b0c52d2eb6c2175b709aa --- tox.ini | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index fce211f4391..f04e4ae3e89 100644 --- a/tox.ini +++ b/tox.ini @@ -4,7 +4,6 @@ skipsdist = True envlist = py35,py27,compliance,pep8 [testenv] -basepython = python3 setenv = VIRTUAL_ENV={envdir} PYTHONWARNINGS=default::DeprecationWarning OS_STDOUT_CAPTURE=1 @@ -31,6 +30,7 @@ whitelist_externals = passenv = *_proxy *_PROXY [testenv:api-ref] +basepython = python3 whitelist_externals = rm deps = -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} @@ -40,6 +40,7 @@ commands = sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html/ [testenv:releasenotes] +basepython = python3 deps = -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} -r{toxinidir}/requirements.txt @@ -61,10 +62,12 @@ setenv = {[testenv:functional]setenv} [testenv:compliance] +basepython = python3 setenv = OS_TEST_PATH = ./cinder/tests/compliance [testenv:pep8] +basepython = python3 commands = python setup.py check --restructuredtext --strict flake8 {posargs} . @@ -72,12 +75,14 @@ commands = {toxinidir}/tools/check_exec.py {toxinidir}/cinder {toxinidir}/doc/source/ {toxinidir}/releasenotes/notes [testenv:fast8] +basepython = python3 # Use same environment directory as pep8 env to save space and install time envdir = {toxworkdir}/pep8 commands = {toxinidir}/tools/fast8.sh [testenv:pylint] +basepython = python3 deps = -r{toxinidir}/requirements.txt pylint==1.9.1 commands = bash tools/lintstack.sh @@ -85,6 +90,7 @@ commands = bash tools/lintstack.sh [testenv:cover] # Also do not run test_coverage_ext tests while gathering coverage as those # tests conflict with coverage. +basepython = python3 setenv = {[testenv]setenv} PYTHON=coverage run --source cinder --parallel-mode @@ -95,23 +101,28 @@ commands = coverage xml -o cover/coverage.xml [testenv:genconfig] +basepython = python3 sitepackages = False envdir = {toxworkdir}/pep8 commands = oslo-config-generator --config-file=tools/config/cinder-config-generator.conf [testenv:genpolicy] +basepython = python3 commands = oslopolicy-sample-generator --config-file=tools/config/cinder-policy-generator.conf [testenv:genopts] +basepython = python3 sitepackages = False envdir = {toxworkdir}/pep8 commands = python tools/config/generate_cinder_opts.py [testenv:venv] +basepython = python3 commands = {posargs} [testenv:docs] +basepython = python3 deps = -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} -r{toxinidir}/requirements.txt @@ -125,15 +136,18 @@ commands = whitelist_externals = rm [testenv:gendriverlist] +basepython = python3 sitepackages = False envdir = {toxworkdir}/venv commands = python {toxinidir}/tools/generate_driver_list.py [testenv:bandit] +basepython = python3 deps = -r{toxinidir}/test-requirements.txt commands = bandit -r cinder -n5 -x tests -ll [testenv:bandit-baseline] +basepython = python3 envdir = {toxworkdir}/bandit commands = bandit-baseline -r cinder -n5 -x tests -ii -ll @@ -144,6 +158,7 @@ commands = bandit-baseline -r cinder -n5 -x tests -ii -ll # separately, outside of the requirements files, and develop mode disabled # explicitly to avoid unnecessarily installing the checked-out repo too (this # further relies on "tox.skipsdist = True" above). +basepython = python3 deps = bindep commands = bindep test usedevelop = False @@ -164,6 +179,7 @@ local-check-factory = cinder.hacking.checks.factory import_exceptions = cinder.i18n [testenv:lower-constraints] +basepython = python3 deps = -c{toxinidir}/lower-constraints.txt -r{toxinidir}/test-requirements.txt