[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] skip_install = 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 = 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.6 deps = sphinx PyYAML regendoc>=0.6.1 whitelist_externals = rm make commands = rm -rf /tmp/doc-exec* make regen [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 = CI TRAVIS TRAVIS_* COVERALLS_REPO_TOKEN usedevelop = True changedir = . deps = {[testenv]deps} coveralls codecov commands = coverage run --source=_pytest -m pytest testing coverage report -m coveralls codecov [testenv:release] decription = do a release, required posarg of the version number basepython = python3.6 skipsdist = True usedevelop = True passenv = * deps = colorama gitpython pre-commit towncrier wheel commands = python scripts/release.py {posargs} [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 testing/example_scripts 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 #pytests own futurewarnings ignore::_pytest.experiments.PytestExerimentalApiWarning pytester_example_dir = testing/example_scripts [flake8] max-line-length = 120 ignore = E203,W503