[tox] minversion = 2.0 distshare = {homedir}/.tox/distshare # make sure to update environment list in travis.yml and appveyor.yml envlist = linting py26 py27 py33 py34 py35 py36 py37 pypy {py27,py35}-{pexpect,xdist,trial,numpy,pluggymaster} py27-nobyte doctesting py35-freeze docs [testenv] commands = pytest --lsof -ra {posargs:testing} passenv = USER USERNAME deps = hypothesis>=3.5.2 nose mock requests [testenv:py26] commands = pytest --lsof -ra {posargs:testing} # pinning mock to last supported version for python 2.6 deps = hypothesis<3.0 nose mock<1.1 [testenv:py27-subprocess] changedir = . basepython = python2.7 deps = pytest-xdist>=1.13 mock nose commands = pytest -n3 -ra --runpytest=subprocess {posargs:testing} [testenv:linting] skipsdist = True usedevelop = True basepython = python2.7 deps = flake8 # pygments required by rst-lint pygments restructuredtext_lint commands = flake8 pytest.py _pytest testing {envpython} scripts/check-rst.py [testenv:py27-xdist] deps = pytest-xdist>=1.13 mock nose hypothesis>=3.5.2 commands = pytest -n1 -ra {posargs:testing} [testenv:py35-xdist] deps = {[testenv:py27-xdist]deps} commands = pytest -n3 -ra {posargs:testing} [testenv:py27-pexpect] changedir = testing platform = linux|darwin deps = pexpect commands = pytest -ra test_pdb.py test_terminal.py test_unittest.py [testenv:py35-pexpect] changedir = testing platform = linux|darwin deps = {[testenv:py27-pexpect]deps} commands = pytest -ra test_pdb.py test_terminal.py test_unittest.py [testenv:py27-nobyte] deps = pytest-xdist>=1.13 hypothesis>=3.5.2 distribute = true setenv = PYTHONDONTWRITEBYTECODE=1 commands = pytest -n3 -ra {posargs:testing} [testenv:py27-trial] deps = twisted commands = pytest -ra {posargs:testing/test_unittest.py} [testenv:py35-trial] deps = {[testenv:py27-trial]deps} commands = pytest -ra {posargs:testing/test_unittest.py} [testenv:py27-numpy] deps=numpy commands= pytest -ra {posargs:testing/python/approx.py} [testenv:py35-numpy] deps=numpy commands= pytest -ra {posargs:testing/python/approx.py} [testenv:py27-pluggymaster] passenv={[testenv]passenv} commands={[testenv]commands} setenv= _PYTEST_SETUP_SKIP_PLUGGY_DEP=1 deps = {[testenv]deps} git+https://github.com/pytest-dev/pluggy.git@master [testenv:py35-pluggymaster] passenv={[testenv:py27-pluggymaster]passenv} commands={[testenv:py27-pluggymaster]commands} setenv= _PYTEST_SETUP_SKIP_PLUGGY_DEP=1 deps = {[testenv:py27-pluggymaster]deps} git+https://github.com/pytest-dev/pluggy.git@master [testenv:docs] skipsdist = True usedevelop = True basepython = python changedir = doc/en deps = sphinx PyYAML commands = sphinx-build -W -b html . _build [testenv:doctesting] basepython = python usedevelop = True skipsdist = True # ensure the given pyargs cant mean anytrhing 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 [testenv:jython] changedir = testing commands = {envpython} {envbindir}/py.test-jython -ra {posargs} [testenv:py35-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 basepython = python3.5 changedir = . deps = {[testenv]deps} coveralls commands = coverage run --source=_pytest -m pytest testing coverage report -m coveralls [pytest] minversion = 2.0 plugins = pytester #--pyargs --doctest-modules --ignore=.tox 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 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 [flake8] max-line-length = 120