commit: a50f2ca09542794bf87e9f3a518d88fecdc0a2fe
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 18 15:52:00 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov 19 16:01:13 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a50f2ca0
python-utils-r1.eclass: Do not pass `-p xdist` w/ PYTEST_PLUGINS
Fix `epytest` with `EPYTEST_XDIST` not to pass a duplicate `-p xdist`
when `xdist.plugin` is already present in `PYTEST_PLUGINS`. Otherwise,
pytest will fail due to the plugin being loaded twice.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/python-utils-r1.eclass | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 80abe974f9df..1de4f325de33 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1390,10 +1390,14 @@ epytest() {
if [[ ${EPYTEST_XDIST} ]]; then
local jobs=${EPYTEST_JOBS:-$(makeopts_jobs)}
if [[ ${jobs} -gt 1 ]]; then
+ if [[ ${PYTEST_PLUGINS} != *xdist.plugin* ]]; then
+ args+=(
+ # explicitly enable the plugin, in case
the ebuild was
+ # using PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ -p xdist
+ )
+ fi
args+=(
- # explicitly enable the plugin, in case the
ebuild was using
- # PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- -p xdist
-n "${jobs}"
# worksteal ensures that workers don't end up
idle when heavy
# jobs are unevenly distributed