albailey cd0daf743e Attempt to get zuul and tox passing in this repo
Fix pylint by specifying a nodeset that contains
a python3 interpreter.  Switched the job to run py3.

This application needs to be installed into the virtualenv
in order for its entry points to be discoverable by
stevedore for the unit tests. However py27 fails to find
pbr during the sdist phase since the zuul node is running
a py35 virtualenv.

Disabling sdist should get pip to work. Other tox settings
should install it properly in the virtualenv.

Story: 2008943
Task: 43010
Signed-off-by: albailey <Al.Bailey@windriver.com>
Change-Id: I834a414f90d16d303c499e9ec3799ca5d02ca425
2021-08-13 08:33:53 -05:00

132 lines
3.5 KiB
INI

[tox]
envlist = flake8,py27,py36,pylint,bandit
minversion = 1.6
skipsdist = True
# tox does not work if the path to the workdir is too long, so move it to /tmp
toxworkdir = /tmp/{env:USER}_k8soidctox
stxdir = {toxinidir}/../../..
distshare={toxworkdir}/.tox/distshare
[testenv]
usedevelop = True
# usedevelop = True
# enabling usedevelop results in py27 develop-inst:
# Exception: Versioning for this project requires either an sdist tarball,
# or access to an upstream git repository.
# Note. site-packages is true and rpm-python must be yum installed on your dev machine.
#sitepackages = True
# tox is silly... these need to be separated by a newline....
whitelist_externals = bash
find
install_command = pip install \
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/stable/stein/upper-constraints.txt} \
{opts} {packages}
# Note the hash seed is set to 0 until can be tested with a
# random hash seed successfully.
setenv = VIRTUAL_ENV={envdir}
PYTHONHASHSEED=0
PYTHONDONTWRITEBYTECODE=1
OS_TEST_PATH=./k8sapp_oidc/tests
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_ALL=C
EVENTS_YAML=./k8sapp_oidc/tests/events_for_testing.yaml
SYSINV_TEST_ENV=True
TOX_WORK_DIR={toxworkdir}
PYLINTHOME={toxworkdir}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
install_runtime =
pip install \
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/stable/stein/upper-constraints.txt} \
-e {[tox]stxdir}/config/tsconfig/tsconfig \
-e {[tox]stxdir}/config/sysinv/sysinv/sysinv \
-e {[tox]stxdir}/fault/fm-api \
-e {[tox]stxdir}/fault/python-fmclient/fmclient \
-e {[tox]stxdir}/utilities/ceph/python-cephclient/python-cephclient \
-e {[tox]stxdir}/update/cgcs-patch/cgcs-patch
passenv =
XDG_CACHE_HOME
commands =
find . -type f -name "*.pyc" -delete
[flake8]
exclude = build,dist,tools,.eggs
max-line-length=120
[testenv:flake8]
basepython = python3
deps = -r{toxinidir}/test-requirements.txt
commands =
flake8 {posargs} .
[testenv:py27]
basepython = python2.7
commands =
{[testenv]install_runtime}
{[testenv]commands}
stestr run {posargs}
stestr slowest
[testenv:py36]
basepython = python3.6
commands =
{[testenv]install_runtime}
{[testenv]commands}
stestr run {posargs}
stestr slowest
[testenv:pep8]
# testenv:flake8 clone
basepython = {[testenv:flake8]basepython}
deps = {[testenv:flake8]deps}
commands = {[testenv:flake8]commands}
[testenv:venv]
commands = {posargs}
[bandit]
[testenv:bandit]
basepython = python3
deps = -r{toxinidir}/test-requirements.txt
commands = bandit --ini tox.ini -n 5 -r k8sapp_oidc
[testenv:pylint]
basepython = python3
commands =
{[testenv]install_runtime}
pylint {posargs} k8sapp_oidc --rcfile=./pylint.rc
[testenv:cover]
basepython = python2.7
deps = {[testenv]deps}
setenv = {[testenv]setenv}
PYTHON=coverage run --parallel-mode
commands =
{[testenv]commands}
coverage erase
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
coverage report
[testenv:pip-missing-reqs]
# do not install test-requirements as that will pollute the virtualenv for
# determining missing packages
# this also means that pip-missing-reqs must be installed separately, outside
# of the requirements.txt files
deps = pip_missing_reqs
-rrequirements.txt
commands=pip-missing-reqs -d --ignore-file=/k8sapp_oidc/tests k8sapp_oidc