From d64c25c0191fc0a0f23b4f3916e1568a4e719a84 Mon Sep 17 00:00:00 2001 From: Akihiro Motoki Date: Thu, 7 Jan 2021 04:26:07 +0900 Subject: [PATCH] Follow-up: Move linters dependencies to tox.ini After commit 89e2fad8ef856f0e3651e4ea5784d28bc9aeb229, pep8/bandit/bashate tox envs have different dependencies than the default tox env. If tox envs with different dependencies share some common envdir, tox env will be recreated every time a different tox env is specified. (For example, "tox -e cover" after "tox -e pep8" recreates the tox env.) To address it, this commit introduces a new common envdir for linters (envdir = {toxworkdir}/lint). It also moves deependencies of bashate and bandit envs to pep8 env to ensure these three tox envs have the same dependencies. Cleanups are also made in test-requirements and lower-constraints. * astroid and isort can be dropped from test-requirements.txt as pylint has proper version cappings for astroid and isort. (These cappings are available in pylint 2.5 and later.) * reno is a document dependency, so it is unnecessary in test-requirements. * reno, astroid and isort are dropped from lower-constraints as they are not installed in lower-constraints tests. Change-Id: Iaa3168764d050875e3d08784aee2dfba809e53be --- lower-constraints.txt | 2 -- test-requirements.txt | 3 --- tox.ini | 17 +++++++---------- 3 files changed, 7 insertions(+), 15 deletions(-) diff --git a/lower-constraints.txt b/lower-constraints.txt index cee619c3351..5401d5fbf4f 100644 --- a/lower-constraints.txt +++ b/lower-constraints.txt @@ -31,7 +31,6 @@ greenlet==0.4.14 httplib2==0.9.1 imagesize==0.7.1 iso8601==0.1.11 -isort==4.3.21 Jinja2==2.10 jmespath==0.9.0 jsonpatch==1.16 @@ -109,7 +108,6 @@ python-novaclient==9.1.0 python-subunit==1.0.0 pytz==2013.6 PyYAML==5.3.1 -reno==3.1.0 repoze.lru==0.7 requests==2.14.2 requestsexceptions==1.2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 09017a1991d..ab952537fc4 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -10,9 +10,6 @@ testscenarios>=0.4 # Apache-2.0/BSD WebTest>=2.0.27 # MIT oslotest>=3.2.0 # Apache-2.0 stestr>=1.0.0 # Apache-2.0 -reno>=3.1.0 # Apache-2.0 ddt>=1.0.1 # MIT -astroid==2.4.0 # LGPLv2.1 -isort==4.3.21 # MIT # Needed to run DB commands in virtualenvs PyMySQL>=0.7.6 # MIT License diff --git a/tox.ini b/tox.ini index 3c186b8e657..dd1ce0fdec6 100644 --- a/tox.ini +++ b/tox.ini @@ -94,11 +94,11 @@ deps = -r{toxinidir}/doc/requirements.txt commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html [testenv:pep8] -envdir = {toxworkdir}/shared +envdir = {toxworkdir}/lint deps = {[testenv]deps} - {[testenv:bashate]deps} - {[testenv:bandit]deps} + bashate>=0.5.1 # Apache-2.0 + bandit!=1.6.0,>=1.1.0 # Apache-2.0 flake8-import-order==0.18.1 # LGPLv3 pylint==2.5.3 # GPLv2 commands= @@ -203,20 +203,17 @@ extension = import_exceptions = neutron._i18n [testenv:bandit] -envdir = {toxworkdir}/shared +envdir = {toxworkdir}/lint +deps = {[testenv:pep8]deps} # B104: Possible binding to all interfaces # B303: prohibit list calls: md5, sha1 # B311: Standard pseudo-random generators are not suitable for security/cryptographic purpose # B604: any_other_function_with_shell_equals_true -deps = - bandit!=1.6.0,>=1.1.0 # Apache-2.0 - -r{toxinidir}/test-requirements.txt commands = bandit -r neutron -x tests -n5 -s B104,B303,B311,B604 [testenv:bashate] -envdir = {toxworkdir}/shared -deps = - bashate>=0.5.1 # Apache-2.0 +envdir = {toxworkdir}/lint +deps = {[testenv:pep8]deps} commands = bash -c "find {toxinidir} \ -not \( -type d -name .tox\* -prune \) \ -not \( -type d -name .venv\* -prune \) \