gear/tox.ini
Clark Boylan 97d2061226 Update gear to python3.11 and Bookworm container
This is motivated by OpenDev's desire to drop the old Bullseye container
images as well as container images for older versions of python. We bump
testing to python3.11 on the high end of the range and convert the
container image to python3.11 + Bookworm.

Python 2.7 testing is removed because tox + virtualenv can't actually
create python2.7 virtualenvs any longer. There are workarounds but
dropping the tests is simpler.

Python 3.5 testing is replaced with 3.6 testing beacuse the version of
easy_install on ubuntu xenial does not understand TLS + SNI. A while
back pypi.org dropped non SNI connection support which means we can't
install PBR for to run the setup.py for the projcet. There are
workarounds but 3.5 is old enough taht we should be able to move on.

Change-Id: I2f2a2d0cf71c69d7babd6df9bfdb41a759e9c0ee
2023-09-20 15:12:18 -07:00

54 lines
1.3 KiB
INI

[tox]
minversion = 1.6
envlist = py3,py27,linters
ignore_basepython_conflict = true
[testenv]
setenv = VIRTUAL_ENV={envdir}
basepython = python3
install_command = pip install {opts} {packages}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
allowlist_externals = bash
commands =
bash -c "[ -d .testrepository ] || testr init"
testr run -- {posargs}
testr slowest
[tox:jenkins]
sitepackages = True
[testenv:linters]
commands = flake8
[testenv:cover]
setenv = VIRTUAL_ENV={envdir}
allowlist_externals = bash
commands =
bash -c "[ -d .testrepository ] || testr init"
testr --coverage
[testenv:venv]
commands = {posargs}
[flake8]
exclude = .venv,.tox,dist,doc,*.egg
show-source = true
# E123, E125, E129 and H ignored intentionally in this code-base
ignore = E123,E125,E129,E741,W504,H
[testenv:docs]
basepython = python3
deps =
-r{toxinidir}/doc/requirements.txt
commands =
sphinx-build -E -W -d doc/build/doctrees -b html doc/source/ doc/build/html
[testenv:bindep]
# Do not install any requirements. We want this to be fast and work even if
# system dependencies are missing, since it's used to tell you what system
# dependencies are missing! This also means that bindep must be installed
# separately, outside of the requirements files.
deps = bindep
commands = bindep test