summaryrefslogtreecommitdiff
path: root/dev-python/testtools
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-06-29 12:04:12 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-06-29 12:04:12 +0100
commit0f558761aa2dee1017b4751e4017205e015a9560 (patch)
tree037df795519468a25d9362b4e95cdaeb84eb1cf9 /dev-python/testtools
parent752d6256e5204b958b0ef7905675a940b5e9172f (diff)
gentoo resync : 29.12.2022
Diffstat (limited to 'dev-python/testtools')
-rw-r--r--dev-python/testtools/Manifest3
-rw-r--r--dev-python/testtools/files/testtools-2.5.0-py311.patch116
-rw-r--r--dev-python/testtools/testtools-2.5.0-r1.ebuild (renamed from dev-python/testtools/testtools-2.5.0.ebuild)30
3 files changed, 143 insertions, 6 deletions
diff --git a/dev-python/testtools/Manifest b/dev-python/testtools/Manifest
index cc945ff2e7a8..afa5fe8c3675 100644
--- a/dev-python/testtools/Manifest
+++ b/dev-python/testtools/Manifest
@@ -1,3 +1,4 @@
+AUX testtools-2.5.0-py311.patch 5238 BLAKE2B 204a5a14a214c18ec62131810d83393789ae290b1430d154eab009e1cfc23a39828ae8a6869cb00dfe529d88d107fae46487ca137489d2adcc9c3f27b5e5d006 SHA512 fbf14268169696608dd2a27ed32ed9fe566b060b9a6d74dc1985199a4ae28267031e0a829f47dc76b46c70ea389aa4296cebb3e8445cc31e2eaaaf117995ce85
DIST testtools-2.5.0.tar.gz 235399 BLAKE2B 62d62cd12f19eb3fad419dc06e7f0152bf8f70a9f60927b1d791f2905b34e13199ceac93b3d30735acae2c5db1e8554cc5a7f6c8588d1f05fb213c424e90a12b SHA512 6adbf9e90f0647a44130e99cd94e4c0cbfab3a1b5c28b6bb124d061defe69d8043186cfe554099936effe16a6b07d59927bfeb6820f5a0fb34970ff243030fd4
-EBUILD testtools-2.5.0.ebuild 1116 BLAKE2B f8df5f1ed4842db37fe0ab74ac07fa5278fd8fe700233a1b457313c9707a4f10049933ed696d5217113991b45b6731eabdd2c8932da1e440a85991254d74bdd0 SHA512 0b39068383f2369c617aaae9288e9dfdbf3ee0832f3acdcb34bc4649df3903db3fd5b304a16e30fbaa1642927d0ed5894161cfe34ec51113e172acfda50597e2
+EBUILD testtools-2.5.0-r1.ebuild 1495 BLAKE2B a1be4225ba36fb675bfbca2771146217497601c1f923c4520a1fa325f5cf8450f8fbbb87871303f262b74dabf99b047c387846e327e99ec3889fa7b37eb07c97 SHA512 bf20c0dded9290c33127ee800c60bdf8e2a55d9b34029b9685966b5eba4769508127bc082bd07e743bcbfe677881de2879d2c4dc96e0f7e735d664c2c69b250a
MISC metadata.xml 580 BLAKE2B 5068f4abc80612e7a92fb65865612d93cc4d4803a9cda3555cee34eab48da20f6fb22734b09adeaa068cff135d592b5fbd607157a60052a68e127750f6082b24 SHA512 5807608ef5c6d3fa1a86c715c59afb7c4f3913f69739a0c4ea9b6cf85976077280da6ce019ec4fda6dd6bd490379ee0570d5c98f9d719c0cdaf60a550e01e555
diff --git a/dev-python/testtools/files/testtools-2.5.0-py311.patch b/dev-python/testtools/files/testtools-2.5.0-py311.patch
new file mode 100644
index 000000000000..ee457f6119c3
--- /dev/null
+++ b/dev-python/testtools/files/testtools-2.5.0-py311.patch
@@ -0,0 +1,116 @@
+From 77953cf633ecd149b2c29e616f8d9d4e0cf8e5fa Mon Sep 17 00:00:00 2001
+From: Colin Watson <cjwatson@canonical.com>
+Date: Sat, 23 Apr 2022 22:53:48 +0100
+Subject: [PATCH] Fix various test failures with Python 3.11
+
+The changes for https://peps.python.org/pep-0657/ require a number of
+changes in our tests.
+
+Some tests still fail due to
+https://twistedmatrix.com/trac/ticket/10336, so I'm not adding
+3.11 to the test matrix yet.
+
+Fixes #325.
+---
+ testtools/tests/test_run.py | 4 ++--
+ testtools/tests/test_testresult.py | 23 +++++++++++++----------
+ testtools/tests/test_testsuite.py | 2 +-
+ 3 files changed, 16 insertions(+), 13 deletions(-)
+
+diff --git a/testtools/tests/test_run.py b/testtools/tests/test_run.py
+index ee96eec9..9808421b 100644
+--- a/testtools/tests/test_run.py
++++ b/testtools/tests/test_run.py
+@@ -202,9 +202,9 @@ def test_run_list_failed_import(self):
+ Failed to import test module: runexample
+ Traceback (most recent call last):
+ File ".../loader.py", line ..., in _find_test_path
+- package = self._get_module_from_name(name)
++ package = self._get_module_from_name(name)...
+ File ".../loader.py", line ..., in _get_module_from_name
+- __import__(name)
++ __import__(name)...
+ File ".../runexample/__init__.py", line 1
+ class not in
+ ...^...
+diff --git a/testtools/tests/test_testresult.py b/testtools/tests/test_testresult.py
+index 4fbf15d1..7824ff46 100644
+--- a/testtools/tests/test_testresult.py
++++ b/testtools/tests/test_testresult.py
+@@ -1266,11 +1266,11 @@ def test_traceback_formatting_without_stack_hidden(self):
+ DocTestMatches(
+ 'Traceback (most recent call last):\n'
+ ' File "...testtools...runtest.py", line ..., in _run_user\n'
+- ' return fn(*args, **kwargs)\n'
++ ' return fn(*args, **kwargs)\n...'
+ ' File "...testtools...testcase.py", line ..., in _run_test_method\n'
+- ' return self._get_test_method()()\n'
++ ' return self._get_test_method()()\n...'
+ ' File "...testtools...tests...test_testresult.py", line ..., in error\n'
+- ' 1/0\n'
++ ' 1/0\n...'
+ 'ZeroDivisionError: ...\n',
+ doctest.ELLIPSIS | doctest.REPORT_UDIFF))
+
+@@ -1283,7 +1283,7 @@ def test_traceback_formatting_with_stack_hidden(self):
+ DocTestMatches(
+ 'Traceback (most recent call last):\n'
+ ' File "...testtools...tests...test_testresult.py", line ..., in error\n'
+- ' 1/0\n'
++ ' 1/0\n...'
+ 'ZeroDivisionError: ...\n',
+ doctest.ELLIPSIS))
+
+@@ -1322,17 +1322,17 @@ def test_traceback_with_locals(self):
+ DocTestMatches(
+ 'Traceback (most recent call last):\n'
+ ' File "...testtools...runtest.py", line ..., in _run_user\n'
+- ' return fn(*args, **kwargs)\n'
++ ' return fn(*args, **kwargs)\n...'
+ ' args = ...\n'
+ ' fn = ...\n'
+ ' kwargs = ...\n'
+ ' self = ...\n'
+ ' File "...testtools...testcase.py", line ..., in _run_test_method\n'
+- ' return self._get_test_method()()\n'
++ ' return self._get_test_method()()\n...'
+ ' result = ...\n'
+ ' self = ...\n'
+ ' File "...testtools...tests...test_testresult.py", line ..., in error\n'
+- ' 1/0\n'
++ ' 1/0\n...'
+ ' a = 1\n'
+ ' self = ...\n'
+ 'ZeroDivisionError: ...\n',
+@@ -2645,12 +2645,15 @@ def test_unprintable_exception(self):
+ " raise RuntimeError\n"
+ " def __repr__(self):\n"
+ " raise RuntimeError\n")
++ if sys.version_info >= (3, 11):
++ expected = "UnprintableError: <exception str() failed>\n"
++ else:
++ expected = (
++ "UnprintableError: <unprintable UnprintableError object>\n")
+ textoutput = self._test_external_case(
+ modulelevel=exception_class,
+ testline="raise UnprintableError")
+- self.assertIn(self._as_output(
+- "UnprintableError: <unprintable UnprintableError object>\n"),
+- textoutput)
++ self.assertIn(self._as_output(expected), textoutput)
+
+ def test_non_ascii_dirname(self):
+ """Script paths in the traceback can be non-ascii"""
+diff --git a/testtools/tests/test_testsuite.py b/testtools/tests/test_testsuite.py
+index 65cb88d7..01abb23c 100644
+--- a/testtools/tests/test_testsuite.py
++++ b/testtools/tests/test_testsuite.py
+@@ -178,7 +178,7 @@ def run(self):
+ "Traceback (most recent call last):\n")
+ self.assertThat(events[2][6].decode('utf8'), DocTestMatches("""\
+ File "...testtools/testsuite.py", line ..., in _run_test
+- test.run(process_result)
++ test.run(process_result)...
+ """, doctest.ELLIPSIS))
+ self.assertThat(events[3][6].decode('utf8'), DocTestMatches("""\
+ TypeError: ...run() takes ...1 ...argument...2...given...
diff --git a/dev-python/testtools/testtools-2.5.0.ebuild b/dev-python/testtools/testtools-2.5.0-r1.ebuild
index 15f3a2741dbc..bb2db0ed321e 100644
--- a/dev-python/testtools/testtools-2.5.0.ebuild
+++ b/dev-python/testtools/testtools-2.5.0-r1.ebuild
@@ -3,18 +3,24 @@
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..11} pypy3 )
PYTHON_REQ_USE="threads(+)"
inherit distutils-r1
DESCRIPTION="Extensions to the Python standard library unit testing framework"
-HOMEPAGE="https://github.com/testing-cabal/testtools"
+HOMEPAGE="
+ https://github.com/testing-cabal/testtools/
+ https://pypi.org/project/testtools/
+"
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
RDEPEND="
>=dev-python/extras-1.0.0[${PYTHON_USEDEP}]
@@ -23,16 +29,30 @@ RDEPEND="
dev-python/pyrsistent[${PYTHON_USEDEP}]
>=dev-python/six-1.4.0[${PYTHON_USEDEP}]
"
-DEPEND="
+BDEPEND="
test? (
>=dev-python/fixtures-1.3.0[${PYTHON_USEDEP}]
dev-python/testscenarios[${PYTHON_USEDEP}]
)
"
-PDEPEND=">=dev-python/fixtures-1.3.0[${PYTHON_USEDEP}]"
+PDEPEND="
+ >=dev-python/fixtures-1.3.0[${PYTHON_USEDEP}]
+"
distutils_enable_sphinx doc
-distutils_enable_tests unittest
+
+PATCHES=(
+ # https://github.com/testing-cabal/testtools/pull/328
+ "${FILESDIR}"/${P}-py311.patch
+)
+
+src_prepare() {
+ # very fragile to formatting changes (broken on py3.10 & pypy3)
+ sed -i -e 's:test_syntax_error(:_&:' \
+ testtools/tests/test_testresult.py || die
+
+ distutils-r1_src_prepare
+}
python_test() {
"${PYTHON}" -m testtools.run testtools.tests.test_suite ||