/ tox.ini
tox.ini
 1  # Tox (http://tox.testrun.org/) is a tool for running tests in
 2  # multiple virtualenvs. To use it, "pip install tox" and then run
 3  # "tox" from this directory.
 4  
 5  [tox]
 6  # acme and letsencrypt are not yet on pypi, so when Tox invokes
 7  # "install *.zip", it will not find deps
 8  skipsdist = true
 9  envlist = py26,py27,py33,py34,cover,lint
10  
11  # nosetest -v => more verbose output, allows to detect busy waiting
12  # loops, especially on Travis
13  
14  [testenv]
15  # packages installed separately to ensure that dowstream deps problems
16  # are detected, c.f. #1002
17  commands =
18      pip install -e acme[testing]
19      nosetests -v acme
20      pip install -r requirements.txt -e .[testing]
21      nosetests -v letsencrypt
22      pip install -e letsencrypt-apache
23      nosetests -v letsencrypt_apache
24      pip install -e letsencrypt-nginx
25      nosetests -v letsencrypt_nginx
26      pip install -e letshelp-letsencrypt
27      nosetests -v letshelp_letsencrypt
28  
29  setenv =
30      PYTHONPATH = {toxinidir}
31      PYTHONHASHSEED = 0
32  # https://testrun.org/tox/latest/example/basic.html#special-handling-of-pythonhas
33  
34  [testenv:py33]
35  commands =
36      pip install -e acme[testing]
37      nosetests -v acme
38  
39  [testenv:py34]
40  commands =
41      pip install -e acme[testing]
42      nosetests -v acme
43  
44  [testenv:cover]
45  basepython = python2.7
46  commands =
47      pip install -r requirements.txt -e acme -e .[testing] -e letsencrypt-apache -e letsencrypt-nginx -e letshelp-letsencrypt
48      ./tox.cover.sh
49  
50  [testenv:lint]
51  # recent versions of pylint do not support Python 2.6 (#97, #187)
52  basepython = python2.7
53  # separating into multiple invocations disables cross package
54  # duplicate code checking; if one of the commands fails, others will
55  # continue, but tox return code will reflect previous error
56  commands =
57      pip install -r requirements.txt -e acme -e .[dev] -e letsencrypt-apache -e letsencrypt-nginx -e letsencrypt-compatibility-test -e letshelp-letsencrypt
58      ./pep8.travis.sh
59      pylint --rcfile=.pylintrc letsencrypt
60      pylint --rcfile=.pylintrc acme/acme
61      pylint --rcfile=.pylintrc letsencrypt-apache/letsencrypt_apache
62      pylint --rcfile=.pylintrc letsencrypt-nginx/letsencrypt_nginx
63      pylint --rcfile=.pylintrc letsencrypt-compatibility-test/letsencrypt_compatibility_test
64      pylint --rcfile=.pylintrc letshelp-letsencrypt/letshelp_letsencrypt