test_ok2/tox.ini

182 lines
5.0 KiB
INI
Raw Normal View History

[tox]
isolated_build = True
minversion = 3.5.3
2017-07-17 07:27:37 +08:00
distshare = {homedir}/.tox/distshare
# make sure to update environment list in travis.yml and appveyor.yml
2017-07-17 07:27:37 +08:00
envlist =
linting
py35
py36
py37
2019-02-06 23:11:00 +08:00
py38
2017-07-17 07:27:37 +08:00
pypy
pypy3
py37-{pexpect,xdist,twisted,numpy,pluggymaster}
2017-07-17 07:27:37 +08:00
doctesting
py37-freeze
2017-07-17 07:27:37 +08:00
docs
2010-07-02 21:26:03 +08:00
[testenv]
commands =
{env:_PYTEST_TOX_COVERAGE_RUN:} pytest {posargs:{env:_PYTEST_TOX_DEFAULT_POSARGS:}}
coverage: coverage combine
coverage: coverage report -m
passenv = USER USERNAME COVERAGE_* TRAVIS PYTEST_ADDOPTS TERM
setenv =
_PYTEST_TOX_DEFAULT_POSARGS={env:_PYTEST_TOX_POSARGS_LSOF:} {env:_PYTEST_TOX_POSARGS_XDIST:}
2019-02-27 16:15:04 +08:00
2019-02-10 21:02:56 +08:00
# Configuration to run with coverage similar to Travis/Appveyor, e.g.
# "tox -e py37-coverage".
coverage: _PYTEST_TOX_COVERAGE_RUN=coverage run -m
coverage: _PYTEST_TOX_EXTRA_DEP=coverage-enable-subprocess
coverage: COVERAGE_FILE={toxinidir}/.coverage
coverage: COVERAGE_PROCESS_START={toxinidir}/.coveragerc
2019-02-27 16:15:04 +08:00
nobyte: PYTHONDONTWRITEBYTECODE=1
lsof: _PYTEST_TOX_POSARGS_LSOF=--lsof
2019-02-27 16:15:04 +08:00
pexpect: _PYTEST_TOX_PLATFORM=linux|darwin
2019-03-21 01:41:48 +08:00
xdist: _PYTEST_TOX_POSARGS_XDIST=-n auto
extras = testing
2017-07-17 07:27:37 +08:00
deps =
2019-10-06 22:00:54 +08:00
oldattrs: attrs==17.4.0
oldattrs: hypothesis<=4.38.1
numpy: numpy
2019-02-27 16:15:04 +08:00
pexpect: pexpect
2019-03-03 20:12:03 +08:00
pluggymaster: git+https://github.com/pytest-dev/pluggy.git@master
2019-03-21 01:41:48 +08:00
twisted: twisted
xdist: pytest-xdist>=1.13
{env:_PYTEST_TOX_EXTRA_DEP:}
2019-02-27 16:15:04 +08:00
platform = {env:_PYTEST_TOX_PLATFORM:.*}
[testenv:linting]
2018-08-26 07:48:01 +08:00
skip_install = True
basepython = python3
deps = pre-commit>=1.11.0
commands = pre-commit run --all-files --show-diff-on-failure
[testenv:docs]
2018-12-20 04:12:12 +08:00
basepython = python3
usedevelop = True
2017-07-17 07:27:37 +08:00
changedir = doc/en
2018-11-25 06:48:12 +08:00
deps = -r{toxinidir}/doc/en/requirements.txt
2017-07-17 07:27:37 +08:00
commands =
sphinx-build -W -b html . _build
[testenv:doctesting]
basepython = python3
2017-07-17 07:27:37 +08:00
skipsdist = True
deps =
2019-02-10 21:02:56 +08:00
{[testenv]deps}
PyYAML
2017-07-17 07:27:37 +08:00
commands =
{env:_PYTEST_TOX_COVERAGE_RUN:} pytest doc/en
{env:_PYTEST_TOX_COVERAGE_RUN:} pytest --doctest-modules --pyargs _pytest
[testenv:regen]
2017-07-17 07:27:37 +08:00
changedir = doc/en
skipsdist = True
basepython = python3
2017-07-17 07:27:37 +08:00
deps =
sphinx
PyYAML
regendoc>=0.6.1
dataclasses
2017-07-17 07:27:37 +08:00
whitelist_externals =
rm
make
2017-07-17 07:27:37 +08:00
commands =
2019-01-06 23:49:40 +08:00
# don't show hypothesis plugin info in docs, see #4602
pip uninstall hypothesis -y
rm -rf /tmp/doc-exec*
rm -rf {envdir}/.pytest_cache
make regen
[testenv:py37-freeze]
2017-07-17 07:27:37 +08:00
changedir = testing/freeze
deps =
pyinstaller
2017-07-17 07:27:37 +08:00
commands =
{envpython} create_executable.py
{envpython} tox_run.py
2015-07-19 21:49:43 +08:00
[testenv:release]
decription = do a release, required posarg of the version number
basepython = python3
usedevelop = True
passenv = *
deps =
colorama
gitpython
pre-commit>=1.11.0
towncrier
wheel
commands = python scripts/release.py {posargs}
[testenv:publish_gh_release_notes]
description = create GitHub release after deployment
basepython = python3
usedevelop = True
passenv = GH_RELEASE_NOTES_TOKEN TRAVIS_TAG TRAVIS_REPO_SLUG
deps =
github3.py
pypandoc
commands = python scripts/publish_gh_release_notes.py
[pytest]
2017-07-17 07:27:37 +08:00
minversion = 2.0
addopts = -ra -p pytester --strict-markers
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
# NOTE: "doc" is not included here, but gets tested explicitly via "doctesting".
testpaths = testing
norecursedirs = testing/example_scripts
xfail_strict=true
2017-07-17 07:27:37 +08:00
filterwarnings =
error
default:Using or importing the ABCs:DeprecationWarning:unittest2.*
ignore:Module already imported so cannot be rewritten:pytest.PytestWarning
# https://github.com/pytest-dev/pytest/issues/5974
default:\(rm_rf\) error removing.*:pytest.PytestWarning
# produced by python3.6/site.py itself (3.6.7 on Travis, could not trigger it with 3.6.8).
ignore:.*U.*mode is deprecated:DeprecationWarning:(?!(pytest|_pytest))
2017-07-17 07:27:37 +08:00
# 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
# pytest's own futurewarnings
ignore::pytest.PytestExperimentalApiWarning
# Do not cause SyntaxError for invalid escape sequences in py37.
# Those are caught/handled by pyupgrade, and not easy to filter with the
# module being the filename (with .py removed).
default:invalid escape sequence:DeprecationWarning
# ignore use of unregistered marks, because we use many to test the implementation
ignore::_pytest.warning_types.PytestUnknownMarkWarning
pytester_example_dir = testing/example_scripts
2019-03-31 11:22:30 +08:00
markers =
# dummy markers for testing
foo
bar
baz
# conftest.py reorders tests moving slow ones to the end of the list
slow
2019-05-27 09:20:58 +08:00
# experimental mark for all tests using pexpect
uses_pexpect
2019-03-01 21:24:09 +08:00
[flake8]
2017-07-17 07:27:37 +08:00
max-line-length = 120
extend-ignore = E203
2019-03-01 21:24:09 +08:00
[isort]
; This config mimics what reorder-python-imports does.
force_single_line = 1
known_localfolder = pytest,_pytest
known_third_party = test_source,test_excinfo
force_alphabetical_sort_within_sections = 1