commit:     bc9ab1a2ab6419fa03e4217c9c768c2a716bc56a
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 22 12:57:54 2021 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Tue Jun 22 13:10:14 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc9ab1a2

dev-python/docopt: make tests compatible with >=pytest-6

While at it, remove bits which are now handled by the eclass.

Invoking maintainer time-out.

Closes: https://bugs.gentoo.org/737924
Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 dev-python/docopt/docopt-0.6.2-r4.ebuild           | 22 ++++++++++++++++++
 .../docopt-0.6.2-pytest_node_from_parent.patch     | 26 ++++++++++++++++++++++
 2 files changed, 48 insertions(+)

diff --git a/dev-python/docopt/docopt-0.6.2-r4.ebuild 
b/dev-python/docopt/docopt-0.6.2-r4.ebuild
new file mode 100644
index 00000000000..43fc62d58df
--- /dev/null
+++ b/dev-python/docopt/docopt-0.6.2-r4.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( pypy3 python3_{8..10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Pythonic argument parser, that will make you smile"
+HOMEPAGE="https://pypi.org/project/docopt/ https://github.com/docopt/docopt";
+SRC_URI="https://github.com/docopt/docopt/archive/${PV}.tar.gz -> 
${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux 
~x86-linux"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.6.2-pytest_node_from_parent.patch
+)
+
+distutils_enable_tests pytest

diff --git a/dev-python/docopt/files/docopt-0.6.2-pytest_node_from_parent.patch 
b/dev-python/docopt/files/docopt-0.6.2-pytest_node_from_parent.patch
new file mode 100644
index 00000000000..bf6ef1f8034
--- /dev/null
+++ b/dev-python/docopt/files/docopt-0.6.2-pytest_node_from_parent.patch
@@ -0,0 +1,26 @@
+--- a/conftest.py
++++ b/conftest.py
+@@ -11,7 +11,10 @@
+ 
+ def pytest_collect_file(path, parent):
+     if path.ext == ".docopt" and path.basename.startswith("test"):
+-        return DocoptTestFile(path, parent)
++        if hasattr(DocoptTestFile, "from_parent"):
++            return DocoptTestFile.from_parent(parent, fspath=path)
++        else:
++            return DocoptTestFile(path, parent)
+ 
+ 
+ def parse_test(raw):
+@@ -41,7 +44,10 @@
+         for name, doc, cases in parse_test(raw):
+             name = self.fspath.purebasename
+             for case in cases:
+-                yield DocoptTestItem("%s(%d)" % (name, index), self, doc, 
case)
++                if hasattr(DocoptTestItem, "from_parent"):
++                    yield DocoptTestItem.from_parent(self, name="%s(%d)" % 
(name, index), doc=doc, case=case)
++                else:
++                    yield DocoptTestItem("%s(%d)" % (name, index), self, doc, 
case)
+                 index += 1
+ 
+ 

Reply via email to