summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2020-07-29 07:14:10 +0200
committerMichał Górny <mgorny@gentoo.org>2020-07-29 10:02:55 +0200
commitdba99a9f6104da8a3a9c5ae5dbc8770b01332c3c (patch)
treed4f5f43739687306fa2051cf62a2f1e5fbd2edb0 /dev-python/pip/files
parentdev-python/pandas: Bump to 1.1.0 (diff)
downloadgentoo-dba99a9f6104da8a3a9c5ae5dbc8770b01332c3c.tar.gz
gentoo-dba99a9f6104da8a3a9c5ae5dbc8770b01332c3c.tar.bz2
gentoo-dba99a9f6104da8a3a9c5ae5dbc8770b01332c3c.zip
dev-python/pip: Bump to 20.2
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/pip/files')
-rw-r--r--dev-python/pip/files/pip-20.2-no-coverage.patch163
1 files changed, 163 insertions, 0 deletions
diff --git a/dev-python/pip/files/pip-20.2-no-coverage.patch b/dev-python/pip/files/pip-20.2-no-coverage.patch
new file mode 100644
index 000000000000..55be5b8c9712
--- /dev/null
+++ b/dev-python/pip/files/pip-20.2-no-coverage.patch
@@ -0,0 +1,163 @@
+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
+