summaryrefslogtreecommitdiff
path: root/tox.ini
blob: 0dae17e0f2ef1b1e5c9878dd5db2d0c17dfc4230 (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
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
[tox]
envlist =
    lint,
    py34,py35,py36,py37,py38,pypy3,
    docs,py36-cover,coverage,

[testenv]
# Most of these are defaults but if you specify any you can't fall back
# to defaults for others.
basepython =
    py34: python3.4
    py35: python3.5
    py36: python3.6
    py37: python3.7
    py38: python3.8
    pypy3: pypy3

commands =
    nosetests --with-xunit --xunit-file=nosetests-{envname}.xml {posargs:}

extras =
    testing

[testenv:lint]
skip_install = true
basepython = python3.6
commands =
    flake8 src/pyramid tests setup.py
    black --check --diff src/pyramid tests setup.py
    python setup.py check -r -s -m
    check-manifest
deps =
    flake8
    black
    readme_renderer
    check-manifest

[testenv:docs]
# pin to 3.5 to match what RTD uses
basepython = python3.5
whitelist_externals = make
commands =
    make -C docs doctest html epub BUILDDIR={envdir} "SPHINXOPTS=-W -E"
extras =
    docs

[testenv:pdf]
basepython = python3.5
whitelist_externals = make
commands =
    make -C docs latexpdf BUILDDIR={envdir} "SPHINXOPTS=-W -E"
extras =
    docs

# we separate coverage into its own testenv because a) "last run wins" wrt
# cobertura jenkins reporting and b) pypy and jython can't handle any
# combination of versions of coverage and nosexcover that i can find.
[testenv:py36-cover]
basepython = python3.6
commands =
    coverage run {envbindir}/nosetests
    coverage xml -o coverage-{envname}.xml
setenv =
    COVERAGE_FILE=.coverage.{envname}
extras =
    testing

[testenv:coverage]
skip_install = true
basepython = python3.6
commands =
    coverage erase
    coverage combine
    coverage xml
    coverage report --fail-under=100
deps =
    coverage
setenv =
    COVERAGE_FILE=.coverage

[testenv:black]
skip_install = true
basepython = python3.6
commands =
    black src/pyramid tests setup.py
deps =
    black

[testenv:build]
skip_install = true
basepython = python3.6
commands =
    # clean up build/ and dist/ folders
    python -c 'import shutil; shutil.rmtree("dist", ignore_errors=True)'
    python setup.py clean --all
    # build sdist
    python setup.py sdist --dist-dir {toxinidir}/dist
    # build wheel from sdist
    pip wheel -v --no-deps --no-index --no-build-isolation --wheel-dir {toxinidir}/dist --find-links {toxinidir}/dist pyramid

deps =
    setuptools
    wheel