Steve Piercy
2018-09-22 e22970cd21eb36c2a658c843bb5cb4f59d77fd19
tox.ini
@@ -1,90 +1,29 @@
[tox]
envlist =
    py26,py27,py32,py33,py34,pypy,pypy3,pep8,
    {py2,py3}-docs,
    py27,py34,py35,py36,py37,pypy,
    docs,pep8,
    {py2,py3}-cover,coverage,
skip_missing_interpreters = True
[testenv]
# Most of these are defaults but if you specify any you can't fall back
# to defaults for others.
basepython =
    py26: python2.6
    py27: python2.7
    py32: python3.2
    py33: python3.3
    py34: python3.4
    py35: python3.5
    py36: python3.6
    py37: python3.7
    pypy: pypy
    pypy3: pypy3
    py2: python2.7
    py3: python3.4
    py3: python3.5
commands =
    pip install pyramid[testing]
    pip install -q pyramid[testing]
    nosetests --with-xunit --xunit-file=nosetests-{envname}.xml {posargs:}
# 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:py2-cover]
commands =
    pip install pyramid[testing]
    coverage run --source=pyramid {envbindir}/nosetests
    coverage xml -o coverage-py2.xml
setenv =
    COVERAGE_FILE=.coverage.py2
[testenv:py3-cover]
commands =
    pip install pyramid[testing]
    coverage run --source=pyramid {envbindir}/nosetests
    coverage xml -o coverage-py3.xml
setenv =
    COVERAGE_FILE=.coverage.py3
[testenv:coverage]
basepython = python3.4
commands =
    coverage erase
    coverage combine
    coverage xml
    coverage report --show-missing --fail-under=100
deps =
    coverage
setenv =
    COVERAGE_FILE=.coverage
[testenv:py2-docs]
whitelist_externals = make
commands =
    pip install pyramid[docs]
    make -C docs html epub BUILDDIR={envdir}
[testenv:py3-docs]
whitelist_externals = make
commands =
    pip install pyramid[docs]
    make -C docs html epub BUILDDIR={envdir}
[testenv:py26-scaffolds]
basepython = python2.6
commands =
    python pyramid/scaffolds/tests.py
deps = virtualenv
[testenv:py27-scaffolds]
basepython = python2.6
commands =
    python pyramid/scaffolds/tests.py
deps = virtualenv
[testenv:py32-scaffolds]
basepython = python3.2
commands =
    python pyramid/scaffolds/tests.py
deps = virtualenv
[testenv:py33-scaffolds]
basepython = python3.4
basepython = python2.7
commands =
    python pyramid/scaffolds/tests.py
deps = virtualenv
@@ -95,21 +34,72 @@
    python pyramid/scaffolds/tests.py
deps = virtualenv
[testenv:py35-scaffolds]
basepython = python3.5
commands =
    python pyramid/scaffolds/tests.py
deps = virtualenv
[testenv:py36-scaffolds]
basepython = python3.6
commands =
    python pyramid/scaffolds/tests.py
deps = virtualenv
[testenv:pypy-scaffolds]
basepython = pypy
commands =
    python pyramid/scaffolds/tests.py
deps = virtualenv
[testenv:pypy3-scaffolds]
basepython = pypy3
commands =
    python pyramid/scaffolds/tests.py
deps = virtualenv
[testenv:pep8]
basepython = python3.4
basepython = python3.5
commands =
    flake8 pyramid/
deps =
    flake8
[testenv:docs]
basepython = python3.5
whitelist_externals = make
commands =
    pip install pyramid[docs]
    make -C docs doctest html epub BUILDDIR={envdir} "SPHINXOPTS=-W -E"
[testenv:pdf]
basepython = python3.5
whitelist_externals = make
commands =
    pip install pyramid[docs]
    make -C docs latexpdf BUILDDIR={envdir} "SPHINXOPTS=-W -E"
# 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:py2-cover]
commands =
    pip install -q pyramid[testing]
    coverage run --source=pyramid {envbindir}/nosetests
    coverage xml -o coverage-py2.xml
setenv =
    COVERAGE_FILE=.coverage.py2
[testenv:py3-cover]
commands =
    pip install -q pyramid[testing]
    coverage run --source=pyramid {envbindir}/nosetests
    coverage xml -o coverage-py3.xml
setenv =
    COVERAGE_FILE=.coverage.py3
[testenv:coverage]
basepython = python3.5
commands =
    coverage erase
    coverage combine
    coverage xml
    coverage report --show-missing --fail-under=100
deps =
    coverage
setenv =
    COVERAGE_FILE=.coverage