commit: 0f9dc502a7920152f07009d8926a170625be862b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 3 20:03:46 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jan 3 20:30:23 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0f9dc502
dev-python/pipx: Run tests offline
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/pipx/Manifest | 1 +
dev-python/pipx/pipx-1.4.1.ebuild | 45 ++++++++++++++++++++++++++++++++++++---
2 files changed, 43 insertions(+), 3 deletions(-)
diff --git a/dev-python/pipx/Manifest b/dev-python/pipx/Manifest
index 14fcdd855dad..ad9bd8ae8cee 100644
--- a/dev-python/pipx/Manifest
+++ b/dev-python/pipx/Manifest
@@ -1,2 +1,3 @@
DIST pipx-1.4.0.gh.tar.gz 357942 BLAKE2B
34b0ede5a5160c8a5fcdff81c4902e0119041e7740b165c3a384234ba8362fa95db8002778a8987b4f93d9bd132152868171bb1627987c4cb7f4eb1cf2e4cc84
SHA512
5a0cd494ed6a4faa3f9f5cc5c56ee8ce9f27b3a456ad2eed2eaf5a9d175ea97209b2ec7b95e1500e1126ec066660f344f942692916cef552c39f49b2669160c9
+DIST pipx-1.4.1-test-shim.tar.xz 76316 BLAKE2B
25200c9519f8e916cba3933b4df3cc808d5575ac055c4465dbd4cf0ced92bc7f0bca5c448e324b9d61a0cf70710f584cfba6106859ffcccf42e0f59910b81cd0
SHA512
760ad73c67588747bed91b7172821a8e899e52fff8966836d7a2b3dc8cd3946006c76fdcae0320364fe0cb5afc8b51dd583c0a3720099812702fb585b98b9fef
DIST pipx-1.4.1.gh.tar.gz 357978 BLAKE2B
2ef4f303eafacd84d4b157043a03dc9365708882080bddb1cbcbf16910686ad65938314953a1d1b5be86243fb614f7b705dd91362cd3d7199434147004d529e7
SHA512
04fa29b02a25f21544ae2bbc86fa927fd3c03f98b3f1bd6beee318cbb34849edfbd553fb3b9f94015aab16039aa49f706092a75bd2f865f04dec56a34da43f1f
diff --git a/dev-python/pipx/pipx-1.4.1.ebuild
b/dev-python/pipx/pipx-1.4.1.ebuild
index 1b7ee2c493b3..388b94a953f1 100644
--- a/dev-python/pipx/pipx-1.4.1.ebuild
+++ b/dev-python/pipx/pipx-1.4.1.ebuild
@@ -8,6 +8,7 @@ PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
+TEST_SHIM=pipx-1.4.1-test-shim
DESCRIPTION="Install and Run Python Applications in Isolated Environments"
HOMEPAGE="
https://pipx.pypa.io/stable/
@@ -18,6 +19,9 @@ HOMEPAGE="
SRC_URI="
https://github.com/pypa/pipx/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
+ test? (
+ https://dev.gentoo.org/~mgorny/dist/${TEST_SHIM}.tar.xz
+ )
"
LICENSE="MIT"
@@ -35,14 +39,49 @@ RDEPEND="
"
BDEPEND="
dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ensurepip-pip
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+ dev-python/pypiserver[${PYTHON_USEDEP}]
+ )
"
-PROPERTIES="test_network"
-RESTRICT="test"
+EPYTEST_XDIST=1
distutils_enable_tests pytest
export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+src_prepare() {
+ if use test; then
+ cp -vs
"${BROOT}"/usr/lib/python/ensurepip/{pip,setuptools,wheel}-*.whl \
+ "${WORKDIR}/${TEST_SHIM}/" || die
+ mkdir -p .pipx_tests/package_cache || die
+ local v
+ for v in 3.{10..12}; do
+ ln -s "${WORKDIR}/${TEST_SHIM}" \
+ ".pipx_tests/package_cache/${v}" || die
+ done
+
+ : > scripts/update_package_cache.py || die
+ # sigh
+ sed -e 's:server = str.*:server = "pypi-server":' \
+ -i tests/conftest.py || die
+ fi
+
+ distutils-r1_src_prepare
+}
+
python_test() {
- epytest --net-pypiserver
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_run.py::test_run_ensure_null_pythonpath
+ tests/test_run.py::test_run_script_from_internet
+
'tests/test_install.py::test_install_package_specs[pycowsay-git+https://github.com/cs01/pycowsay.git@master]'
+ tests/test_install.py::test_force_install_changes
+
'tests/test_install.py::test_install_package_specs[nox-https://github.com/wntrblm/nox/archive/2022.1.7.zip]'
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -x
}