summaryrefslogtreecommitdiff
path: root/setup.cfg
blob: 1d851d94929c63b0a4d4e316d7069fd5ed4464ab (plain)
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
[isort]
profile = black
skip =
    ./build,
    .nox,
    .tox,
    .scratch,
    _vendor,
    data
known_third_party =
    pip._vendor

[flake8]
max-line-length = 88
exclude =
    ./build,
    .nox,
    .tox,
    .scratch,
    _vendor,
    data
enable-extensions = G
extend-ignore =
    G200, G202,
    # black adds spaces around ':'
    E203,
per-file-ignores =
    # G: The plugin logging-format treats every .log and .error as logging.
    noxfile.py: G
    # B011: Do not call assert False since python -O removes these calls
    tests/*: B011

[mypy]
ignore_missing_imports = True
disallow_untyped_defs = True
disallow_any_generics = True
warn_unused_ignores = True

[mypy-pip/_vendor/*]
follow_imports = skip
ignore_errors = True

[tool:pytest]
addopts = --ignore src/pip/_vendor --ignore tests/tests_cache -r aR
markers =
    network: tests that need network
    incompatible_with_test_venv
    incompatible_with_venv
    no_auto_tempdir_manager
    unit: unit tests
    integration: integration tests
    bzr: VCS: Bazaar
    svn: VCS: Subversion
    mercurial: VCS: Mercurial
    git: VCS: git
    yaml: yaml based tests
    search: tests for 'pip search'

[coverage:run]
branch = True
# Do not gather coverage for vendored libraries.
omit = */_vendor/*
# Centralized absolute file prefix for coverage files.
data_file = ${COVERAGE_OUTPUT_DIR}/.coverage
# By default, each covered process will try to truncate and then write to
# `data_file`, but with `parallel`, they will write to separate files suffixed
# with hostname, pid, and a timestamp.
parallel = True
# If not set, then at the termination of each worker (when using pytest-xdist),
# the following is traced: "Coverage.py warning: Module pip was previously
# imported, but not measured (module-not-measured)"
disable_warnings = module-not-measured

[coverage:paths]
# We intentionally use "source0" here because pytest-cov unconditionally sets
# "source" after loading the config.
source0 =
    # The primary source code path which other paths will be combined into.
    src/pip/
    # Unit test source directory e.g.
    # `.tox/coverage-py3/lib/pythonX.Y/site-packages/pip/...`
    */site-packages/pip/
    # Functional test virtual environment directories, which look like
    # `tmpdir/pip0/pip/src/pip/...`
    */pip/src/pip/

[coverage:report]
exclude_lines =
    # We must re-state the default because the `exclude_lines` option overrides
    # it.
    pragma: no cover
    # This excludes typing-specific code, which will be validated by mypy anyway.
    if TYPE_CHECKING
    # Can be set to exclude e.g. `if PY2:` on Python 3
    ${PIP_CI_COVERAGE_EXCLUDES}

[metadata]
license_file = LICENSE.txt