tox now always recreates an env although the env is shared using envdir
options.
~~~
$ tox -e genpolicy
genpolicy: recreate env because env type changed from
{'name': 'genconfig', 'type': 'VirtualEnvRunner'} to
{'name': 'genpolicy', 'type': 'VirtualEnvRunner'}
~~~
According to the maintainer of tox, this functionality is not intended
to be supported.
https://github.com/tox-dev/tox/issues/425#issuecomment-1011944293
Change-Id: If340525da5b27bd9704f113a76d1fa992790ab9e
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
		
	
		
			
				
	
	
		
			138 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
			
		
		
	
	
			138 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
[tox]
 | 
						|
minversion = 3.18.0
 | 
						|
envlist = py3,pep8
 | 
						|
ignore_basepython_conflict = True
 | 
						|
 | 
						|
[testenv]
 | 
						|
usedevelop = True
 | 
						|
allowlist_externals =
 | 
						|
    find
 | 
						|
    rm
 | 
						|
install_command = pip install {opts} {packages}
 | 
						|
setenv =
 | 
						|
   PYTHONWARNINGS=default::DeprecationWarning
 | 
						|
deps =
 | 
						|
    -c{env:TOX_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
 | 
						|
    stestr run {posargs}
 | 
						|
    stestr slowest
 | 
						|
 | 
						|
[testenv:pep8]
 | 
						|
commands = flake8
 | 
						|
           # RST linter
 | 
						|
           doc8 doc/source octaviaclient HACKING.rst README.rst \
 | 
						|
           CONTRIBUTING.rst
 | 
						|
           # Run security linter
 | 
						|
           {[testenv:bandit]commands}
 | 
						|
           {toxinidir}/tools/coding-checks.sh --pylint {posargs}
 | 
						|
allowlist_externals =
 | 
						|
  sh
 | 
						|
  find
 | 
						|
  bash
 | 
						|
  {toxinidir}/tools/coding-checks.sh
 | 
						|
 | 
						|
[testenv:venv]
 | 
						|
commands = {posargs}
 | 
						|
 | 
						|
[testenv:cover]
 | 
						|
setenv =
 | 
						|
  {[testenv]setenv}
 | 
						|
  PYTHON=coverage run --source octaviaclient --parallel-mode
 | 
						|
allowlist_externals =
 | 
						|
  find
 | 
						|
commands =
 | 
						|
  find octaviaclient -type f -name "*.pyc" -delete
 | 
						|
  coverage erase
 | 
						|
  stestr run {posargs}
 | 
						|
  coverage combine
 | 
						|
  coverage html -d cover
 | 
						|
  coverage xml -o cover/coverage.xml
 | 
						|
  coverage report --fail-under=90 --skip-covered
 | 
						|
 | 
						|
[testenv:docs]
 | 
						|
deps =
 | 
						|
  -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
 | 
						|
  -r{toxinidir}/doc/requirements.txt
 | 
						|
commands =
 | 
						|
  rm -rf doc/build/html
 | 
						|
  sphinx-build -W -b html doc/source doc/build/html
 | 
						|
 | 
						|
[testenv:pdf-docs]
 | 
						|
deps = {[testenv:docs]deps}
 | 
						|
allowlist_externals =
 | 
						|
  make
 | 
						|
  rm
 | 
						|
commands =
 | 
						|
  rm -rf doc/build/pdf
 | 
						|
  sphinx-build -W -b latex doc/source doc/build/pdf
 | 
						|
  make -C doc/build/pdf
 | 
						|
 | 
						|
[testenv:releasenotes]
 | 
						|
deps =
 | 
						|
  -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
 | 
						|
  -r{toxinidir}/doc/requirements.txt
 | 
						|
commands =
 | 
						|
  rm -rf releasenotes/build
 | 
						|
  sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
 | 
						|
 | 
						|
[testenv:debug]
 | 
						|
passenv = OS_*
 | 
						|
commands =
 | 
						|
    pip install -q -U ipdb
 | 
						|
    oslo_debug_helper -t octaviaclient/tests {posargs}
 | 
						|
 | 
						|
[flake8]
 | 
						|
# [H104]: Empty file with only comments
 | 
						|
# [W504]: Line break after binary operator
 | 
						|
# [I202]: Additional newline in a group of imports.
 | 
						|
ignore = H104,W504,I202
 | 
						|
show-source = true
 | 
						|
builtins = _
 | 
						|
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build
 | 
						|
import-order-style = pep8
 | 
						|
# [H106]: Don't put vim configuration in source files
 | 
						|
# [H203]: Use assertIs(Not)None to check for None
 | 
						|
# [H204]: Use assert(Not)Equal to check for equality
 | 
						|
# [H205]: Use assert(Greater|Less)(Equal) for comparison
 | 
						|
# [H904]: Delay string interpolations at logging calls
 | 
						|
enable-extensions=H106,H203,H204,H205,H904
 | 
						|
 | 
						|
[testenv:bashate]
 | 
						|
commands = bash -c "find {toxinidir}             \
 | 
						|
         -not \( -type d -name .tox\* -prune \)  \
 | 
						|
         -not \( -type d -name .venv\* -prune \) \
 | 
						|
         -type f                                 \
 | 
						|
         -name \*.sh                             \
 | 
						|
# [E005]: File does not begin with #! or have a .sh prefix
 | 
						|
# [E006]: Check for lines longer than 79 columns
 | 
						|
# [E042]: Local declaration hides errors
 | 
						|
# [E043]: Arithmetic compound has inconsistent return semantics
 | 
						|
         -print0 | xargs -0 bashate -v -iE006 -eE005,E042,E043"
 | 
						|
 | 
						|
[flake8:local-plugins]
 | 
						|
extension =
 | 
						|
  O323 = checks:assert_equal_true_or_false
 | 
						|
  O324 = checks:no_mutable_default_args
 | 
						|
  O339 = checks:no_log_warn
 | 
						|
  O340 = checks:no_xrange
 | 
						|
  O341 = checks:no_translate_logs
 | 
						|
  O342 = checks:check_raised_localized_exceptions
 | 
						|
  O343 = checks:check_no_basestring
 | 
						|
  O345 = checks:check_no_eventlet_imports
 | 
						|
  O346 = checks:check_line_continuation_no_backslash
 | 
						|
paths =
 | 
						|
  ./octaviaclient/hacking
 | 
						|
 | 
						|
[testenv:requirements]
 | 
						|
deps =
 | 
						|
  -egit+https://opendev.org/openstack/requirements#egg=openstack-requirements
 | 
						|
allowlist_externals = sh
 | 
						|
commands =
 | 
						|
  sh -c '{envdir}/src/openstack-requirements/playbooks/files/project-requirements-change.py --req {envdir}/src/openstack-requirements --local {toxinidir} master'
 | 
						|
 | 
						|
[testenv:bandit]
 | 
						|
commands = bandit -r octaviaclient -ll -ii -x tests
 |