[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 # test that we can call jjb using both variants with same results bash {toxinidir}/tools/test-commands.sh 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] basepython = python3 commands = python -m pre_commit run --all [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}