[tox] envlist = py37,py36,py35,py27,pypy,pep8 minversion = 2.0 skipsdist = True [testenv] usedevelop = True install_command = python -m pip install -U {opts} {packages} list_dependencies_command = python -m pip freeze setenv = LANG=en_US.utf-8 VIRTUAL_ENV={envdir} deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt .[keystone] commands = sh -c '(find . -not \( -type d -name .?\* -prune \) \ \( -type d -name "__pycache__" -or -type f -name "*.py[co]" \) \ -print0) | xargs -0 rm -rf' stestr run {posargs} whitelist_externals = sh passenv = SWIFT_* *_proxy [testenv:pep8] basepython = python3 commands = python -m flake8 swiftclient tests [testenv:venv] basepython = python3 commands = {posargs} [testenv:cover] basepython = python3 setenv = PYTHON=coverage run --source swiftclient --parallel-mode commands = stestr run coverage combine coverage html -d cover coverage xml -o cover/coverage.xml coverage report [testenv:func] basepython = python3 setenv = OS_TEST_PATH=tests.functional PYTHON=coverage run --source swiftclient --parallel-mode whitelist_externals = coverage rm commands = stestr run --concurrency=1 coverage combine coverage html -d cover coverage xml -o cover/coverage.xml coverage report -m rm -f .coverage [testenv:py2func] basepython=python2 setenv = {[testenv:func]setenv} whitelist_externals = {[testenv:func]whitelist_externals} commands = {[testenv:func]commands} [testenv:docs] basepython = python3 usedevelop = False deps = -r{toxinidir}/doc/requirements.txt commands= python setup.py build_sphinx -W [flake8] # it's not a bug that we aren't using all of hacking, ignore: # H101: Use TODO(NAME) # H301: one import per line # H306: imports not in alphabetical order (time, os) # H401: docstring should not start with a space # H403: multi line docstrings should end on a new line # H404: multi line docstring should start without a leading new line # H405: multi line docstring summary not separated with an empty line ignore = E731,H101,H301,H306,H401,H403,H404,H405 show-source = True exclude = .venv,.tox,dist,doc,*egg [testenv:bindep] basepython = python3 # 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. usedevelop = False deps = bindep commands = bindep test [testenv:releasenotes] basepython = python3 usedevelop = False deps = -r{toxinidir}/doc/requirements.txt commands = sphinx-build -a -W -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html [testenv:lower-constraints] basepython = python3 deps = -c{toxinidir}/lower-constraints.txt -r{toxinidir}/test-requirements.txt .[keystone]