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
|
[tox]
envlist = py{37,38,39,310,311,312,py}-{linux,macos,windows},ironpython-windows,pypy3-{linux,macos,windows}
skip_missing_interpreters = true
[gh-actions]
python =
3.7: py37
3.8: py38
3.9: py39
3.10: py310
3.11: py311
3.12: py312
pypy-3.7: pypy3
pypy-3.8: pypy3
pypy-3.9: pypy3
[gh-actions:env]
PLATFORM =
ubuntu-20.04: linux
ubuntu-latest: linux
macos-13: macos
macos-latest: macos
windows-latest: windows
[testenv]
setenv =
PIP_DISABLE_PIP_VERSION_CHECK = 1
passenv =
SSL_CERT_FILE
TOXENV
CI
CODECOV_*
platform =
linux: linux
macos: darwin
windows: win32
deps = -rtests/test-requirements.txt
; TODO: --benchmark-enable?
commands =
; -n auto (TODO: older pytest-xdist isn't working on windows)
pytest --basetemp={envtmpdir} --benchmark-disable --cov=getmac \
--cov-report term --cov-report html --cov-report xml \
--cov-config=.coveragerc {posargs}
[testenv:benchmark]
description = "Run the test suite with benchmarks enabled"
commands =
; -n auto (TODO: older pytest-xdist isn't working on windows)
pytest --basetemp={envtmpdir} --benchmark-enable {posargs}
[testenv:check]
description = "Run code quality, static analysis, and spelling checks"
setenv =
PIP_DISABLE_PIP_VERSION_CHECK = 1
MYPYPATH=getmac
deps = -rtests/style-requirements.txt
basepython = py3
commands =
codespell --check-filenames --skip="*.log,*.out,build,dist,*.pyc,*.class,*.git,*.vagrant,*.tox,*.egg-info,*.idea,*.vscode,_build,.doctrees,htmlcov,.venv,.mypy_cache,deb_dist,*getmac2.1,*getmac.1,./packaging/rpm/man/*" --ignore-words-list "ether,Expresso,expresso,Espresso,espresso"
flake8 getmac tests setup.py
bandit --quiet --recursive --skip B404,B603,B104 getmac setup.py
vulture --min-confidence 100 getmac tests setup.py
python setup.py --quiet check --strict --metadata
check-manifest --quiet {toxinidir}
[flake8]
max-line-length = 99
application-import-names = getmac
exclude = .github, .vagrant, docs, packaging, samples, scripts, *.egg-info, __pycache__, .git, .tox, .venv getmac/shutilwhich.py
ignore = E203, W503, E401, F401, E226, B902, ANN101, ANN102, T499
per-file-ignores =
tests/*.py:ANN001,ANN002,ANN003,ANN201,ANN202
import-order-style = pycharm
show-source = True
max-complexity = 38
[pytest]
minversion = 3.4
testpaths = tests
norecursedirs = .github getmac samples scripts .git .tox .vagrant .idea .vscode dist build *.egg .* .venv
addopts =
--tb=short
filterwarnings =
ignore::DeprecationWarning
|