public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [PATCH 1/3] python-utils-r1.eclass: Do not pass `-p xdist` w/ PYTEST_PLUGINS
@ 2023-11-18 16:52 Michał Górny
  2023-11-18 16:52 ` [gentoo-dev] [PATCH 2/3] python-utils-r1.eclass: Do not pass `-p no:*` w/ no autoloading Michał Górny
  2023-11-18 16:52 ` [gentoo-dev] [PATCH 3/3] distutils-r1.eclass: Silence pydevd warnings Michał Górny
  0 siblings, 2 replies; 3+ messages in thread
From: Michał Górny @ 2023-11-18 16:52 UTC (permalink / raw)
  To: gentoo-dev; +Cc: Michał Górny

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@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
-- 
2.42.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-11-18 16:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-18 16:52 [gentoo-dev] [PATCH 1/3] python-utils-r1.eclass: Do not pass `-p xdist` w/ PYTEST_PLUGINS Michał Górny
2023-11-18 16:52 ` [gentoo-dev] [PATCH 2/3] python-utils-r1.eclass: Do not pass `-p no:*` w/ no autoloading Michał Górny
2023-11-18 16:52 ` [gentoo-dev] [PATCH 3/3] distutils-r1.eclass: Silence pydevd warnings Michał Górny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox