[tox] envlist = py27,pep8,cover,pylint minversion = 1.6 # tox does not work if the path to the workdir is too long, so move it to /tmp toxworkdir = /tmp/{env:USER}_inventoryclienttox cgcsdir = {toxinidir}/../../../.. distshare={toxworkdir}/.tox/distshare [testenv] setenv = VIRTUAL_ENV={envdir} PYTHONWARNINGS=default::DeprecationWarning OS_TEST_PATH=inventoryclient/tests TESTR_START_DIR=inventoryclient/tests basepython = python2.7 usedevelop = True install_command = pip install \ -U \ -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/stable/stein/upper-constraints.txt} \ {opts} {packages} deps = -r{toxinidir}/test-requirements.txt commands = find {toxinidir} -not -path '{toxinidir}/.tox/*' -name '*.py[c|o]' -delete python setup.py testr --slowest --testr-args='{posargs}' whitelist_externals = bash find rm passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY [testenv:pep8] commands = flake8 inventoryclient [testenv:venv] commands = {posargs} [testenv:cover] basepython = python2.7 commands = find . -type f -name ".coverage\.*" -delete rm -f .coverage rm -Rf cover rm -f coverage.xml python setup.py testr --coverage --testr-args='{posargs}' coverage xml [flake8] show-source = true exclude=.*,dist,*lib/python*,*egg,build max-complexity=25 # H102 Apache 2.0 license header not found # H233 Python 3.x incompatible use of print operator # H404 multi line docstring should start without a leading new line # H405 multi line docstring summary not separated with an empty line ignore = H102,H233,H404,H405 [testenv:pylint] basepython = python2.7 deps = {[testenv]deps} pylint commands = pylint {posargs} inventoryclient --rcfile=./pylint.rc --extension-pkg-whitelist=lxml.etree,greenlet --ignored-classes=LookupDict