* [gentoo-dev] [PATCH 1/6] distutils-r1.eclass: Fix QA to ignore non-generic "pure" wheels
2024-07-19 14:56 [gentoo-dev] [PATCH 0/6] distutils-r1.eclass: Enable wheel reuse by default and add `distutils_enable_tests import-check` Michał Górny
@ 2024-07-19 14:56 ` Michał Górny
2024-07-19 14:56 ` [gentoo-dev] [PATCH 2/6] distutils-r1.eclass: Allow wheel reuse by default Michał Górny
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Michał Górny @ 2024-07-19 14:56 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
Fix the QA check to match on `*py3-none-any.whl` to match the code
matching reusable wheels. This avoids false positives over
`dev-python/backrefs` that creates separate pure Python wheels for every
Python version.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
eclass/distutils-r1.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 61c0a80323ec..8227466b4d4c 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1933,7 +1933,7 @@ _distutils-r1_compare_installed_files() {
# Perform the check only if at least one potentially reusable wheel
# has been produced. Nonpure packages (e.g. NumPy) may install
# interpreter configuration details into sitedir.
- if [[ ${!DISTUTILS_WHEELS[*]} != *-none-any.whl* &&
+ if [[ ${!DISTUTILS_WHEELS[*]} != *py3-none-any.whl* &&
${!DISTUTILS_WHEELS[*]} != *-abi3-*.whl ]]; then
return
fi
--
2.45.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-dev] [PATCH 2/6] distutils-r1.eclass: Allow wheel reuse by default
2024-07-19 14:56 [gentoo-dev] [PATCH 0/6] distutils-r1.eclass: Enable wheel reuse by default and add `distutils_enable_tests import-check` Michał Górny
2024-07-19 14:56 ` [gentoo-dev] [PATCH 1/6] distutils-r1.eclass: Fix QA to ignore non-generic "pure" wheels Michał Górny
@ 2024-07-19 14:56 ` Michał Górny
2024-07-19 14:56 ` [gentoo-dev] [PATCH 3/6] distutils-r1.eclass: Add distutils_enable_tests import-check Michał Górny
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Michał Górny @ 2024-07-19 14:56 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
Enable wheel reuse by default, since no issues were revealed during
the testing so far. The option to disable them remains available, as it
can be useful e.g. to verify that reproducible wheels are actually
produced across implementation.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
eclass/distutils-r1.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 8227466b4d4c..645b5df5a6e5 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -195,7 +195,6 @@ esac
# @CODE
# @ECLASS_VARIABLE: DISTUTILS_ALLOW_WHEEL_REUSE
-# @DEFAULT_UNSET
# @USER_VARIABLE
# @DESCRIPTION:
# If set to a non-empty value, the eclass is allowed to reuse a wheel
@@ -205,6 +204,7 @@ esac
# This is an optimization that can avoid the overhead of calling into
# the build system in pure Python packages and packages using the stable
# Python ABI.
+DISTUTILS_ALLOW_WHEEL_REUSE=1
# @ECLASS_VARIABLE: BUILD_DIR
# @OUTPUT_VARIABLE
--
2.45.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-dev] [PATCH 3/6] distutils-r1.eclass: Add distutils_enable_tests import-check
2024-07-19 14:56 [gentoo-dev] [PATCH 0/6] distutils-r1.eclass: Enable wheel reuse by default and add `distutils_enable_tests import-check` Michał Górny
2024-07-19 14:56 ` [gentoo-dev] [PATCH 1/6] distutils-r1.eclass: Fix QA to ignore non-generic "pure" wheels Michał Górny
2024-07-19 14:56 ` [gentoo-dev] [PATCH 2/6] distutils-r1.eclass: Allow wheel reuse by default Michał Górny
@ 2024-07-19 14:56 ` Michał Górny
2024-07-19 14:56 ` [gentoo-dev] [PATCH 4/6] dev-python/ytmusicapi: Enable import-check testing (sample) Michał Górny
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Michał Górny @ 2024-07-19 14:56 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
Add support for using the dev-python/pytest-import-check plugin to
test if all modules installed by the package can be imported.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
eclass/distutils-r1.eclass | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 645b5df5a6e5..fa8edb5cdfb7 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -572,6 +572,9 @@ distutils_enable_sphinx() {
# with the specified test runner. Also copies the current value
# of RDEPEND to test?-BDEPEND. The test-runner argument must be one of:
#
+# - import-check: `pytest --import-check` fallback (for use when there are
+# no tests to run)
+#
# - pytest: dev-python/pytest
#
# - setup.py: setup.py test (no deps included)
@@ -597,9 +600,13 @@ distutils_enable_tests() {
[[ ${#} -eq 1 ]] || die "${FUNCNAME} takes exactly one argument: test-runner"
local test_deps=${RDEPEND}
+ local test_pkgs=
case ${1} in
+ import-check)
+ test_pkgs+=' dev-python/pytest-import-check[${PYTHON_USEDEP}]'
+ ;&
pytest)
- local test_pkgs='>=dev-python/pytest-7.4.4[${PYTHON_USEDEP}]'
+ test_pkgs+=' >=dev-python/pytest-7.4.4[${PYTHON_USEDEP}]'
if [[ -n ${EPYTEST_TIMEOUT} ]]; then
test_pkgs+=' dev-python/pytest-timeout[${PYTHON_USEDEP}]'
fi
@@ -1560,6 +1567,9 @@ distutils-r1_python_test() {
_python_check_EPYTHON
case ${_DISTUTILS_TEST_RUNNER} in
+ import-check)
+ epytest --import-check "${BUILD_DIR}/install$(python_get_sitedir)"
+ ;;
pytest)
epytest
;;
--
2.45.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-dev] [PATCH 4/6] dev-python/ytmusicapi: Enable import-check testing (sample)
2024-07-19 14:56 [gentoo-dev] [PATCH 0/6] distutils-r1.eclass: Enable wheel reuse by default and add `distutils_enable_tests import-check` Michał Górny
` (2 preceding siblings ...)
2024-07-19 14:56 ` [gentoo-dev] [PATCH 3/6] distutils-r1.eclass: Add distutils_enable_tests import-check Michał Górny
@ 2024-07-19 14:56 ` Michał Górny
2024-07-19 14:56 ` [gentoo-dev] [PATCH 5/6] dev-python/pymountboot: " Michał Górny
2024-07-19 14:56 ` [gentoo-dev] [PATCH 6/6] dev-python/miniupnpc: " Michał Górny
5 siblings, 0 replies; 7+ messages in thread
From: Michał Górny @ 2024-07-19 14:56 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
dev-python/ytmusicapi/ytmusicapi-1.7.5.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dev-python/ytmusicapi/ytmusicapi-1.7.5.ebuild b/dev-python/ytmusicapi/ytmusicapi-1.7.5.ebuild
index b1568c0ab835..e101a972e750 100644
--- a/dev-python/ytmusicapi/ytmusicapi-1.7.5.ebuild
+++ b/dev-python/ytmusicapi/ytmusicapi-1.7.5.ebuild
@@ -15,10 +15,10 @@ HOMEPAGE="https://ytmusicapi.readthedocs.io/
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-RESTRICT="test"
RDEPEND="
dev-python/requests[${PYTHON_USEDEP}]
"
distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme
+distutils_enable_tests import-check
--
2.45.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-dev] [PATCH 5/6] dev-python/pymountboot: Enable import-check testing (sample)
2024-07-19 14:56 [gentoo-dev] [PATCH 0/6] distutils-r1.eclass: Enable wheel reuse by default and add `distutils_enable_tests import-check` Michał Górny
` (3 preceding siblings ...)
2024-07-19 14:56 ` [gentoo-dev] [PATCH 4/6] dev-python/ytmusicapi: Enable import-check testing (sample) Michał Górny
@ 2024-07-19 14:56 ` Michał Górny
2024-07-19 14:56 ` [gentoo-dev] [PATCH 6/6] dev-python/miniupnpc: " Michał Górny
5 siblings, 0 replies; 7+ messages in thread
From: Michał Górny @ 2024-07-19 14:56 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
dev-python/pymountboot/pymountboot-0.2.3-r1.ebuild | 2 ++
1 file changed, 2 insertions(+)
diff --git a/dev-python/pymountboot/pymountboot-0.2.3-r1.ebuild b/dev-python/pymountboot/pymountboot-0.2.3-r1.ebuild
index 470b4e018e5b..ee6883922cd4 100644
--- a/dev-python/pymountboot/pymountboot-0.2.3-r1.ebuild
+++ b/dev-python/pymountboot/pymountboot-0.2.3-r1.ebuild
@@ -29,3 +29,5 @@ RDEPEND="
BDEPEND="
virtual/pkgconfig
"
+
+distutils_enable_tests import-check
--
2.45.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-dev] [PATCH 6/6] dev-python/miniupnpc: Enable import-check testing (sample)
2024-07-19 14:56 [gentoo-dev] [PATCH 0/6] distutils-r1.eclass: Enable wheel reuse by default and add `distutils_enable_tests import-check` Michał Górny
` (4 preceding siblings ...)
2024-07-19 14:56 ` [gentoo-dev] [PATCH 5/6] dev-python/pymountboot: " Michał Górny
@ 2024-07-19 14:56 ` Michał Górny
5 siblings, 0 replies; 7+ messages in thread
From: Michał Górny @ 2024-07-19 14:56 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
dev-python/miniupnpc/miniupnpc-2.2.8.ebuild | 1 +
1 file changed, 1 insertion(+)
diff --git a/dev-python/miniupnpc/miniupnpc-2.2.8.ebuild b/dev-python/miniupnpc/miniupnpc-2.2.8.ebuild
index cb0ab1a5907e..4dc7d2542ada 100644
--- a/dev-python/miniupnpc/miniupnpc-2.2.8.ebuild
+++ b/dev-python/miniupnpc/miniupnpc-2.2.8.ebuild
@@ -49,3 +49,4 @@ DOCS=()
# Example test command:
# python -c 'import miniupnpc; u = miniupnpc.UPnP(); u.discover(); u.selectigd(); print(u.externalipaddress())'
+distutils_enable_tests import-check
--
2.45.2
^ permalink raw reply related [flat|nested] 7+ messages in thread