-
Notifications
You must be signed in to change notification settings - Fork 25
/
tox.ini
84 lines (77 loc) · 2.52 KB
/
tox.ini
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