summaryrefslogtreecommitdiff
path: root/dev-python/threadpoolctl/threadpoolctl-3.5.0.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/threadpoolctl/threadpoolctl-3.5.0.ebuild')
-rw-r--r--dev-python/threadpoolctl/threadpoolctl-3.5.0.ebuild51
1 files changed, 37 insertions, 14 deletions
diff --git a/dev-python/threadpoolctl/threadpoolctl-3.5.0.ebuild b/dev-python/threadpoolctl/threadpoolctl-3.5.0.ebuild
index 32671d6e2001..6ad893a57a78 100644
--- a/dev-python/threadpoolctl/threadpoolctl-3.5.0.ebuild
+++ b/dev-python/threadpoolctl/threadpoolctl-3.5.0.ebuild
@@ -4,9 +4,9 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 toolchain-funcs
DESCRIPTION="Limit the number of threads used in native libs that have their own threadpool"
HOMEPAGE="
@@ -23,19 +23,42 @@ SLOT="0"
KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv x86 ~arm64-macos ~x64-macos"
BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ )
"
distutils_enable_tests pytest
-EPYTEST_DESELECT=(
- # Asserts against a hardcoded list of CPUs. Either we skip it
- # or file bugs about missing architectures until upstream realizes
- # how bad idea that were.
- tests/test_threadpoolctl.py::test_architecture
- # This test fails if the Python executable (or any library that it
- # links to) uses OpenMP. This can particularly be the case with
- # CPython 3.12 that links to app-crypt/libb2.
- # https://github.com/joblib/threadpoolctl/issues/146
- tests/test_threadpoolctl.py::test_command_line_empty
-)
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Asserts against a hardcoded list of CPUs. Either we skip it
+ # or file bugs about missing architectures until upstream realizes
+ # how bad idea that were.
+ tests/test_threadpoolctl.py::test_architecture
+ # This test fails if the Python executable (or any library that it
+ # links to) uses OpenMP. This can particularly be the case with
+ # CPython 3.12 that links to app-crypt/libb2.
+ # https://github.com/joblib/threadpoolctl/issues/146
+ tests/test_threadpoolctl.py::test_command_line_empty
+ )
+
+ # see continuous_integration/build_test_ext.sh
+ if [[ ! -f tests/_pyMylib/my_threaded_lib.so ]]; then
+ pushd tests/_pyMylib >/dev/null || die
+ $(tc-getCC) ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -fPIC -shared \
+ -o my_threaded_lib.so my_threaded_lib.c || die
+ popd >/dev/null || die
+ fi
+
+ pushd tests/_openmp_test_helper >/dev/null || die
+ "${EPYTHON}" setup_inner.py build_ext -i || die
+ "${EPYTHON}" setup_outer.py build_ext -i || die
+ "${EPYTHON}" setup_nested_prange_blas.py build_ext -i || die
+ popd >/dev/null || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}