update travis/tox to support py35 and coverage on py2+py3

This commit is contained in:
Michael Merickel
2016-01-15 20:16:18 -06:00
parent b1b6509cb6
commit d59c27652c
2 changed files with 77 additions and 25 deletions

View File

@@ -2,16 +2,28 @@
language: python language: python
sudo: false sudo: false
env: matrix:
- TOXENV=py26 include:
- TOXENV=py27 - python: 2.6
- TOXENV=py32 env: TOXENV=py26
- TOXENV=py33 - python: 2.7
- TOXENV=py34 env: TOXENV=py27
- TOXENV=py35 - python: 3.2
- TOXENV=pypy env: TOXENV=py32
- TOXENV=pypy3 - python: 3.3
- TOXENV=cover env: TOXENV=py33
- python: 3.4
env: TOXENV=py34
- python: 3.5
env: TOXENV=py35
- python: pypy
env: TOXENV=pypy
- python: pypy3
env: TOXENV=pypy3
- python: 3.5
env: TOXENV=py2-cover,py3-cover,coverage
- python: 3.5
env: TOXENV=docs
install: install:
- travis_retry pip install tox - travis_retry pip install tox
@@ -22,3 +34,6 @@ script:
notifications: notifications:
email: email:
- pyramid-checkins@lists.repoze.org - pyramid-checkins@lists.repoze.org
irc:
channels:
- "chat.freenode.net#pyramid"

67
tox.ini
View File

@@ -1,25 +1,62 @@
[tox] [tox]
envlist = envlist =
py26,py27,py32,py33,py34,py35,pypy,pypy3,cover,docs py26,py27,py32,py33,py34,py35,pypy,pypy3,
docs,
{py2,py3}-cover,coverage
[testenv] [testenv]
commands = # Most of these are defaults but if you specify any you can't fall back
python setup.py -q dev # to defaults for others.
python -Wd setup.py -q test -q
[testenv:cover]
basepython = basepython =
python2.7 py26: python2.6
py27: python2.7
py32: python3.2
py33: python3.3
py34: python3.4
py35: python3.5
pypy: pypy
pypy3: pypy3
py2: python2.7
py3: python3.5
commands = commands =
nosetests --with-xunit --with-xcoverage --cover-min-percentage=100 pip install colander[testing]
deps = nosetests --with-xunit --xunit-file=nosetests-{envname}.xml {posargs:}
nose
coverage
nosexcover
[testenv:docs] [testenv:docs]
basepython = basepython = python3.5
python2.7 whitelist_externals = make
commands = commands =
pip install colander[docs] pip install colander[docs]
sphinx-build -b html -d docs/_build/doctrees docs docs/_build/html make -C docs html epub 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 colander[testing]
coverage run --source=colander {envbindir}/nosetests
coverage xml -o coverage-py2.xml
setenv =
COVERAGE_FILE=.coverage.py2
[testenv:py3-cover]
commands =
pip install colander[testing]
coverage run --source=colander {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