-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.cfg
118 lines (95 loc) · 2.06 KB
/
setup.cfg
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
[mypy]
files = devinstaller_core/**/*.py
mypy_path = stubs/
[mypy-cerberus.*]
ignore_missing_imports = True
[mypy-questionary.*]
ignore_missing_imports = True
[mypy-pydantic.*]
ignore_missing_imports = True
[mypy-typeguard.*]
ignore_missing_imports = True
[tox:tox]
envlist = clean, py38, report
isolated_build = True
skip_missing_interpreters = True
[testenv]
passenv = CI_*
CODECOV_TOKEN
deps =
pytest
pytest-subprocess
pytest-cov
pytest-mock
pytest-lazy-fixture
hypothesis-fspaths
hypothesis
commands =
pytest -s -vv --cov --cov-append --cov-report=term-missing
[testenv:clean]
deps = coverage
skip_install = true
commands = coverage erase
[testenv:report]
deps =
codecov
skip_install = true
commands =
-codecov
[testenv:check]
description = linting and type checking the code
basepython = python3.8
deps =
-rrequirements.txt
pylint
flake8
mypy
whitelist_externals = mypy
commands =
pylint devinstaller_core
flake8 devinstaller_core
mypy
# coverage config
[coverage:run]
branch = True
omit =
*/.local/*
*/tests/*
*/virtualenvs/*
*/.tox/*
command_line =
-m pytest -vv
[coverage:paths]
source =
devinstaller_core/
[coverage:report]
# Regexes for lines to exclude from consideration
exclude_lines =
# Have to re-enable the standard pragma
pragma: no cover
# Don't complain about missing debug-only code:
def __repr__
if self\.debug
# Don't complain if tests don't hit defensive assertion code:
raise AssertionError
raise NotImplementedError
# Don't complain if non-runnable code isn't run:
if 0:
if __name__ == .__main__.:
ignore_errors = True
[flake8]
ignore = E203, E302, E501, E999
max-line-length = 88
max-complexity = 12
select = B,C,E,F,W,B9
[pylint.MESSAGES CONTROL]
disable=
C0330, C0301
[settings]
known_third_party = anymarkup,cerberus,docutils,hypothesis,hypothesis_fspaths,oschmod,pydantic,pytest,questionary,requests,rich,typeguard
[isort]
profile=black
# [tool:pytest]
# addopts = -vv
[pytest-watch]
nobeep = True