[tox] minversion = 2.2 envlist = docs, pep8, py34, py35, py36, py27, cover skip_missing_interpreters = true [testenv] setenv = LANG=en_US.UTF-8 PYTHONDONTWRITEBYTECODE=1 SUBUNIT_FORMATTER=tee testr_subunit_log VIRTUAL_ENV={envdir} usedevelop = True install_command = pip install {opts} {packages} deps = -r{toxinidir}/test-requirements.txt # cleanup is needed mostly for dev environmnts and assures that if dev # is switching branch, no lefovers will impact execution. # No git commands here because test should run even from a source archive. commands = - find . -type f -name "*.pyc" -delete - find . -type d -name "__pycache__" -delete stestr run --slowest {posargs} whitelist_externals = bash find [testenv:tips] # tests what happens with unreleased version of dependencies, like python-jenkins install_command = pip install -U {opts} {packages} commands = bash -c "if [ -d {toxinidir}/../python-jenkins ]; then \ pip install -q -U -e 'git+file://{toxinidir}/../python-jenkins#egg=python-jenkins' ; else \ pip install -q -U -e 'git+https://git.openstack.org/openstack/python-jenkins@master#egg=python-jenkins' ; fi " stestr run --slowest {posargs} [testenv:cover] setenv = {[testenv]setenv} PYTHON=coverage run --source jenkins_jobs --parallel-mode commands = stestr run {posargs} coverage combine coverage html -d cover coverage xml -o cover/coverage.xml [testenv:pep8] commands = flake8 [testenv:pyflakes] deps = pyflakes commands = pyflakes jenkins_jobs tests setup.py [testenv:compare-xml-config] commands = jenkins-jobs {posargs:test -o .test/run-conf/default/out/ .test/run-conf/config/} [testenv:compare-xml-old] commands = jenkins-jobs test -o .test/old/out/ .test/old/config/ [testenv:compare-xml-new] commands = jenkins-jobs test -o .test/new/out/ .test/new/config/ [testenv:docs] commands = python setup.py build_sphinx {posargs} [testenv:docs-linkcheck] # If you are behind a proxy, for this test to work you will need to set # TOX_TESTENV_PASSENV="http_proxy https_proxy no_proxy ..." to pass # through the proxy environment settings to be able to validate any urls. commands = python setup.py build_sphinx -b linkcheck [testenv:venv] commands = {posargs} [flake8] # These are ignored intentionally in openstack-infra projects; please # don't submit patches that solely correct them or enable them. ignore = E125,E128,H show-source = True exclude = .virtualenv,.venv,.tox,dist,doc,build,*.egg,.test