138 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
			
		
		
	
	
			138 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
[tox]
 | 
						|
minversion = 4.4.0
 | 
						|
envlist = py3,functional,pep8
 | 
						|
 | 
						|
[testenv]
 | 
						|
constrain_package_deps = true
 | 
						|
usedevelop = True
 | 
						|
setenv =
 | 
						|
  VIRTUAL_ENV={envdir}
 | 
						|
  PYTHONDONTWRITEBYTECODE = 1
 | 
						|
  OS_TEST_PATH=./ironic_python_agent/tests/unit
 | 
						|
  OS_LOG_CAPTURE={env:OS_LOG_CAPTURE:true}
 | 
						|
  LANGUAGE=en_US
 | 
						|
  LC_ALL=en_US.utf-8
 | 
						|
  TOX_CONSTRAINTS_FILE=upper-constraints.txt
 | 
						|
deps =
 | 
						|
  -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
 | 
						|
  -r{toxinidir}/requirements.txt
 | 
						|
  -r{toxinidir}/test-requirements.txt
 | 
						|
commands = stestr run {posargs}
 | 
						|
passenv =
 | 
						|
    http_proxy
 | 
						|
    HTTP_PROXY
 | 
						|
    https_proxy
 | 
						|
    HTTPS_PROXY
 | 
						|
    no_proxy
 | 
						|
    NO_PROXY
 | 
						|
 | 
						|
[testenv:codespell]
 | 
						|
description =
 | 
						|
  Run codespell to check spelling
 | 
						|
deps = codespell
 | 
						|
# note(JayF): {posargs} lets us run `tox -ecodespell -- -w` to get codespell
 | 
						|
#             to correct spelling issues in our code it's aware of.
 | 
						|
commands =
 | 
						|
  codespell {posargs}
 | 
						|
 | 
						|
[testenv:functional]
 | 
						|
# Define virtualenv directory, port to use for functional testing, and number
 | 
						|
# of seconds to wait for the agent to come alive during functional testing.
 | 
						|
setenv =
 | 
						|
  VIRTUAL_ENV={envdir}
 | 
						|
  PYTHONDONTWRITEBYTECODE = 1
 | 
						|
  OS_TEST_PATH=./ironic_python_agent/tests/functional
 | 
						|
  TEST_PORT=9999
 | 
						|
  IPA_WAIT_TRIES=100
 | 
						|
commands = stestr run {posargs}
 | 
						|
 | 
						|
[testenv:pep8]
 | 
						|
deps = pre-commit
 | 
						|
allowlist_externals = pre-commit
 | 
						|
commands = pre-commit run --all-files --show-diff-on-failure {posargs}
 | 
						|
 | 
						|
[testenv:cover]
 | 
						|
setenv = VIRTUAL_ENV={envdir}
 | 
						|
         PYTHON=coverage run --source ironic_python_agent --omit='*tests*' --parallel-mode
 | 
						|
commands =
 | 
						|
  coverage erase
 | 
						|
  stestr run {posargs}
 | 
						|
  coverage combine
 | 
						|
  coverage report --omit='*tests*'
 | 
						|
  coverage html -d ./cover --omit='*tests*'
 | 
						|
 | 
						|
[testenv:venv]
 | 
						|
setenv = PYTHONHASHSEED=0
 | 
						|
commands = {posargs:}
 | 
						|
 | 
						|
[testenv:debug]
 | 
						|
commands = oslo_debug_helper -t ironic_python_agent/tests/unit {posargs}
 | 
						|
 | 
						|
[testenv:docs]
 | 
						|
setenv = PYTHONHASHSEED=0
 | 
						|
sitepackages = False
 | 
						|
# NOTE(dtantsur): documentation building process requires importing IPA
 | 
						|
deps =
 | 
						|
  -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
 | 
						|
  -r{toxinidir}/requirements.txt
 | 
						|
  -r{toxinidir}/doc/requirements.txt
 | 
						|
commands =
 | 
						|
  sphinx-build -b html doc/source doc/build/html
 | 
						|
 | 
						|
[testenv:pdf-docs]
 | 
						|
allowlist_externals = make
 | 
						|
setenv = PYTHONHASHSEED=0
 | 
						|
sitepackages = False
 | 
						|
deps = {[testenv:docs]deps}
 | 
						|
commands =
 | 
						|
  sphinx-build -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 = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
 | 
						|
 | 
						|
[flake8]
 | 
						|
# [E129] visually indented line with same indent as next logical line.
 | 
						|
# [W503] Line break before binary operator.
 | 
						|
ignore = E129,W503
 | 
						|
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build,tools,imagebuild/tinyipa/tinyipafinal,imagebuild/tinyipa/tinyipabuild
 | 
						|
import-order-style = pep8
 | 
						|
application-import-names = ironic_python_agent
 | 
						|
# [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.
 | 
						|
# [H210] Require 'autospec', 'spec', or 'spec_set' in mock.patch/mock.patch.object calls
 | 
						|
# [H904] Delay string interpolations at logging calls.
 | 
						|
enable-extensions=H106,H203,H204,H205,H210,H904
 | 
						|
 | 
						|
[hacking]
 | 
						|
import_exceptions = ironic.openstack.common.gettextutils._,testtools.matchers
 | 
						|
 | 
						|
[testenv:checkconfig]
 | 
						|
sitepackages = False
 | 
						|
commands =
 | 
						|
  {toxinidir}/tools/config/check_uptodate.sh
 | 
						|
 | 
						|
[testenv:genconfig]
 | 
						|
sitepackages = False
 | 
						|
allowlist_externals = mkdir
 | 
						|
commands =
 | 
						|
  mkdir -p etc/ironic_python_agent
 | 
						|
  oslo-config-generator --config-file=tools/config/ipa-config-generator.conf
 | 
						|
 | 
						|
[testenv:bandit]
 | 
						|
deps =
 | 
						|
  -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
 | 
						|
  -r{toxinidir}/test-requirements.txt
 | 
						|
commands = bandit -r ironic_python_agent -x tests -n5 -ll -c tools/bandit.yml
 | 
						|
 | 
						|
[testenv:examples]
 | 
						|
commands =
 | 
						|
  pip install -e {toxinidir}/examples/business-logic
 | 
						|
  pip install -e {toxinidir}/examples/vendor-device
 | 
						|
  python -c 'import example_business_logic; import example_device'
 |