public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-python/apache-libcloud/files/, dev-python/apache-libcloud/
@ 2024-06-20 15:20 Michał Górny
  0 siblings, 0 replies; only message in thread
From: Michał Górny @ 2024-06-20 15:20 UTC (permalink / raw
  To: gentoo-commits

commit:     bf06b7b9ea6b606bd4080deab9526d8147dd64d7
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 20 15:12:23 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jun 20 15:20:06 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bf06b7b9

dev-python/apache-libcloud: Fix tests

Closes: https://bugs.gentoo.org/931233
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 .../apache-libcloud-3.8.0-r1.ebuild                | 28 +++++++++++++++-------
 .../files/apache-libcloud-3.8.0-pytest-8.2.patch   | 25 +++++++++++++++++++
 2 files changed, 45 insertions(+), 8 deletions(-)

diff --git a/dev-python/apache-libcloud/apache-libcloud-3.8.0-r1.ebuild b/dev-python/apache-libcloud/apache-libcloud-3.8.0-r1.ebuild
index 26ad934cf8f7..f5aa54b9b35f 100644
--- a/dev-python/apache-libcloud/apache-libcloud-3.8.0-r1.ebuild
+++ b/dev-python/apache-libcloud/apache-libcloud-3.8.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -35,13 +35,14 @@ BDEPEND="
 
 distutils_enable_tests pytest
 
-EPYTEST_DESELECT=(
-	# Needs network access
-	libcloud/test/compute/test_ovh.py::OvhTests::test_list_nodes_invalid_region
-	libcloud/test/test_connection.py::BaseConnectionClassTestCase::test_connection_timeout_raised
-)
-
 src_prepare() {
+	local PATCHES=(
+		# https://github.com/apache/libcloud/pull/2014
+		"${FILESDIR}/${P}-pytest-8.2.patch"
+	)
+
+	distutils-r1_src_prepare
+
 	if use examples; then
 		mkdir examples || die
 		mv example_*.py examples || die
@@ -49,8 +50,19 @@ src_prepare() {
 
 	# needed for tests
 	cp libcloud/test/secrets.py-dist libcloud/test/secrets.py || die
+}
 
-	distutils-r1_src_prepare
+python_test() {
+	local EPYTEST_DESELECT=(
+		# Needs network access
+		libcloud/test/compute/test_ovh.py::OvhTests::test_list_nodes_invalid_region
+		libcloud/test/test_connection.py::BaseConnectionClassTestCase::test_connection_timeout_raised
+		# TODO
+		libcloud/test/test_init.py::TestUtils::test_init_once_and_debug_mode
+	)
+
+	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+	epytest
 }
 
 src_install() {

diff --git a/dev-python/apache-libcloud/files/apache-libcloud-3.8.0-pytest-8.2.patch b/dev-python/apache-libcloud/files/apache-libcloud-3.8.0-pytest-8.2.patch
new file mode 100644
index 000000000000..03917b0dac75
--- /dev/null
+++ b/dev-python/apache-libcloud/files/apache-libcloud-3.8.0-pytest-8.2.patch
@@ -0,0 +1,25 @@
+From 0b69d0bf23b6c2edb1e2002f47ff2df0080e96d9 Mon Sep 17 00:00:00 2001
+From: Steve Kowalik <steven@wedontsleep.org>
+Date: Thu, 6 Jun 2024 12:25:15 +1000
+Subject: [PATCH] Mark MockHttp as not for collection by pytest
+
+pytest 8.2.0 contains a regression that will collect non-test classes,
+so as to be explicit about it, mark MockHttp (and therefore all of its
+children classes) as not to be collected.
+---
+ libcloud/test/__init__.py | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/libcloud/test/__init__.py b/libcloud/test/__init__.py
+index d45c82c84d..d0da40c74a 100644
+--- a/libcloud/test/__init__.py
++++ b/libcloud/test/__init__.py
+@@ -97,6 +97,8 @@ class MockHttp(LibcloudConnection):
+ 
+         (int status, str body, dict headers, str reason)
+     """
++    # pytest may collect this class, and we don't need or want that
++    __test__ = False
+ 
+     type = None
+     use_param = None  # will use this param to namespace the request function


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2024-06-20 15:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-20 15:20 [gentoo-commits] repo/gentoo:master commit in: dev-python/apache-libcloud/files/, dev-python/apache-libcloud/ 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