summaryrefslogtreecommitdiff
path: root/tox.ini
blob: 8062febe6a759415668ecc4d096e9d79361c72bd (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
[tox]
minversion = 1.6
envlist = py26,py27,py33,pep8
skipsdist = True

[testenv]
sitepackages = True
usedevelop = True
install_command = pip install -U {opts} {packages}
# Note the hash seed is set to 0 until nova can be tested with a
# random hash seed successfully.
setenv = VIRTUAL_ENV={envdir}
         LANG=en_US.UTF-8
         LANGUAGE=en_US:en
         LC_ALL=C
         PYTHONHASHSEED=0
deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
commands =
  python tools/patch_tox_venv.py
  python setup.py test --slowest --testr-args='{posargs}'

[tox:jenkins]
sitepackages = True
downloadcache = ~/cache/pip

[testenv:pep8]
sitepackages = False
commands =
  flake8 {posargs}
  {toxinidir}/tools/config/check_uptodate.sh

[testenv:pylint]
commands = bash tools/lintstack.sh

[testenv:cover]
# Also do not run test_coverage_ext tests while gathering coverage as those
# tests conflict with coverage.
commands =
  python tools/patch_tox_venv.py
  python setup.py testr --coverage \
    --testr-args='^(?!.*test.*coverage).*$'

[testenv:venv]
commands = {posargs}

[flake8]
# E712 is ignored on purpose, since it is normal to use 'column == true'
#      in sqlalchemy.
# H803  skipped on purpose per list discussion.
# TODO Hacking 0.6 checks to fix
# H102  Apache 2.0 license header not found

ignore = E121,E122,E123,E124,E126,E127,E128,E711,E712,H102,H404,F403,F811,F841,H803
exclude =  .venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,tools

[hacking]
local-check-factory = nova.hacking.checks.factory
import_exceptions = nova.openstack.common.gettextutils._