2010-07-05 21:55:21 +08:00
|
|
|
[tox]
|
2019-02-09 01:50:33 +08:00
|
|
|
isolated_build = True
|
2020-12-13 00:08:15 +08:00
|
|
|
minversion = 3.20.0
|
2017-07-17 07:27:37 +08:00
|
|
|
distshare = {homedir}/.tox/distshare
|
|
|
|
envlist =
|
|
|
|
linting
|
2019-02-06 23:11:00 +08:00
|
|
|
py38
|
2020-05-07 20:26:55 +08:00
|
|
|
py39
|
2021-03-26 18:27:41 +08:00
|
|
|
py310
|
2022-02-11 23:20:42 +08:00
|
|
|
py311
|
2022-10-31 23:49:51 +08:00
|
|
|
py312
|
2019-02-14 04:59:36 +08:00
|
|
|
pypy3
|
2023-07-01 06:19:19 +08:00
|
|
|
py38-{pexpect,xdist,unittestextras,numpy,pluggymain,pylib}
|
2017-07-17 07:27:37 +08:00
|
|
|
doctesting
|
2023-08-20 02:18:17 +08:00
|
|
|
doctesting-coverage
|
2020-09-20 02:56:52 +08:00
|
|
|
plugins
|
2023-07-01 06:19:19 +08:00
|
|
|
py38-freeze
|
2017-07-17 07:27:37 +08:00
|
|
|
docs
|
2019-07-13 22:06:56 +08:00
|
|
|
docs-checklinks
|
2010-07-05 21:55:21 +08:00
|
|
|
|
fallback to native traceback when handling ExceptionGroup (take 2) [SQUASH] (#10209)
* Squashed commit of the following:
commit 41d339c46763bbe26123e1e6504b6e32290e33e1
Author: Cheukting <cheukting.ho@gmail.com>
Date: Thu Jun 23 17:01:04 2022 +0800
test in all py versions
commit b3572a5a12672228c3276fc8c8e05980dfb7888a
Author: Cheukting <cheukting.ho@gmail.com>
Date: Thu Jun 23 16:41:06 2022 +0800
add test
commit 7166a2a51e4f99046b028b663c193d8b558c7fd4
Author: Cheukting <cheukting.ho@gmail.com>
Date: Thu Jun 23 16:00:07 2022 +0800
update changelog
commit b958c73d489157f0c0d4e46425083a5e2e2bc851
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Thu Jun 23 07:50:52 2022 +0000
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
commit ea7f376c6ca37c40c83df0e4a1cfaaedb34bae91
Author: Cheukting <cheukting.ho@gmail.com>
Date: Thu Jun 23 15:48:21 2022 +0800
Fix MyPy
commit 97469beb1da40257e9a061a5e19548546c9312c4
Author: Cheukting <cheukting.ho@gmail.com>
Date: Thu Jun 23 15:03:48 2022 +0800
fix if ExceptionGroup not exist
commit 84e553642cd69b4d499231d733df91ebfa84c7ad
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Thu Jun 23 03:43:27 2022 +0000
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
commit 76bbef449b88bbd74fb5cca3b5293337a624ef03
Author: Cheukting <cheukting.ho@gmail.com>
Date: Thu Jun 23 11:40:41 2022 +0800
adding changelog
commit db82bebc5a4969e2083adcd97bdfd2a63bb17d98
Author: Cheukting <cheukting.ho@gmail.com>
Date: Thu Jun 23 11:33:10 2022 +0800
fall back to native when handeling to exception groups
* Typed ExceptionGroupTypes and changed to BaseExceptionGroup, fixed exceptionchain (excinfo->excinfo_, set reprcrash. Extended tests, though they're wip.
* added exceptiongroup to pre-commit-config, moved away from tuple to directly defining BaseExceptionGroup, added block comment, added match line for inner exception, changked mark.skipif to importorskip to not need top-level import, changed tox.ini a bit - only uncovered should now be py37 without exceptiongroup, due to hypothesis
* added py311-exceptiongroup to github CI, exceptiongroup is now a hard dependency on py<3.11, renamed bad variable names
* added use_coverage to ubuntu-py311
* import BaseExceptionGroup with explicit version check instead of try/catch
* removed from CI, added comments to tox and pre-commit
2022-08-18 00:16:32 +08:00
|
|
|
# checks that 3.11 native ExceptionGroup works with exceptiongroup
|
|
|
|
# not included in CI.
|
|
|
|
py311-exceptiongroup
|
|
|
|
|
2020-12-13 18:10:06 +08:00
|
|
|
|
|
|
|
|
2010-07-02 21:26:03 +08:00
|
|
|
[testenv]
|
2017-09-27 06:46:50 +08:00
|
|
|
commands =
|
2019-02-27 20:10:42 +08:00
|
|
|
{env:_PYTEST_TOX_COVERAGE_RUN:} pytest {posargs:{env:_PYTEST_TOX_DEFAULT_POSARGS:}}
|
2020-01-22 20:31:51 +08:00
|
|
|
doctesting: {env:_PYTEST_TOX_COVERAGE_RUN:} pytest --doctest-modules --pyargs _pytest
|
2018-09-17 18:41:06 +08:00
|
|
|
coverage: coverage combine
|
2019-06-09 17:54:29 +08:00
|
|
|
coverage: coverage report -m
|
2022-12-13 19:12:42 +08:00
|
|
|
passenv =
|
|
|
|
COVERAGE_*
|
|
|
|
PYTEST_ADDOPTS
|
|
|
|
TERM
|
|
|
|
SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST
|
2017-09-27 06:46:50 +08:00
|
|
|
setenv =
|
2020-01-22 20:31:51 +08:00
|
|
|
_PYTEST_TOX_DEFAULT_POSARGS={env:_PYTEST_TOX_POSARGS_DOCTESTING:} {env:_PYTEST_TOX_POSARGS_LSOF:} {env:_PYTEST_TOX_POSARGS_XDIST:}
|
2019-02-27 16:15:04 +08:00
|
|
|
|
2023-06-20 19:55:39 +08:00
|
|
|
# See https://docs.python.org/3/library/io.html#io-encoding-warning
|
|
|
|
# If we don't enable this, neither can any of our downstream users!
|
|
|
|
PYTHONWARNDEFAULTENCODING=1
|
|
|
|
|
2020-01-08 07:03:38 +08:00
|
|
|
# Configuration to run with coverage similar to CI, e.g.
|
2023-07-01 06:19:19 +08:00
|
|
|
# "tox -e py38-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
|
2019-02-27 16:15:04 +08:00
|
|
|
|
2020-01-22 20:31:51 +08:00
|
|
|
doctesting: _PYTEST_TOX_POSARGS_DOCTESTING=doc/en
|
|
|
|
|
2019-03-01 05:44:24 +08:00
|
|
|
nobyte: PYTHONDONTWRITEBYTECODE=1
|
|
|
|
|
2019-02-27 20:10:42 +08:00
|
|
|
lsof: _PYTEST_TOX_POSARGS_LSOF=--lsof
|
|
|
|
|
|
|
|
xdist: _PYTEST_TOX_POSARGS_XDIST=-n auto
|
2018-11-18 08:15:54 +08:00
|
|
|
extras = testing
|
2017-07-17 07:27:37 +08:00
|
|
|
deps =
|
2020-01-22 20:31:51 +08:00
|
|
|
doctesting: PyYAML
|
fallback to native traceback when handling ExceptionGroup (take 2) [SQUASH] (#10209)
* Squashed commit of the following:
commit 41d339c46763bbe26123e1e6504b6e32290e33e1
Author: Cheukting <cheukting.ho@gmail.com>
Date: Thu Jun 23 17:01:04 2022 +0800
test in all py versions
commit b3572a5a12672228c3276fc8c8e05980dfb7888a
Author: Cheukting <cheukting.ho@gmail.com>
Date: Thu Jun 23 16:41:06 2022 +0800
add test
commit 7166a2a51e4f99046b028b663c193d8b558c7fd4
Author: Cheukting <cheukting.ho@gmail.com>
Date: Thu Jun 23 16:00:07 2022 +0800
update changelog
commit b958c73d489157f0c0d4e46425083a5e2e2bc851
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Thu Jun 23 07:50:52 2022 +0000
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
commit ea7f376c6ca37c40c83df0e4a1cfaaedb34bae91
Author: Cheukting <cheukting.ho@gmail.com>
Date: Thu Jun 23 15:48:21 2022 +0800
Fix MyPy
commit 97469beb1da40257e9a061a5e19548546c9312c4
Author: Cheukting <cheukting.ho@gmail.com>
Date: Thu Jun 23 15:03:48 2022 +0800
fix if ExceptionGroup not exist
commit 84e553642cd69b4d499231d733df91ebfa84c7ad
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Thu Jun 23 03:43:27 2022 +0000
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
commit 76bbef449b88bbd74fb5cca3b5293337a624ef03
Author: Cheukting <cheukting.ho@gmail.com>
Date: Thu Jun 23 11:40:41 2022 +0800
adding changelog
commit db82bebc5a4969e2083adcd97bdfd2a63bb17d98
Author: Cheukting <cheukting.ho@gmail.com>
Date: Thu Jun 23 11:33:10 2022 +0800
fall back to native when handeling to exception groups
* Typed ExceptionGroupTypes and changed to BaseExceptionGroup, fixed exceptionchain (excinfo->excinfo_, set reprcrash. Extended tests, though they're wip.
* added exceptiongroup to pre-commit-config, moved away from tuple to directly defining BaseExceptionGroup, added block comment, added match line for inner exception, changked mark.skipif to importorskip to not need top-level import, changed tox.ini a bit - only uncovered should now be py37 without exceptiongroup, due to hypothesis
* added py311-exceptiongroup to github CI, exceptiongroup is now a hard dependency on py<3.11, renamed bad variable names
* added use_coverage to ubuntu-py311
* import BaseExceptionGroup with explicit version check instead of try/catch
* removed from CI, added comments to tox and pre-commit
2022-08-18 00:16:32 +08:00
|
|
|
exceptiongroup: exceptiongroup>=1.0.0rc8
|
2020-12-13 00:08:15 +08:00
|
|
|
numpy: numpy>=1.19.4
|
|
|
|
pexpect: pexpect>=4.8.0
|
2021-03-10 04:56:16 +08:00
|
|
|
pluggymain: pluggy @ git+https://github.com/pytest-dev/pluggy.git
|
2022-10-21 05:15:57 +08:00
|
|
|
pylib: py>=1.8.2
|
2020-05-01 23:56:06 +08:00
|
|
|
unittestextras: twisted
|
|
|
|
unittestextras: asynctest
|
2020-12-13 00:08:15 +08:00
|
|
|
xdist: pytest-xdist>=2.1.0
|
|
|
|
xdist: -e .
|
2017-09-27 06:46:50 +08:00
|
|
|
{env:_PYTEST_TOX_EXTRA_DEP:}
|
2010-10-10 19:48:49 +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
|
2020-12-13 00:08:15 +08:00
|
|
|
deps = pre-commit>=2.9.3
|
2020-01-13 03:09:51 +08:00
|
|
|
commands = pre-commit run --all-files --show-diff-on-failure {posargs:}
|
2023-07-05 23:57:40 +08:00
|
|
|
setenv =
|
|
|
|
# pre-commit and tools it launches are not clean of this warning.
|
|
|
|
PYTHONWARNDEFAULTENCODING=
|
2013-10-12 21:39:22 +08:00
|
|
|
|
2016-08-23 10:35:41 +08:00
|
|
|
[testenv:docs]
|
2018-12-20 04:12:12 +08:00
|
|
|
basepython = python3
|
2019-05-07 06:42:06 +08:00
|
|
|
usedevelop = True
|
2019-11-25 11:06:30 +08:00
|
|
|
deps =
|
|
|
|
-r{toxinidir}/doc/en/requirements.txt
|
2021-11-11 23:48:54 +08:00
|
|
|
# https://github.com/twisted/towncrier/issues/340
|
|
|
|
towncrier<21.3.0
|
2017-07-17 07:27:37 +08:00
|
|
|
commands =
|
2020-05-31 23:11:11 +08:00
|
|
|
python scripts/towncrier-draft-to-file.py
|
2019-11-25 11:06:30 +08:00
|
|
|
# the '-t changelog_towncrier_draft' tags makes sphinx include the draft
|
|
|
|
# changelog in the docs; this does not happen on ReadTheDocs because it uses
|
|
|
|
# the standard sphinx command so the 'changelog_towncrier_draft' is never set there
|
2020-02-29 07:47:30 +08:00
|
|
|
sphinx-build -W --keep-going -b html doc/en doc/en/_build/html -t changelog_towncrier_draft {posargs:}
|
2023-07-05 23:57:40 +08:00
|
|
|
setenv =
|
|
|
|
# Sphinx is not clean of this warning.
|
|
|
|
PYTHONWARNDEFAULTENCODING=
|
2010-10-10 19:48:49 +08:00
|
|
|
|
2019-07-13 22:06:56 +08:00
|
|
|
[testenv:docs-checklinks]
|
|
|
|
basepython = python3
|
|
|
|
usedevelop = True
|
|
|
|
changedir = doc/en
|
|
|
|
deps = -r{toxinidir}/doc/en/requirements.txt
|
|
|
|
commands =
|
2019-08-28 03:00:48 +08:00
|
|
|
sphinx-build -W -q --keep-going -b linkcheck . _build
|
2023-07-05 23:57:40 +08:00
|
|
|
setenv =
|
|
|
|
# Sphinx is not clean of this warning.
|
|
|
|
PYTHONWARNDEFAULTENCODING=
|
2019-07-13 22:06:56 +08:00
|
|
|
|
2012-10-07 19:06:17 +08:00
|
|
|
[testenv:regen]
|
2017-07-17 07:27:37 +08:00
|
|
|
changedir = doc/en
|
2019-09-28 22:20:54 +08:00
|
|
|
basepython = python3
|
2022-12-13 19:12:42 +08:00
|
|
|
passenv =
|
|
|
|
SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST
|
2017-07-17 07:27:37 +08:00
|
|
|
deps =
|
|
|
|
PyYAML
|
2021-10-04 14:56:26 +08:00
|
|
|
regendoc>=0.8.1
|
2019-11-25 11:06:30 +08:00
|
|
|
sphinx
|
2023-01-13 18:15:41 +08:00
|
|
|
allowlist_externals =
|
2015-09-22 20:02:11 +08:00
|
|
|
make
|
2017-07-17 07:27:37 +08:00
|
|
|
commands =
|
2012-10-07 19:06:17 +08:00
|
|
|
make regen
|
2023-07-05 23:57:40 +08:00
|
|
|
setenv =
|
|
|
|
# We don't want this warning to reach regen output.
|
|
|
|
PYTHONWARNDEFAULTENCODING=
|
2012-10-07 19:06:17 +08:00
|
|
|
|
2020-09-20 02:56:52 +08:00
|
|
|
[testenv:plugins]
|
2020-09-23 20:14:27 +08:00
|
|
|
# use latest versions of all plugins, including pre-releases
|
2020-09-20 02:56:52 +08:00
|
|
|
pip_pre=true
|
2021-12-28 17:01:23 +08:00
|
|
|
# use latest pip to get new dependency resolver (#7783)
|
2020-09-23 20:14:27 +08:00
|
|
|
download=true
|
2021-12-28 17:01:23 +08:00
|
|
|
install_command=python -m pip install {opts} {packages}
|
2020-09-20 02:56:52 +08:00
|
|
|
changedir = testing/plugins_integration
|
2020-10-10 23:51:35 +08:00
|
|
|
deps = -rtesting/plugins_integration/requirements.txt
|
2020-09-20 02:56:52 +08:00
|
|
|
setenv =
|
|
|
|
PYTHONPATH=.
|
|
|
|
commands =
|
|
|
|
pip check
|
|
|
|
pytest bdd_wallet.py
|
|
|
|
pytest --cov=. simple_integration.py
|
|
|
|
pytest --ds=django_settings simple_integration.py
|
|
|
|
pytest --html=simple.html simple_integration.py
|
2020-09-28 02:25:04 +08:00
|
|
|
pytest --reruns 5 simple_integration.py
|
2020-09-20 02:56:52 +08:00
|
|
|
pytest pytest_anyio_integration.py
|
|
|
|
pytest pytest_asyncio_integration.py
|
|
|
|
pytest pytest_mock_integration.py
|
|
|
|
pytest pytest_trio_integration.py
|
|
|
|
pytest pytest_twisted_integration.py
|
|
|
|
pytest simple_integration.py --force-sugar --flakes
|
|
|
|
|
2023-07-01 06:19:19 +08:00
|
|
|
[testenv:py38-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]
|
2021-12-27 20:23:15 +08:00
|
|
|
description = do a release, required posarg of the version number
|
2019-09-28 22:20:54 +08:00
|
|
|
basepython = python3
|
2019-05-07 06:42:06 +08:00
|
|
|
usedevelop = True
|
2018-07-14 21:21:31 +08:00
|
|
|
passenv = *
|
|
|
|
deps =
|
|
|
|
colorama
|
2020-03-02 01:46:35 +08:00
|
|
|
github3.py
|
2020-12-13 00:08:15 +08:00
|
|
|
pre-commit>=2.9.3
|
2018-07-14 21:21:31 +08:00
|
|
|
wheel
|
2021-11-11 23:48:54 +08:00
|
|
|
# https://github.com/twisted/towncrier/issues/340
|
|
|
|
towncrier<21.3.0
|
2018-07-14 21:21:31 +08:00
|
|
|
commands = python scripts/release.py {posargs}
|
|
|
|
|
2020-12-16 18:50:02 +08:00
|
|
|
[testenv:prepare-release-pr]
|
2021-12-27 20:23:15 +08:00
|
|
|
description = prepare a release PR from a manual trigger in GitHub actions
|
2020-12-16 18:50:02 +08:00
|
|
|
usedevelop = {[testenv:release]usedevelop}
|
|
|
|
passenv = {[testenv:release]passenv}
|
|
|
|
deps = {[testenv:release]deps}
|
|
|
|
commands = python scripts/prepare-release-pr.py {posargs}
|
|
|
|
|
2019-12-20 19:54:44 +08:00
|
|
|
[testenv:publish-gh-release-notes]
|
2019-08-10 22:03:36 +08:00
|
|
|
description = create GitHub release after deployment
|
2019-09-28 22:20:54 +08:00
|
|
|
basepython = python3
|
2019-08-10 22:03:36 +08:00
|
|
|
usedevelop = True
|
2022-12-13 19:12:42 +08:00
|
|
|
passenv =
|
|
|
|
GH_RELEASE_NOTES_TOKEN
|
|
|
|
GITHUB_REF
|
|
|
|
GITHUB_REPOSITORY
|
2019-08-10 22:03:36 +08:00
|
|
|
deps =
|
|
|
|
github3.py
|
|
|
|
pypandoc
|
2019-12-20 19:54:44 +08:00
|
|
|
commands = python scripts/publish-gh-release-notes.py {posargs}
|
2019-08-10 22:03:36 +08:00
|
|
|
|
2015-07-24 16:05:54 +08:00
|
|
|
[flake8]
|
2017-07-17 07:27:37 +08:00
|
|
|
max-line-length = 120
|
2020-07-18 17:28:44 +08:00
|
|
|
extend-ignore =
|
|
|
|
; whitespace before ':'
|
|
|
|
E203
|
|
|
|
; Missing Docstrings
|
|
|
|
D100,D101,D102,D103,D104,D105,D106,D107
|
|
|
|
; Whitespace Issues
|
|
|
|
D202,D203,D204,D205,D209,D213
|
|
|
|
; Quotes Issues
|
|
|
|
D302
|
|
|
|
; Docstring Content Issues
|
|
|
|
D400,D401,D401,D402,D405,D406,D407,D408,D409,D410,D411,D412,D413,D414,D415,D416,D417
|
2019-03-01 21:24:09 +08:00
|
|
|
|
2020-12-13 18:10:06 +08:00
|
|
|
|
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
|