-
Notifications
You must be signed in to change notification settings - Fork 1
/
tox.ini
100 lines (86 loc) · 2.12 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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
[tox]
minversion = 3.6
envlist =
linting
cov-init
functional
cov-report
performance
docs
isolated_build = true
skip_missing_interpreters = true
ignore_errors = false
[tox:.package]
basepython = python3
[testenv]
basepython = python3
passenv = COVERAGE_* GRAPH_* PYTEST_ADDOPTS
whitelist_externals = poetry
commands =
poetry install -v --no-dev --extras=test
pytest {env:_PYTEST_TOX_ARGS:} {env:_PYTEST_TOX_RUN:/tests} {posargs}
setenv =
_PYTEST_TOX_ARGS = -m "not functional" --benchmark-skip --random-order --cov --cov-report=
functional: _PYTEST_TOX_ARGS = -m "functional" --random-order --cov --cov-report=
performance: _PYTEST_TOX_ARGS = --benchmark-only --benchmark-autosave --random-order
COVERAGE_FILE = .coverage.{envname}
functional: _PYTEST_TOX_RUN = tests/functional
performance: _PYTEST_TOX_RUN = tests/performance
[coverage:run]
include =
ms_graph_exporter/*
[coverage:report]
omit =
tests/
show_missing = True
fail_under = 90.0
[coverage:html]
directory = htmlcov
[testenv:cov-init]
skip_install = true
setenv =
COVERAGE_FILE = .coverage
deps = coverage
commands =
coverage erase
[testenv:cov-report]
skip_install = true
setenv =
COVERAGE_FILE = .coverage
deps = coverage
commands =
coverage combine
coverage report
coverage html
coverage xml
[testenv:docs]
basepython = python3
whitelist_externals = poetry
commands =
poetry install -v --no-dev --extras=docs
sphinx-build -b html -d {envtmpdir}/doctrees docs docs/_build
[testenv:linting]
skip_install = True
basepython = python3
deps = pre-commit>=1.18,<2
commands = pre-commit run --all-files --show-diff-on-failure
[pytest]
markers =
functional: marks tests as functional - requiring external services.
log_format = %(filename)-25s %(lineno)-4d %(levelname)-8s %(asctime)s %(message)s
log_date_format = %Y-%m-%d %H:%M:%S
log_cli = false
log_level = INFO
minversion = 3.5
[flake8]
exclude =
.git
.tox
docs/conf.py
tests/
import-order-style = cryptography
application-import-names = ms_graph_exporter
show-source = true
enable-extensions=G
ignore = W503
max-line-length = 88