summaryrefslogtreecommitdiffstats
path: root/conductor/tox.ini
blob: bd9de98ebbe7bcdaea0a493389d1e0b81ecf0107 (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
[tox]
minversion = 1.6
skipsdist = True
#envlist = py35,py27,functional,pep8
envlist = py3,pep8,pep8diff
[testenv]
basepython=python3
deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
install_command = pip install --no-cache-dir -U {opts} {packages}
usedevelop = True
setenv = VIRTUAL_ENV={envdir}
         OS_TEST_PATH=conductor/tests/unit
passenv = OS_TEST_TIMEOUT OS_STDOUT_CAPTURE OS_STDERR_CAPTURE OS_LOG_CAPTURE
commands =
  coverage run --module pytest --junitxml xunit-results.xml
  oslo-config-generator --config-file=etc/conductor/conductor-config-generator.conf
whitelist_externals = bash
                      find

[testenv:functional]
setenv = VIRTUAL_ENV={envdir}
         OS_TEST_PATH=conductor/tests/functional/
passenv = CONDUCTOR_*
commands =
   bash -x {toxinidir}/run-functional-tests.sh "{posargs}"

[testenv:cover]
setenv = VIRTUAL_ENV={envdir}
         LANGUAGE=en_US
         OS_TEST_PATH=conductor/tests/unit
         PYTHON=coverage run --source conductor --omit='*tests*' --parallel-mode
commands =
   coverage erase
   find . -type f -name "*.pyc" -delete
   find . -type f -name ".coverage.*" -delete
   coverage run --module pytest --junitxml xunit-results.xml
   coverage html -d cover
   coverage xml -o cover/coverage.xml
   coverage report --omit=".tox/*","conductor/tests/*"

[testenv:pep8]
deps = hacking>=2.0.0
commands =
  flake8 --exit-zero

[testenv:pep8diff]
deps = hacking>=2.0.0
commands =
  bash -c "files=$(git diff HEAD^ HEAD --relative --diff-filter=d --name-only | grep -E '(^conductor\/)'| grep -E '*\.py$'); if [[ -z $files ]]; then exit 0; else flake8 $files; fi"

[testenv:genconfig]
commands = oslo-config-generator --config-file=etc/conductor/conductor-config-generator.conf

[testenv:venv]
commands = {posargs}
setenv = PYTHONHASHSEED=0

[testenv:debug]
commands = bash -x oslo_debug_helper {posargs}

[flake8]
select = E,H,W,F
max-line-length = 119
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build,install-guide,*/tests/*,__init__.py,conductor/data/service.py
show-source = True
ignore = W503   #conflict with W504
per-file-ignores = conductor/data/plugins/inventory_provider/aai.py:F821

[hacking]
import_exceptions = conductor.common.i18n