blob: e508aa8dd8230c54fd943dd9af1afbf6b9230df7 [file] [log] [blame]
[tox]
envlist =
py27,py34,py35,py36,py37,py38,pypy,pypy3,
docs,coverage,lint
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
py38: python3.8
pypy: pypy
pypy3: pypy3
py2: python2.7
py3: python3.5
commands =
py.test tests --junitxml=pytest-{envname}.xml --cov --cov-report=term-missing {posargs:}
extras =
testing
setenv =
COVERAGE_FILE=.coverage.{envname}
[testenv:coverage]
basepython = python3.6
commands =
coverage combine
coverage xml
coverage report --show-missing --fail-under=100
deps =
coverage
setenv =
COVERAGE_FILE=.coverage
[testenv:docs]
basepython = python3.6
whitelist_externals = make
commands =
make -C docs html epub BUILDDIR={envdir} "SPHINXOPTS=-W -E"
extras =
docs
[testenv:lint]
skip_install = True
basepython = python3.7
commands =
black --check --diff .
python setup.py check -r -s -m
check-manifest
deps =
black
readme_renderer
check-manifest
[testenv:run-flake8]
skip_install = True
basepython = python3.7
commands =
flake8 src/webob/ tests
deps =
flake8
flake8-bugbear
[testenv:run-black]
skip_install = True
basepython = python3.7
commands =
black .
deps =
black
[testenv:build]
skip_install = true
basepython = python3.7
commands =
# clean up build/ and dist/ folders
python -c 'import shutil; shutil.rmtree("dist", ignore_errors=True)'
python setup.py clean --all
# Do some basic sanity checks
python setup.py check -r -s -m
# Make sure we aren't forgetting anything
check-manifest
# 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 webob
deps =
readme_renderer
check-manifest
setuptools
wheel