diff options
author | Michał Górny <mgorny@gentoo.org> | 2021-07-05 12:27:38 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2021-07-05 12:56:20 +0200 |
commit | 1e585f9441fc78d1aca5fabc45836f0c8da48f73 (patch) | |
tree | 25c2c030f50c4c89222468cc28551f8a52c7f9ea /dev-python/testtools | |
parent | dev-python/extras: Port to py3.10 (diff) | |
download | gentoo-1e585f9441fc78d1aca5fabc45836f0c8da48f73.tar.gz gentoo-1e585f9441fc78d1aca5fabc45836f0c8da48f73.tar.bz2 gentoo-1e585f9441fc78d1aca5fabc45836f0c8da48f73.zip |
dev-python/testtools: Port to py3.10
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/testtools')
-rw-r--r-- | dev-python/testtools/files/testtools-2.4.0-py310.patch | 43 | ||||
-rw-r--r-- | dev-python/testtools/testtools-2.4.0-r2.ebuild | 6 |
2 files changed, 48 insertions, 1 deletions
diff --git a/dev-python/testtools/files/testtools-2.4.0-py310.patch b/dev-python/testtools/files/testtools-2.4.0-py310.patch new file mode 100644 index 000000000000..d2d0c092d14a --- /dev/null +++ b/dev-python/testtools/files/testtools-2.4.0-py310.patch @@ -0,0 +1,43 @@ +From d528842b99b16efce212e15dae3f0a54927d06d8 Mon Sep 17 00:00:00 2001 +From: Cyril Roelandt <cyril@redhat.com> +Date: Fri, 19 Mar 2021 02:50:13 +0000 +Subject: [PATCH] Fix tests with Python 3.10 + +In Python 3, error messages have become a bit more precise. For +instance, the following code snippet: + +---- +class Foo(): + def bar(self, a): + pass + +try: + Foo().bar(1, 2) +except TypeError as e: + print(e) +---- + +will return: + +- in Python 3.9: "bar() takes 2 positional arguments but 3 were given" +- in Python 3.10: "Foo.bar() takes 2 positional arguments but 3 were + given" + +Fix our tests accordingly. +--- + testtools/tests/test_testsuite.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/testtools/tests/test_testsuite.py b/testtools/tests/test_testsuite.py +index 7ad5b74d..65cb88d7 100644 +--- a/testtools/tests/test_testsuite.py ++++ b/testtools/tests/test_testsuite.py +@@ -181,7 +181,7 @@ def run(self): + test.run(process_result) + """, doctest.ELLIPSIS)) + self.assertThat(events[3][6].decode('utf8'), DocTestMatches("""\ +-TypeError: run() takes ...1 ...argument...2...given... ++TypeError: ...run() takes ...1 ...argument...2...given... + """, doctest.ELLIPSIS)) + events = [event[0:10] + (None,) for event in events] + events[1] = events[1][:6] + (None,) + events[1][7:] diff --git a/dev-python/testtools/testtools-2.4.0-r2.ebuild b/dev-python/testtools/testtools-2.4.0-r2.ebuild index 2e853225cf7a..7f1282058fc0 100644 --- a/dev-python/testtools/testtools-2.4.0-r2.ebuild +++ b/dev-python/testtools/testtools-2.4.0-r2.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{8..9} pypy3 ) +PYTHON_COMPAT=( python3_{8..10} pypy3 ) PYTHON_REQ_USE="threads(+)" inherit distutils-r1 @@ -33,6 +33,7 @@ PDEPEND=">=dev-python/fixtures-1.3.0[${PYTHON_USEDEP}]" PATCHES=( "${FILESDIR}"/testtools-2.4.0-py39.patch + "${FILESDIR}"/testtools-2.4.0-py310.patch "${FILESDIR}"/testtools-2.4.0-assertitemsequal.patch ) @@ -47,6 +48,9 @@ src_prepare() { sed -i -e 's:unittest2:unittest:' {} + || die sed -i -e 's/^traceback =.*/import traceback/' \ testtools/content.py || die + # py3.10 changed the output + sed -i -e 's:test_syntax_error:_&:' \ + testtools/tests/test_testresult.py || die distutils-r1_src_prepare } |