HomeAssistantRepository/dev-python/pip/files/pip-20.2-no-coverage.patch

164 lines
6.0 KiB
Diff

From 43389903a55a5432ca8556f42fb2252c91c7ca45 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Wed, 29 Jul 2020 07:42:25 +0200
Subject: [PATCH] Revert "Add basic test coverage configuration"
This is just PITA since coverage uses native C extensions.
---
.coveragerc | 4 +++
setup.cfg | 38 ----------------------
tests/conftest.py | 16 +--------
tools/requirements/tests-common_wheels.txt | 2 --
tox.ini | 16 ++-------
5 files changed, 7 insertions(+), 69 deletions(-)
create mode 100644 .coveragerc
diff --git a/.coveragerc b/.coveragerc
new file mode 100644
index 00000000..5f833c94
--- /dev/null
+++ b/.coveragerc
@@ -0,0 +1,4 @@
+[run]
+branch = True
+omit =
+ src/pip/_vendor/*
diff --git a/setup.cfg b/setup.cfg
index 45fd58a3..e40596e9 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -67,44 +67,6 @@ markers =
yaml: yaml based tests
fails_on_new_resolver: Does not yet work on the new resolver
-[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 MYPY_CHECK_RUNNING
- # Can be set to exclude e.g. `if PY2:` on Python 3
- ${PIP_CI_COVERAGE_EXCLUDES}
-
[bdist_wheel]
universal = 1
diff --git a/tests/conftest.py b/tests/conftest.py
index 2aab5020..0db6d967 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -294,13 +294,6 @@ def wheel_install(tmpdir_factory, common_wheels):
'wheel')
-@pytest.fixture(scope='session')
-def coverage_install(tmpdir_factory, common_wheels):
- return _common_wheel_editable_install(tmpdir_factory,
- common_wheels,
- 'coverage')
-
-
def install_egg_link(venv, project_name, egg_info_dir):
with open(venv.site / 'easy-install.pth', 'a') as fp:
fp.write(str(egg_info_dir.resolve()) + '\n')
@@ -310,7 +303,7 @@ def install_egg_link(venv, project_name, egg_info_dir):
@pytest.fixture(scope='session')
def virtualenv_template(request, tmpdir_factory, pip_src,
- setuptools_install, coverage_install):
+ setuptools_install, common_wheels):
if six.PY3 and request.config.getoption('--use-venv'):
venv_type = 'venv'
@@ -334,13 +327,6 @@ def virtualenv_template(request, tmpdir_factory, pip_src,
subprocess.check_call([venv.bin / 'python', 'setup.py', '-q', 'develop'],
cwd=pip_editable)
- # Install coverage and pth file for executing it in any spawned processes
- # in this virtual environment.
- install_egg_link(venv, 'coverage', coverage_install)
- # zz prefix ensures the file is after easy-install.pth.
- with open(venv.site / 'zz-coverage-helper.pth', 'a') as f:
- f.write('import coverage; coverage.process_startup()')
-
# Drop (non-relocatable) launchers.
for exe in os.listdir(venv.bin):
if not (
diff --git a/tools/requirements/tests-common_wheels.txt b/tools/requirements/tests-common_wheels.txt
index f0edf0b0..6703d606 100644
--- a/tools/requirements/tests-common_wheels.txt
+++ b/tools/requirements/tests-common_wheels.txt
@@ -7,5 +7,3 @@
setuptools >= 40.8.0
wheel
-# As required by pytest-cov.
-coverage >= 4.4
diff --git a/tox.ini b/tox.ini
index 82e9abc6..7a19ca61 100644
--- a/tox.ini
+++ b/tox.ini
@@ -8,7 +8,6 @@ envlist =
# Wrapper for calls to pip that make sure the version being used is the
# original virtualenv (stable) version, and not the code being tested.
pip = python {toxinidir}/tools/tox_pip.py
-mkdirp = python -c 'import os, sys; os.path.exists(sys.argv[1]) or os.mkdir(sys.argv[1])'
[testenv]
# Remove USERNAME once we drop PY2.
@@ -31,20 +30,9 @@ commands = pytest --timeout 300 []
install_command = {[helpers]pip} install {opts} {packages}
list_dependencies_command = {[helpers]pip} freeze --all
-[testenv:coverage]
+[testenv:coverage-py3]
basepython = python3
-commands =
- {[helpers]mkdirp} {toxinidir}/.coverage-output
- pytest --timeout 300 --cov=pip --cov-config={toxinidir}/setup.cfg []
-
-setenv =
- # Used in coverage configuration in setup.cfg.
- COVERAGE_OUTPUT_DIR = {toxinidir}/.coverage-output
- # Ensure coverage is enabled in child processes in virtual environments
- # since they won't already have been enabled by pytest-cov.
- COVERAGE_PROCESS_START = {toxinidir}/setup.cfg
- # Used in coverage configuration in setup.cfg.
- PIP_CI_COVERAGE_EXCLUDES = if PY2
+commands = pytest --timeout 300 --cov=pip --cov-report=term-missing --cov-report=xml --cov-report=html tests/unit {posargs}
[testenv:docs]
# Don't skip install here since pip_sphinxext uses pip's internals.
--
2.28.0