Bowe Strickland
2018-10-27 6e49871feaa1a60549206cf5512c9fb7f3d5fd56
commit | author | age
69e0ec 1 [tox]
a9282d 2 envlist =
2ec353 3     lint,
e259f1 4     py27,py34,py35,py36,py37,py38,pypy,pypy3,
2ec353 5     docs,{py2,py3}-cover,coverage,
0c4c9f 6
69e0ec 7 [testenv]
a9282d 8 # Most of these are defaults but if you specify any you can't fall back
MM 9 # to defaults for others.
10 basepython =
11     py27: python2.7
12     py34: python3.4
cc9126 13     py35: python3.5
1941d2 14     py36: python3.6
568ce3 15     py37: python3.7
e259f1 16     py38: python3.8
a9282d 17     pypy: pypy
fa9992 18     pypy3: pypy3
a9282d 19     py2: python2.7
851c36 20     py3: python3.6
b555e9 21
a9282d 22 commands =
MM 23     nosetests --with-xunit --xunit-file=nosetests-{envname}.xml {posargs:}
0760eb 24
MM 25 extras =
26     testing
109b2a 27
aa1c9b 28 [testenv:py27-scaffolds]
4cd6cb 29 basepython = python2.7
aa1c9b 30 commands =
2d369c 31     python src/pyramid/scaffolds/tests.py
aa1c9b 32 deps = virtualenv
CM 33
34 [testenv:py34-scaffolds]
468054 35 basepython = python3.4
109b2a 36 commands =
2d369c 37     python src/pyramid/scaffolds/tests.py
109b2a 38 deps = virtualenv
CM 39
aa52c5 40 [testenv:py35-scaffolds]
MM 41 basepython = python3.5
42 commands =
2d369c 43     python src/pyramid/scaffolds/tests.py
aa52c5 44 deps = virtualenv
MM 45
0844c6 46 [testenv:py36-scaffolds]
MM 47 basepython = python3.6
48 commands =
2d369c 49     python src/pyramid/scaffolds/tests.py
0844c6 50 deps = virtualenv
MM 51
e259f1 52 [testenv:py37-scaffolds]
SP 53 basepython = python3.7
54 commands =
2d369c 55     python src/pyramid/scaffolds/tests.py
e259f1 56 deps = virtualenv
SP 57
109b2a 58 [testenv:pypy-scaffolds]
CM 59 basepython = pypy
60 commands =
2d369c 61     python src/pyramid/scaffolds/tests.py
109b2a 62 deps = virtualenv
b47e90 63
2ec353 64 [testenv:lint]
17e3ab 65 skip_install = true
851c36 66 basepython = python3.6
b47e90 67 commands =
851c36 68     flake8 src/pyramid tests setup.py
MM 69     black --check --diff src/pyramid tests setup.py
e42ba5 70     python setup.py check -r -s -m
MM 71     check-manifest
72 deps =
2ec353 73     flake8
851c36 74     black
e42ba5 75     readme_renderer
MM 76     check-manifest
77
a708d3 78 [testenv:docs]
964e30 79 # pin to 3.5 to match what RTD uses
a708d3 80 basepython = python3.5
MM 81 whitelist_externals = make
82 commands =
0fec6d 83     make -C docs doctest html epub BUILDDIR={envdir} "SPHINXOPTS=-W -E"
0760eb 84 extras =
MM 85     docs
a708d3 86
9cd1d1 87 [testenv:pdf]
SP 88 basepython = python3.5
89 whitelist_externals = make
90 commands =
91     make -C docs latexpdf BUILDDIR={envdir} "SPHINXOPTS=-W -E"
0760eb 92 extras =
MM 93     docs
9cd1d1 94
a708d3 95 # we separate coverage into its own testenv because a) "last run wins" wrt
MM 96 # cobertura jenkins reporting and b) pypy and jython can't handle any
97 # combination of versions of coverage and nosexcover that i can find.
98 [testenv:py2-cover]
99 commands =
2e7a9a 100     coverage run {envbindir}/nosetests
a708d3 101     coverage xml -o coverage-py2.xml
MM 102 setenv =
103     COVERAGE_FILE=.coverage.py2
0760eb 104 extras =
MM 105     testing
a708d3 106
MM 107 [testenv:py3-cover]
108 commands =
2e7a9a 109     coverage run {envbindir}/nosetests
a708d3 110     coverage xml -o coverage-py3.xml
MM 111 setenv =
112     COVERAGE_FILE=.coverage.py3
0760eb 113 extras =
MM 114     testing
a708d3 115
MM 116 [testenv:coverage]
17e3ab 117 skip_install = true
851c36 118 basepython = python3.6
a708d3 119 commands =
MM 120     coverage erase
121     coverage combine
122     coverage xml
2e7a9a 123     coverage report --fail-under=100
a708d3 124 deps =
MM 125     coverage
126 setenv =
127     COVERAGE_FILE=.coverage
17e3ab 128
851c36 129 [testenv:black]
MM 130 skip_install = true
131 basepython = python3.6
132 commands =
133     black src/pyramid tests setup.py
134 deps =
135     black
136
17e3ab 137 [testenv:build]
MM 138 skip_install = true
139 basepython = python3.6
140 commands =
141     # clean up build/ and dist/ folders
142     python -c 'import shutil; shutil.rmtree("dist", ignore_errors=True)'
143     python setup.py clean --all
144     # build sdist
145     python setup.py sdist --dist-dir {toxinidir}/dist
146     # build wheel from sdist
f871d9 147     pip wheel -v --no-deps --no-index --no-build-isolation --wheel-dir {toxinidir}/dist --find-links {toxinidir}/dist pyramid
17e3ab 148
MM 149 deps =
150     setuptools
151     wheel