forked from apache/libcloud
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tox.ini
109 lines (100 loc) · 3.39 KB
/
tox.ini
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
[tox]
envlist = py{2.6,2.7,pypy,pypy3,3.3,3.4,3.5,3.6},lint,pylint,integration
[testenv]
passenv = TRAVIS TRAVIS_JOB_ID TRAVIS_BRANCH
deps =
-r{toxinidir}/requirements-tests.txt
lockfile
py{2.6,2.7}: paramiko
py{2.6}: unittest2
set-env =
COVERALLS_REPO_TOKEN = GAB5ZuovdsVEFxSIyZE8YhDYU886iGW54
commands = cp libcloud/test/secrets.py-dist libcloud/test/secrets.py
python setup.py test
# coverage run --source=libcloud setup.py test
# coveralls
basepython =
py2.6: python2.6
{py2.7,lint,pylint,docs}: python2.7
pypypy: pypy
pypypy3: pypy3
py3.3: python3.3
py3.4: python3.4
py3.5: python3.5
py3.6: python3.6
whitelist_externals = cp
# Explicitly spell out all environments to test with builtin xml and lxml,
# as it seems I can't use the following:
# [testenv:py{2.5,2.6,2.7,pypy,pypy3,3.2,3.3,3.4,3.5,3.6}-lxml]
[testenv:py2.6-lxml]
deps = -r{toxinidir}/requirements-tests.txt
unittest2
paramiko
lxml
[testenv:py2.7-lxml]
deps = -r{toxinidir}/requirements-tests.txt
lxml
[testenv:pypypy-lxml]
deps = -r{toxinidir}/requirements-tests.txt
lxml
[testenv:pypypy3-lxml]
deps = -r{toxinidir}/requirements-tests.txt
lxml
[testenv:py3.3-lxml]
deps = -r{toxinidir}/requirements-tests.txt
lxml
[testenv:py3.4-lxml]
deps = -r{toxinidir}/requirements-tests.txt
lxml
[testenv:py3.5-lxml]
deps = -r{toxinidir}/requirements-tests.txt
lxml
[testenv:py3.6-lxml]
deps = -r{toxinidir}/requirements-tests.txt
lxml
[testenv:docs]
deps = sphinx
pysphere
backports.ssl_match_hostname
changedir = docs
commands = python ../contrib/generate_provider_feature_matrix_table.py
sphinx-apidoc -d 4 ../libcloud/ -o apidocs/
sphinx-build -W -b html -d {envtmpdir}/doctrees . _build/html
[testenv:docs-travis]
# Note: We don't build API docs on Travis since it causes build failures because
# those API docs files are not included anywhere.
deps = sphinx
pysphere
backports.ssl_match_hostname
changedir = docs
commands = python ../contrib/generate_provider_feature_matrix_table.py
sphinx-build -W -b html -d {envtmpdir}/doctrees . _build/html
[testenv:scrape-ec2-prices]
deps = requests
demjson
commands = python contrib/scrape-ec2-prices.py
[testenv:pylint]
deps = -r{toxinidir}/requirements-tests.txt
backports.ssl_match_hostname
bottle
commands = pylint -E --rcfile=./.pylintrc libcloud/common/
pylint -E --rcfile=./.pylintrc libcloud/container/
pylint -E --rcfile=./.pylintrc libcloud/backup/
pylint -E --rcfile=./.pylintrc libcloud/dns/
pylint -E --rcfile=./.pylintrc libcloud/storage/
pylint -E --rcfile=./.pylintrc libcloud/utils/
pylint -E --rcfile=./.pylintrc demos/
pylint -E --rcfile=./.pylintrc contrib/
[testenv:lint]
deps = -r{toxinidir}/requirements-tests.txt
backports.ssl_match_hostname
commands = flake8 --ignore=E402 --exclude="test" libcloud/
flake8 --ignore=E402 --max-line-length=160 libcloud/test/
flake8 --ignore=E402 demos/
flake8 --ignore=E402 integration/
flake8 --ignore=E402,E902 docs/examples/
flake8 --ignore=E402,E902 --max-line-length=160 contrib/
python -mjson.tool libcloud/data/pricing.json
[testenv:integration]
deps = -r{toxinidir}/integration/requirements.txt
commands = python -m integration