blob: cb3846d5422ad9cbf66547a46256d05ef4494585 [file] [log] [blame]
[tox]
minversion = 2.0
distshare = {homedir}/.tox/distshare
# make sure to update environment list in travis.yml and appveyor.yml
envlist =
linting
py27
py34
py35
py36
py37
pypy
{py27,py36}-{pexpect,xdist,trial,numpy,pluggymaster}
py27-nobyte
doctesting
py36-freeze
docs
[testenv]
commands = pytest --lsof -ra {posargs:testing}
passenv = USER USERNAME
deps =
hypothesis>=3.56
nose
mock
requests
[testenv:py27-subprocess]
changedir = .
deps =
pytest-xdist>=1.13
mock
nose
commands =
pytest -n3 -ra --runpytest=subprocess {posargs:testing}
[testenv:linting]
skipsdist = True
usedevelop = True
basepython = python3.6
deps = pre-commit
commands = pre-commit run --all-files --show-diff-on-failure
[testenv:py27-xdist]
deps =
pytest-xdist>=1.13
mock
nose
hypothesis>=3.56
changedir=testing
commands =
pytest -n8 -ra {posargs:.}
[testenv:py36-xdist]
deps = {[testenv:py27-xdist]deps}
commands = {[testenv:py27-xdist]commands}
[testenv:py27-pexpect]
changedir = testing
platform = linux|darwin
deps = pexpect
commands =
pytest -ra test_pdb.py test_terminal.py test_unittest.py
[testenv:py36-pexpect]
changedir = {[testenv:py27-pexpect]changedir}
platform = {[testenv:py27-pexpect]platform}
deps = {[testenv:py27-pexpect]deps}
commands = {[testenv:py27-pexpect]commands}
[testenv:py27-nobyte]
deps =
pytest-xdist>=1.13
hypothesis>=3.56
mock
distribute = true
changedir=testing
setenv =
PYTHONDONTWRITEBYTECODE=1
commands =
pytest -n3 -ra {posargs:.}
[testenv:py27-trial]
deps = twisted
commands =
pytest -ra {posargs:testing/test_unittest.py}
[testenv:py36-trial]
deps = {[testenv:py27-trial]deps}
commands = {[testenv:py27-trial]commands}
[testenv:py27-numpy]
deps = numpy
commands=
pytest -ra {posargs:testing/python/approx.py}
[testenv:py36-numpy]
deps = {[testenv:py27-numpy]deps}
commands = {[testenv:py27-numpy]commands}
[testenv:py27-pluggymaster]
setenv=
_PYTEST_SETUP_SKIP_PLUGGY_DEP=1
deps =
{[testenv]deps}
git+https://github.com/pytest-dev/pluggy.git@master
[testenv:py36-pluggymaster]
setenv = {[testenv:py27-pluggymaster]setenv}
deps = {[testenv:py27-pluggymaster]deps}
[testenv:docs]
skipsdist = True
usedevelop = True
changedir = doc/en
deps =
attrs
more-itertools
PyYAML
sphinx
sphinxcontrib-trio
commands =
sphinx-build -W -b html . _build
[testenv:doctesting]
basepython = python
usedevelop = True
skipsdist = True
# ensure the given pyargs can't mean anything else
changedir = doc/
deps =
PyYAML
commands =
pytest -ra en
pytest --doctest-modules --pyargs _pytest
[testenv:regen]
changedir = doc/en
skipsdist = True
basepython = python3.5
deps =
sphinx
PyYAML
regendoc>=0.6.1
whitelist_externals =
rm
make
commands =
rm -rf /tmp/doc-exec*
make regen
[testenv:fix-lint]
skipsdist = True
usedevelop = True
deps =
autopep8
commands =
autopep8 --in-place -r --max-line-length=120 --exclude=test_source_multiline_block.py _pytest testing setup.py pytest.py
[testenv:jython]
changedir = testing
commands =
{envpython} {envbindir}/py.test-jython -ra {posargs}
[testenv:py36-freeze]
changedir = testing/freeze
deps = pyinstaller
commands =
{envpython} create_executable.py
{envpython} tox_run.py
[testenv:coveralls]
passenv = TRAVIS TRAVIS_JOB_ID TRAVIS_BRANCH COVERALLS_REPO_TOKEN
usedevelop = True
changedir = .
deps =
{[testenv]deps}
coveralls
commands =
coverage run --source=_pytest -m pytest testing
coverage report -m
coveralls
[pytest]
minversion = 2.0
plugins = pytester
addopts = -ra -p pytester --ignore=testing/cx_freeze
rsyncdirs = tox.ini pytest.py _pytest testing
python_files = test_*.py *_test.py testing/*/*.py
python_classes = Test Acceptance
python_functions = test
norecursedirs = .tox ja .hg cx_freeze_source
xfail_strict=true
filterwarnings =
error
# produced by path.local
ignore:bad escape.*:DeprecationWarning:re
# produced by path.readlines
ignore:.*U.*mode is deprecated:DeprecationWarning
# produced by pytest-xdist
ignore:.*type argument to addoption.*:DeprecationWarning
# produced by python >=3.5 on execnet (pytest-xdist)
ignore:.*inspect.getargspec.*deprecated, use inspect.signature.*:DeprecationWarning
# ignore warning about package resolution using __spec__ or __package__
# should be a temporary solution, see #3061 for discussion
ignore:.*can't resolve package from __spec__ or __package__.*:ImportWarning
[flake8]
max-line-length = 120