From 4e5ed851e66c960ab51e65e9f83d8863c5b6ad5e Mon Sep 17 00:00:00 2001 From: "Liguros - Gitlab CI/CD [develop]" Date: Fri, 17 May 2024 19:36:45 +0000 Subject: Adding metadata --- .../tornado/files/tornado-6.4-pytest-8.2.patch | 66 ++++++++++++++++++++++ dev-python/tornado/tornado-6.4-r1.ebuild | 63 +++++++++++++++++++++ dev-python/tornado/tornado-6.4.ebuild | 61 -------------------- 3 files changed, 129 insertions(+), 61 deletions(-) create mode 100644 dev-python/tornado/files/tornado-6.4-pytest-8.2.patch create mode 100644 dev-python/tornado/tornado-6.4-r1.ebuild delete mode 100644 dev-python/tornado/tornado-6.4.ebuild (limited to 'dev-python/tornado') diff --git a/dev-python/tornado/files/tornado-6.4-pytest-8.2.patch b/dev-python/tornado/files/tornado-6.4-pytest-8.2.patch new file mode 100644 index 000000000000..21a2ed04d24a --- /dev/null +++ b/dev-python/tornado/files/tornado-6.4-pytest-8.2.patch @@ -0,0 +1,66 @@ +From c851aa8a949524b35f72c82b45a52353aa3c0558 Mon Sep 17 00:00:00 2001 +From: Ran Benita +Date: Sun, 28 Apr 2024 14:17:54 +0300 +Subject: [PATCH] testing: allow to instantiate an empty AsyncTestCase + +`unittest.TestCase` has a feature where it allows instantiating +`MyTestClass()` with the default method name `runTest` even if a +`runTest` method doesn't actually exist. This is documented in +`TestCase`'s docs under "Changed in version 3.2"[0]. + +Since version 8.2, pytest relies on this, and started breaking on +Tornado's `AsyncTestCase`[1]. + +Change `AsyncTestCase` to allow empty instatiation, by matching the +upstream code. + +[0] https://docs.python.org/3/library/unittest.html#unittest.TestCase +[1] https://github.com/pytest-dev/pytest/issues/12263 +--- + tornado/test/testing_test.py | 9 +++++++++ + tornado/testing.py | 12 +++++++++++- + 2 files changed, 20 insertions(+), 1 deletion(-) + +diff --git a/tornado/test/testing_test.py b/tornado/test/testing_test.py +index 0429feee83..8e2b8db428 100644 +--- a/tornado/test/testing_test.py ++++ b/tornado/test/testing_test.py +@@ -61,6 +61,15 @@ def test_subsequent_wait_calls(self): + self.io_loop.add_timeout(self.io_loop.time() + 0.2, self.stop) + self.wait(timeout=0.4) + ++ def test_empty_instantation_is_allowed(self): ++ """ ++ Test that empty instatiation of an AsyncTestCase is allowed. ++ ++ unittest.TestCase docs guarantee this working, and pytest's unittest ++ support relies on it. ++ """ ++ AsyncTestCaseTest() ++ + + class LeakTest(AsyncTestCase): + def tearDown(self): +diff --git a/tornado/testing.py b/tornado/testing.py +index bdbff87bc3..9455411a6d 100644 +--- a/tornado/testing.py ++++ b/tornado/testing.py +@@ -177,7 +177,17 @@ def __init__(self, methodName: str = "runTest") -> None: + # the test will silently be ignored because nothing will consume + # the generator. Replace the test method with a wrapper that will + # make sure it's not an undecorated generator. +- setattr(self, methodName, _TestMethodWrapper(getattr(self, methodName))) ++ try: ++ test_method = getattr(self, methodName) ++ except AttributeError: ++ if methodName != "runTest": ++ # We allow instantiation with no explicit method name ++ # but not an *incorrect* or missing method name. ++ raise ValueError( ++ "no such test method in %s: %s" % (self.__class__, methodName) ++ ) ++ else: ++ setattr(self, methodName, _TestMethodWrapper(test_method)) + + # Not used in this class itself, but used by @gen_test + self._test_generator = None # type: Optional[Union[Generator, Coroutine]] diff --git a/dev-python/tornado/tornado-6.4-r1.ebuild b/dev-python/tornado/tornado-6.4-r1.ebuild new file mode 100644 index 000000000000..461dee756fe2 --- /dev/null +++ b/dev-python/tornado/tornado-6.4-r1.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 pypi + +DESCRIPTION="Python web framework and asynchronous networking library" +HOMEPAGE=" + https://www.tornadoweb.org/ + https://github.com/tornadoweb/tornado/ + https://pypi.org/project/tornado/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + ${RDEPEND} + $(python_gen_cond_dep ' + >=dev-python/pycurl-7.19.3.1[${PYTHON_USEDEP}] + ' 'python*') + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-6.3.2-test-timeout-increase.patch" + "${FILESDIR}/${PN}-6.3.2-ignore-deprecationwarning.patch" + # https://github.com/tornadoweb/tornado/pull/3374 + "${FILESDIR}/${P}-pytest-8.2.patch" +) + +src_prepare() { + # network-sandbox? ipv6? + sed -i -e 's:test_localhost:_&:' \ + tornado/test/netutil_test.py || die + + distutils-r1_src_prepare +} + +python_test() { + local -x ASYNC_TEST_TIMEOUT=60 + # Avoid time-sensitive tests + # https://github.com/tornadoweb/tornado/blob/10974e6ebee80a26a2a65bb9bd715cf858fafde5/tornado/test/util.py#L19 + local -x TRAVIS=1 + local -x NO_NETWORK=1 + + cd "${T}" || die + "${EPYTHON}" -m tornado.test.runtests --verbose || + die "tests failed under ${EPYTHON}" +} diff --git a/dev-python/tornado/tornado-6.4.ebuild b/dev-python/tornado/tornado-6.4.ebuild deleted file mode 100644 index 2b834d2b0311..000000000000 --- a/dev-python/tornado/tornado-6.4.ebuild +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) -PYTHON_REQ_USE="threads(+)" - -inherit distutils-r1 pypi - -DESCRIPTION="Python web framework and asynchronous networking library" -HOMEPAGE=" - https://www.tornadoweb.org/ - https://github.com/tornadoweb/tornado/ - https://pypi.org/project/tornado/ -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND=" - >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - ${RDEPEND} - $(python_gen_cond_dep ' - >=dev-python/pycurl-7.19.3.1[${PYTHON_USEDEP}] - ' 'python*') - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-6.3.2-test-timeout-increase.patch - "${FILESDIR}"/${PN}-6.3.2-ignore-deprecationwarning.patch -) - -src_prepare() { - # network-sandbox? ipv6? - sed -i -e 's:test_localhost:_&:' \ - tornado/test/netutil_test.py || die - - distutils-r1_src_prepare -} - -python_test() { - local -x ASYNC_TEST_TIMEOUT=60 - # Avoid time-sensitive tests - # https://github.com/tornadoweb/tornado/blob/10974e6ebee80a26a2a65bb9bd715cf858fafde5/tornado/test/util.py#L19 - local -x TRAVIS=1 - local -x NO_NETWORK=1 - - cd "${T}" || die - "${EPYTHON}" -m tornado.test.runtests --verbose || - die "tests failed under ${EPYTHON}" -} -- cgit v1.3