1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
[tox]
envlist = mypy, check, pypy3, py{36,37,38,39}, docs
[testenv]
passenv = TRAVIS TRAVIS_* APPVEYOR APPVEYOR_* GITHUB_* PYTEST_ADDOPTS COVERALLS_* LIBARCHIVE
extras = test
commands =
python -m pytest -vv
depends =
pypy3,py{36,37,38,39}: clean, check
[testenv:py38]
extras = test, zstd, multivolume, test_compat, ppmd
[testenv:pypy3]
extras = test, zstd, ppmd, test_compat
[flake8]
ignore = F841
[pytest]
basepython =
py36: python3.6
py37: python3.7
py38: python3.8
py39: python3.9
pypy3: pypy3
python_files = test*.py
norecursedirs = .git _build tmp* .eggs
addopts = --cov-config=pyproject.toml --cov --cov-append
timeout = 480
markers =
asyncio: mark a atest as an asyncio test.
basic: mark a test as a basic feature test.
files: mark a test as a test with actual files.
api: mark a test as an interface test.
unit: mark a test as an unit test.
cli: mark a test as a cli test.
benchmark: mark a test as a benchmarking.
misc: misc tests
[testenv:mypy]
basepython = python3.7
extras = zstd, check
commands = mypy py7zr
[mypy]
warn_redundant_casts = True
warn_unused_ignores = True
strict_optional = True
show_column_numbers = True
[testenv:check]
basepython = python3.7
extras = zstd, check
ignore_errors=true
commands =
check-manifest {toxinidir}
flake8 py7zr tests setup.py
isort --quiet --check-only --diff py7zr tests setup.py
python setup.py sdist
twine check dist/*
[isort]
known_first_party = py7zr
known_third_party = docutils,flake8,pyannotate_runtime,pytest,pytz,setuptools,sphinx,yaml
line_length = 125
[testenv:clean]
deps = coverage[toml]>=5.2
skip_install = true
commands = coverage erase
[testenv:coveralls]
deps =
coveralls
skip_install = true
commands =
coveralls []
[testenv:docs]
basepython = python3.7
extras = docs
commands =
sphinx-build {posargs:-E} -b html docs build/docs
sphinx-build -b linkcheck docs build/docs
[testenv:report]
basepython = python3.7
deps = coverage[toml]>=5.2
skip_install = true
commands =
coverage report
coverage html -d build/htmlcov
[gh-actions]
python =
3.6: py36
3.7: py37, check, mypy, docs
3.8: py38
3.9: py39
pypy3: pypy3
|