2010-07-05 21:55:21 +08:00
|
|
|
[tox]
|
2017-07-17 07:27:37 +08:00
|
|
|
minversion = 2.0
|
|
|
|
distshare = {homedir}/.tox/distshare
|
2017-09-02 05:33:30 +08:00
|
|
|
# make sure to update environment list in travis.yml and appveyor.yml
|
2017-07-17 07:27:37 +08:00
|
|
|
envlist =
|
|
|
|
linting
|
|
|
|
py27
|
|
|
|
py34
|
|
|
|
py35
|
|
|
|
py36
|
|
|
|
py37
|
|
|
|
pypy
|
2018-11-12 04:45:34 +08:00
|
|
|
{py27,py37}-{pexpect,xdist,trial,numpy,pluggymaster}
|
2017-07-17 07:27:37 +08:00
|
|
|
py27-nobyte
|
|
|
|
doctesting
|
2018-11-12 04:45:34 +08:00
|
|
|
py37-freeze
|
2017-07-17 07:27:37 +08:00
|
|
|
docs
|
2010-07-05 21:55:21 +08:00
|
|
|
|
2010-07-02 21:26:03 +08:00
|
|
|
[testenv]
|
2017-09-27 06:46:50 +08:00
|
|
|
commands =
|
2018-10-19 08:57:11 +08:00
|
|
|
{env:_PYTEST_TOX_COVERAGE_RUN:} pytest --lsof {posargs}
|
2018-09-17 18:41:06 +08:00
|
|
|
coverage: coverage combine
|
|
|
|
coverage: coverage report
|
2018-10-16 07:06:59 +08:00
|
|
|
passenv = USER USERNAME COVERAGE_* TRAVIS
|
2017-09-27 06:46:50 +08:00
|
|
|
setenv =
|
2018-11-12 04:45:34 +08:00
|
|
|
# configuration if a user runs tox with a "coverage" factor, for example "tox -e py37-coverage"
|
2018-08-30 02:05:31 +08:00
|
|
|
coverage: _PYTEST_TOX_COVERAGE_RUN=coverage run -m
|
|
|
|
coverage: _PYTEST_TOX_EXTRA_DEP=coverage-enable-subprocess
|
2017-09-27 06:46:50 +08:00
|
|
|
coverage: COVERAGE_FILE={toxinidir}/.coverage
|
|
|
|
coverage: COVERAGE_PROCESS_START={toxinidir}/.coveragerc
|
2018-11-18 08:15:54 +08:00
|
|
|
extras = testing
|
2017-07-17 07:27:37 +08:00
|
|
|
deps =
|
2017-09-27 06:46:50 +08:00
|
|
|
{env:_PYTEST_TOX_EXTRA_DEP:}
|
2010-10-10 19:48:49 +08:00
|
|
|
|
2015-04-28 17:54:53 +08:00
|
|
|
[testenv:py27-subprocess]
|
2017-07-17 07:27:37 +08:00
|
|
|
deps =
|
|
|
|
pytest-xdist>=1.13
|
2018-09-12 00:51:05 +08:00
|
|
|
py27: mock
|
2015-04-28 17:54:53 +08:00
|
|
|
nose
|
2017-07-17 07:27:37 +08:00
|
|
|
commands =
|
2018-10-19 08:57:11 +08:00
|
|
|
pytest -n auto --runpytest=subprocess {posargs}
|
2015-04-28 17:54:53 +08:00
|
|
|
|
2010-10-26 16:09:41 +08:00
|
|
|
|
2016-01-06 04:14:57 +08:00
|
|
|
[testenv:linting]
|
2018-08-26 07:48:01 +08:00
|
|
|
skip_install = True
|
2018-11-13 00:03:04 +08:00
|
|
|
basepython = python3
|
2018-09-08 00:32:36 +08:00
|
|
|
deps = pre-commit>=1.11.0
|
2018-06-19 09:27:48 +08:00
|
|
|
commands = pre-commit run --all-files --show-diff-on-failure
|
2013-10-12 21:39:22 +08:00
|
|
|
|
2010-07-07 18:41:15 +08:00
|
|
|
[testenv:py27-xdist]
|
2018-11-18 08:15:54 +08:00
|
|
|
extras = testing
|
2017-07-17 07:27:37 +08:00
|
|
|
deps =
|
|
|
|
pytest-xdist>=1.13
|
2017-09-27 06:46:50 +08:00
|
|
|
{env:_PYTEST_TOX_EXTRA_DEP:}
|
2017-07-17 07:27:37 +08:00
|
|
|
commands =
|
2018-10-19 08:57:11 +08:00
|
|
|
{env:_PYTEST_TOX_COVERAGE_RUN:} pytest -n auto {posargs}
|
2012-10-22 17:14:18 +08:00
|
|
|
|
2018-11-12 04:45:34 +08:00
|
|
|
[testenv:py37-xdist]
|
2018-09-12 00:51:05 +08:00
|
|
|
# NOTE: copied from above due to https://github.com/tox-dev/tox/issues/706.
|
2018-11-18 08:15:54 +08:00
|
|
|
extras = testing
|
2018-09-12 00:51:05 +08:00
|
|
|
deps =
|
|
|
|
pytest-xdist>=1.13
|
|
|
|
{env:_PYTEST_TOX_EXTRA_DEP:}
|
2018-04-12 05:30:15 +08:00
|
|
|
commands = {[testenv:py27-xdist]commands}
|
2013-11-20 23:03:55 +08:00
|
|
|
|
2013-11-21 03:00:59 +08:00
|
|
|
[testenv:py27-pexpect]
|
2017-07-17 07:27:37 +08:00
|
|
|
platform = linux|darwin
|
2017-09-27 06:46:50 +08:00
|
|
|
deps =
|
|
|
|
pexpect
|
|
|
|
{env:_PYTEST_TOX_EXTRA_DEP:}
|
2017-07-17 07:27:37 +08:00
|
|
|
commands =
|
2018-11-12 04:56:24 +08:00
|
|
|
{env:_PYTEST_TOX_COVERAGE_RUN:} pytest {posargs:testing/test_pdb.py testing/test_terminal.py testing/test_unittest.py}
|
2013-11-21 03:00:59 +08:00
|
|
|
|
2018-11-12 04:45:34 +08:00
|
|
|
[testenv:py37-pexpect]
|
2018-04-12 05:30:15 +08:00
|
|
|
platform = {[testenv:py27-pexpect]platform}
|
2017-07-17 07:27:37 +08:00
|
|
|
deps = {[testenv:py27-pexpect]deps}
|
2018-04-12 05:30:15 +08:00
|
|
|
commands = {[testenv:py27-pexpect]commands}
|
2013-11-21 03:00:59 +08:00
|
|
|
|
2012-10-22 17:14:18 +08:00
|
|
|
[testenv:py27-nobyte]
|
2018-11-18 08:15:54 +08:00
|
|
|
extras = testing
|
2017-07-17 07:27:37 +08:00
|
|
|
deps =
|
2016-09-26 05:39:31 +08:00
|
|
|
pytest-xdist>=1.13
|
2017-09-27 06:46:50 +08:00
|
|
|
{env:_PYTEST_TOX_EXTRA_DEP:}
|
2017-07-17 07:27:37 +08:00
|
|
|
distribute = true
|
|
|
|
setenv =
|
2017-09-27 06:46:50 +08:00
|
|
|
{[testenv]setenv}
|
2012-10-22 17:14:18 +08:00
|
|
|
PYTHONDONTWRITEBYTECODE=1
|
2017-07-17 07:27:37 +08:00
|
|
|
commands =
|
2018-10-14 18:02:35 +08:00
|
|
|
{env:_PYTEST_TOX_COVERAGE_RUN:} pytest -n auto {posargs}
|
2010-07-07 18:41:15 +08:00
|
|
|
|
2014-03-28 21:44:51 +08:00
|
|
|
[testenv:py27-trial]
|
2017-09-27 06:46:50 +08:00
|
|
|
deps =
|
|
|
|
twisted
|
|
|
|
{env:_PYTEST_TOX_EXTRA_DEP:}
|
2017-07-17 07:27:37 +08:00
|
|
|
commands =
|
2018-10-14 06:07:40 +08:00
|
|
|
{env:_PYTEST_TOX_COVERAGE_RUN:} pytest {posargs:testing/test_unittest.py}
|
2014-03-28 21:44:51 +08:00
|
|
|
|
2018-11-12 04:45:34 +08:00
|
|
|
[testenv:py37-trial]
|
2017-07-17 07:27:37 +08:00
|
|
|
deps = {[testenv:py27-trial]deps}
|
2018-04-12 05:30:15 +08:00
|
|
|
commands = {[testenv:py27-trial]commands}
|
2014-03-28 21:44:51 +08:00
|
|
|
|
2017-06-16 09:41:13 +08:00
|
|
|
[testenv:py27-numpy]
|
2017-09-27 06:46:50 +08:00
|
|
|
deps =
|
|
|
|
numpy
|
|
|
|
{env:_PYTEST_TOX_EXTRA_DEP:}
|
2017-06-16 09:41:13 +08:00
|
|
|
commands=
|
2018-10-14 06:07:40 +08:00
|
|
|
{env:_PYTEST_TOX_COVERAGE_RUN:} pytest {posargs:testing/python/approx.py}
|
2017-06-16 09:41:13 +08:00
|
|
|
|
2018-11-12 04:45:34 +08:00
|
|
|
[testenv:py37-numpy]
|
2018-04-12 05:30:15 +08:00
|
|
|
deps = {[testenv:py27-numpy]deps}
|
|
|
|
commands = {[testenv:py27-numpy]commands}
|
2017-06-16 09:41:13 +08:00
|
|
|
|
2017-09-02 07:40:14 +08:00
|
|
|
[testenv:py27-pluggymaster]
|
|
|
|
setenv=
|
2017-09-27 06:46:50 +08:00
|
|
|
{[testenv]setenv}
|
2017-09-02 07:40:14 +08:00
|
|
|
_PYTEST_SETUP_SKIP_PLUGGY_DEP=1
|
2018-09-12 00:51:05 +08:00
|
|
|
# NOTE: using env instead of "{[testenv]deps}", because of https://github.com/tox-dev/tox/issues/706.
|
|
|
|
_PYTEST_TOX_EXTRA_DEP=git+https://github.com/pytest-dev/pluggy.git@master
|
2017-09-02 07:40:14 +08:00
|
|
|
|
2018-11-12 04:45:34 +08:00
|
|
|
[testenv:py37-pluggymaster]
|
2018-04-12 05:30:15 +08:00
|
|
|
setenv = {[testenv:py27-pluggymaster]setenv}
|
2017-09-02 07:40:14 +08:00
|
|
|
|
2016-08-23 10:35:41 +08:00
|
|
|
[testenv:docs]
|
2017-07-17 07:27:37 +08:00
|
|
|
skipsdist = True
|
|
|
|
usedevelop = True
|
|
|
|
changedir = doc/en
|
2018-11-25 06:48:12 +08:00
|
|
|
deps = -r{toxinidir}/doc/en/requirements.txt
|
2010-07-30 21:05:24 +08:00
|
|
|
|
2017-07-17 07:27:37 +08:00
|
|
|
commands =
|
2016-08-23 10:35:41 +08:00
|
|
|
sphinx-build -W -b html . _build
|
2010-10-10 19:48:49 +08:00
|
|
|
|
2014-04-02 18:48:35 +08:00
|
|
|
[testenv:doctesting]
|
2016-06-02 07:29:55 +08:00
|
|
|
basepython = python
|
2017-07-17 07:27:37 +08:00
|
|
|
skipsdist = True
|
|
|
|
deps =
|
2016-11-27 00:49:31 +08:00
|
|
|
PyYAML
|
2017-09-27 06:46:50 +08:00
|
|
|
{env:_PYTEST_TOX_EXTRA_DEP:}
|
2017-07-17 07:27:37 +08:00
|
|
|
commands =
|
2018-10-14 06:07:40 +08:00
|
|
|
{env:_PYTEST_TOX_COVERAGE_RUN:} pytest doc/en
|
2017-09-27 06:46:50 +08:00
|
|
|
{env:_PYTEST_TOX_COVERAGE_RUN:} pytest --doctest-modules --pyargs _pytest
|
2014-04-02 18:48:35 +08:00
|
|
|
|
2012-10-07 19:06:17 +08:00
|
|
|
[testenv:regen]
|
2017-07-17 07:27:37 +08:00
|
|
|
changedir = doc/en
|
|
|
|
skipsdist = True
|
2018-07-31 03:40:32 +08:00
|
|
|
basepython = python3.6
|
2017-07-17 07:27:37 +08:00
|
|
|
deps =
|
|
|
|
sphinx
|
|
|
|
PyYAML
|
|
|
|
regendoc>=0.6.1
|
|
|
|
whitelist_externals =
|
2015-09-22 20:02:11 +08:00
|
|
|
rm
|
|
|
|
make
|
2017-07-17 07:27:37 +08:00
|
|
|
commands =
|
2012-10-18 21:06:55 +08:00
|
|
|
rm -rf /tmp/doc-exec*
|
2012-10-07 19:06:17 +08:00
|
|
|
make regen
|
|
|
|
|
2010-07-02 01:43:46 +08:00
|
|
|
[testenv:jython]
|
2017-07-17 07:27:37 +08:00
|
|
|
changedir = testing
|
|
|
|
commands =
|
2018-10-14 06:07:40 +08:00
|
|
|
{envpython} {envbindir}/py.test-jython {posargs}
|
2010-10-28 01:35:27 +08:00
|
|
|
|
2018-11-12 04:45:34 +08:00
|
|
|
[testenv:py37-freeze]
|
2017-07-17 07:27:37 +08:00
|
|
|
changedir = testing/freeze
|
2017-09-27 06:46:50 +08:00
|
|
|
deps =
|
|
|
|
pyinstaller
|
2017-07-17 07:27:37 +08:00
|
|
|
commands =
|
2016-07-27 08:29:07 +08:00
|
|
|
{envpython} create_executable.py
|
2014-07-31 08:50:00 +08:00
|
|
|
{envpython} tox_run.py
|
2015-07-19 21:49:43 +08:00
|
|
|
|
2018-07-14 21:21:31 +08:00
|
|
|
[testenv:release]
|
|
|
|
decription = do a release, required posarg of the version number
|
|
|
|
basepython = python3.6
|
|
|
|
skipsdist = True
|
|
|
|
usedevelop = True
|
|
|
|
passenv = *
|
|
|
|
deps =
|
|
|
|
colorama
|
|
|
|
gitpython
|
2018-09-08 00:32:36 +08:00
|
|
|
pre-commit>=1.11.0
|
2018-07-14 21:21:31 +08:00
|
|
|
towncrier
|
|
|
|
wheel
|
|
|
|
commands = python scripts/release.py {posargs}
|
|
|
|
|
2010-10-28 01:35:27 +08:00
|
|
|
[pytest]
|
2017-07-17 07:27:37 +08:00
|
|
|
minversion = 2.0
|
2018-09-19 22:58:05 +08:00
|
|
|
addopts = -ra -p pytester
|
|
|
|
rsyncdirs = tox.ini doc src testing
|
2017-07-17 07:27:37 +08:00
|
|
|
python_files = test_*.py *_test.py testing/*/*.py
|
|
|
|
python_classes = Test Acceptance
|
|
|
|
python_functions = test
|
2018-10-14 20:47:40 +08:00
|
|
|
# NOTE: "doc" is not included here, but gets tested explicitly via "doctesting".
|
|
|
|
testpaths = testing
|
2018-09-19 22:58:05 +08:00
|
|
|
norecursedirs = testing/example_scripts
|
2017-09-06 06:57:01 +08:00
|
|
|
xfail_strict=true
|
2017-07-17 07:27:37 +08:00
|
|
|
filterwarnings =
|
2017-07-21 10:11:14 +08:00
|
|
|
error
|
2018-09-04 00:14:57 +08:00
|
|
|
ignore:yield tests are deprecated, and scheduled to be removed in pytest 4.0:pytest.RemovedInPytest4Warning
|
|
|
|
ignore:Metafunc.addcall is deprecated and scheduled to be removed in pytest 4.0:pytest.RemovedInPytest4Warning
|
2018-11-09 06:14:58 +08:00
|
|
|
ignore::pytest.RemovedInPytest4Warning
|
2018-09-04 00:14:57 +08:00
|
|
|
ignore:Module already imported so cannot be rewritten:pytest.PytestWarning
|
2017-07-17 07:27:37 +08:00
|
|
|
# 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
|
2018-09-04 21:48:11 +08:00
|
|
|
# pytest's own futurewarnings
|
2018-09-04 22:15:39 +08:00
|
|
|
ignore::pytest.PytestExperimentalApiWarning
|
2018-11-17 18:49:04 +08:00
|
|
|
# Do not cause SyntaxError for invalid escape sequences in py37.
|
|
|
|
default:invalid escape sequence:DeprecationWarning
|
2018-06-27 04:48:33 +08:00
|
|
|
pytester_example_dir = testing/example_scripts
|
2015-07-24 16:05:54 +08:00
|
|
|
[flake8]
|
2017-07-17 07:27:37 +08:00
|
|
|
max-line-length = 120
|
2018-06-26 21:35:27 +08:00
|
|
|
ignore = E203,W503
|