summaryrefslogtreecommitdiff
path: root/tox.ini
blob: da193c0ea67712085156d4070c001accef962c44 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
[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}