Browse Source

reduce number of tox and travis envs

bump minimum werkzeug version to fix tests
cache pip pacakges on travis
collect branch coverage
collect coverage of test code
report coverage across envs
test building docs
enable codecov integration
pull/2331/head
David Lord 7 years ago
parent
commit
65b22926f7
No known key found for this signature in database
GPG Key ID: 7A1C87E3F5BC42A8
  1. 11
      .coveragerc
  2. 87
      .travis.yml
  3. 3
      setup.cfg
  4. 2
      setup.py
  5. 68
      tox.ini

11
.coveragerc

@ -0,0 +1,11 @@
[run]
branch = True
source =
flask
tests
[paths]
source =
flask
.tox/*/lib/python*/site-packages/flask
.tox/pypy/site-packages/flask

87
.travis.yml

@ -1,52 +1,61 @@
sudo: false sudo: false
language: python language: python
python:
- "2.6"
- "2.7"
- "pypy"
- "3.3"
- "3.4"
- "3.5"
- "3.6"
env:
- REQUIREMENTS=lowest
- REQUIREMENTS=lowest-simplejson
- REQUIREMENTS=release
- REQUIREMENTS=release-simplejson
- REQUIREMENTS=devel
- REQUIREMENTS=devel-simplejson
matrix: matrix:
exclude: include:
# Python 3 support currently does not work with lowest requirements - python: 3.6
- python: "3.3" env: TOXENV=py-release,codecov
env: REQUIREMENTS=lowest - python: 3.5
- python: "3.3" env: TOXENV=py-release,codecov
env: REQUIREMENTS=lowest-simplejson - python: 3.4
- python: "3.4" env: TOXENV=py-release,codecov
env: REQUIREMENTS=lowest - python: 3.3
- python: "3.4" env: TOXENV=py-release,codecov
env: REQUIREMENTS=lowest-simplejson - python: 2.7
- python: "3.5" env: TOXENV=py-release,codecov
env: REQUIREMENTS=lowest - python: 2.6
- python: "3.5" env: TOXENV=py-release,codecov
env: REQUIREMENTS=lowest-simplejson - python: pypy
- python: "3.6" env: TOXENV=py-release,codecov
env: REQUIREMENTS=lowest - python: nightly
- python: "3.6" env: TOXENV=py-release
env: REQUIREMENTS=lowest-simplejson - python: 3.6
env: TOXENV=docs-html
- python: 3.6
env: TOXENV=py-release-simplejson,codecov
- python: 2.7
env: TOXENV=py-release-simplejson,codecov
- python: pypy
env: TOXENV=py-release-simplejson,codecov
- python: 3.6
env: TOXENV=py-devel,codecov
- python: 3.3
env: TOXENV=py-devel,codecov
- python: 2.7
env: TOXENV=py-devel,codecov
- python: 2.6
env: TOXENV=py-devel,codecov
- python: pypy
env: TOXENV=py-devel,codecov
- python: 3.6
env: TOXENV=py-lowest,codecov
- python: 3.3
env: TOXENV=py-lowest,codecov
- python: 2.7
env: TOXENV=py-lowest,codecov
- python: 2.6
env: TOXENV=py-lowest,codecov
- python: pypy
env: TOXENV=py-lowest,codecov
install: install:
- pip install tox - pip install tox
script: script:
- tox -e py-$REQUIREMENTS - tox
branches: cache:
except: - pip
- website
notifications: notifications:
email: false email: false

3
setup.cfg

@ -8,4 +8,5 @@ universal = 1
license_file = LICENSE license_file = LICENSE
[tool:pytest] [tool:pytest]
norecursedirs = .* *.egg *.egg-info env* artwork docs minversion = 3.0
testpaths = tests

2
setup.py

@ -71,7 +71,7 @@ setup(
zip_safe=False, zip_safe=False,
platforms='any', platforms='any',
install_requires=[ install_requires=[
'Werkzeug>=0.7', 'Werkzeug>=0.9',
'Jinja2>=2.4', 'Jinja2>=2.4',
'itsdangerous>=0.21', 'itsdangerous>=0.21',
'click>=4.0', 'click>=4.0',

68
tox.ini

@ -1,37 +1,65 @@
[tox] [tox]
envlist = {py26,py27,pypy}-{lowest,release,devel}{,-simplejson}, {py33,py34,py35,py36}-{release,devel}{,-simplejson} envlist =
py{36,35,34,33,27,26,py}-release
py{36,27,py}-release-simplejson
py{36,33,27,26,py}-devel
py{36,33,27,26,py}-lowest
docs-html
coverage-report
[testenv] [testenv]
passenv = LANG passenv = LANG
usedevelop = true usedevelop = true
commands =
# We need to install those after Flask is installed.
pip install -e examples/flaskr
pip install -e examples/minitwit
pip install -e examples/patterns/largerapp
pytest --cov=flask --cov-report html []
deps = deps =
pytest pytest>=3
pytest-cov coverage
greenlet greenlet
blinker
lowest: Werkzeug==0.7 lowest: Werkzeug==0.9
lowest: Jinja2==2.4 lowest: Jinja2==2.4
lowest: itsdangerous==0.21 lowest: itsdangerous==0.21
lowest: Click==4.0 lowest: Click==4.0
lowest: blinker==1.0
release: blinker
devel: git+https://github.com/pallets/werkzeug.git devel: https://github.com/pallets/werkzeug/archive/master.tar.gz
devel: git+https://github.com/pallets/markupsafe.git devel: https://github.com/pallets/markupsafe/archive/master.tar.gz
devel: git+https://github.com/pallets/jinja.git devel: https://github.com/pallets/jinja/archive/master.tar.gz
devel: git+https://github.com/pallets/itsdangerous.git devel: https://github.com/pallets/itsdangerous/archive/master.tar.gz
devel: git+https://github.com/pallets/click.git devel: https://github.com/pallets/click/archive/master.tar.gz
devel: git+https://github.com/jek/blinker.git
simplejson: simplejson simplejson: simplejson
commands =
# the examples need to be installed to test successfully
pip install -e examples/flaskr -q
pip install -e examples/minitwit -q
pip install -e examples/patterns/largerapp -q
# pytest-cov doesn't seem to play nice with -p
coverage run -p -m pytest
[testenv:docs-html]
deps =
sphinx
flask-sphinx-themes
commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html
[testenv:docs] [testenv:docs-linkcheck]
deps = sphinx deps = sphinx
commands = sphinx-build -W -b linkcheck -d {envtmpdir}/doctrees docs docs/_build/linkcheck commands = sphinx-build -W -b linkcheck -d {envtmpdir}/doctrees docs docs/_build/linkcheck
[testenv:coverage-report]
deps = coverage
skip_install = true
commands =
coverage combine
coverage report
coverage html
[testenv:codecov]
passenv = CI TRAVIS TRAVIS_*
deps = codecov
skip_install = true
commands =
coverage combine
coverage report
codecov

Loading…
Cancel
Save