[tox] envlist = 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 = py27: python2.7 py34: python3.4 py35: python3.5 py36: python3.6 py37: python3.7 pypy: pypy py2: python2.7 py3: python3.5 commands = pip install -q pyramid[testing] nosetests --with-xunit --xunit-file=nosetests-{envname}.xml {posargs:} [testenv:py27-scaffolds] basepython = python2.7 commands = python pyramid/scaffolds/tests.py deps = virtualenv [testenv:py34-scaffolds] basepython = python3.4 commands = 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:pep8] 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