watcher-dashboard/tox.ini
manchandavishal 553c089d09 Adjust tox.ini for tox4
OpenStack CI now uses tox4 by default.

- Drop "skipsdist = True".
  When skipsdist=True is specified, a target application is not
  installed into a tox env, but there seems no reason to do so.
  In various other OpenStack projects, a target applicatin needs
  to be installed into a tox vnev, for example, in docs and/or
  linter jobs and it causes failures with tox4. So dropping it
  would avoid potential future failures.
- Add ignore_basepython_conflict = True to tox.ini
  With latest tox (>4.0.15) python version conflicted with base
  python. Adding ignore_basepython_conflict = True solves this
  issue.

Change-Id: Id25cde435e9eaf6d5d2573d522cda763dad1a89b
2023-01-16 18:52:53 +05:30

80 lines
2.3 KiB
INI

[tox]
minversion = 3.18.0
envlist = py3,pep8
# Automatic envs (pyXX) will only use the python version appropriate to that
# env and ignore basepython inherited from [testenv] if we set
# ignore_basepython_conflict.
ignore_basepython_conflict = True
[testenv]
basepython = python3
usedevelop = True
setenv = VIRTUAL_ENV={envdir}
DJANGO_SETTINGS_MODULE=watcher_dashboard.test.settings
# Note the hash seed is set to 0 until horizon can be tested with a
# random hash seed successfully.
PYTHONHASHSEED=0
allowlist_externals = /bin/bash
rm
find
install_command = pip install -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} {opts} {packages}
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands =
rm -f .testrepository/times.dbm
find . -type f -name "*.pyc" -delete
find . -type d -name "__pycache__" -delete
python manage.py test --settings=watcher_dashboard.test.settings \
--exclude-tag integration \
watcher_dashboard
[testenv:pep8]
commands = flake8
[testenv:venv]
commands = {posargs}
[testenv:releasenotes]
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees --keep-going -b html releasenotes/source releasenotes/build/html
[testenv:cover]
commands =
coverage erase
coverage run --source watcher_dashboard {toxinidir}/manage.py test \
--settings=watcher_dashboard.test.settings \
--exclude-tag integration watcher_dashboard {posargs}
coverage xml
coverage html -d ./cover --omit='*tests*'
coverage report
[testenv:docs]
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/doc/requirements.txt
commands = sphinx-build -W -b html doc/source doc/build/html
[testenv:pdf-docs]
envdir = {toxworkdir}/docs
deps = {[testenv:docs]deps}
allowlist_externals =
rm
make
commands =
rm -rf doc/build/pdf
sphinx-build -W --keep-going -b latex doc/source doc/build/pdf
make -C doc/build/pdf
[testenv:debug]
commands = oslo_debug_helper {posargs}
[flake8]
# F405 TEMPLATES may be undefined, or defined from star imports
# (because it is not easy to avoid this in openstack_dashboard.test.settings)
# W504 line break after binary operator
ignore = F405,W504
show-source = True
builtins = _
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,.ropeproject,tools