commit:     b3c99242834fc0cc0dd9734446e2db112ee7c659
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 26 23:33:07 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Nov 26 23:48:36 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b3c99242

dev-python/aiohttp: Fix deps, tests and modernize

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

 dev-python/aiohttp/aiohttp-3.7.1.ebuild | 27 +++++++++++++++------------
 dev-python/aiohttp/aiohttp-3.7.2.ebuild | 27 +++++++++++++++------------
 2 files changed, 30 insertions(+), 24 deletions(-)

diff --git a/dev-python/aiohttp/aiohttp-3.7.1.ebuild 
b/dev-python/aiohttp/aiohttp-3.7.1.ebuild
index 4d01f67e433..316c13a579c 100644
--- a/dev-python/aiohttp/aiohttp-3.7.1.ebuild
+++ b/dev-python/aiohttp/aiohttp-3.7.1.ebuild
@@ -5,7 +5,7 @@ EAPI=7
 
 PYTHON_COMPAT=( python3_{6..9} )
 
-inherit distutils-r1
+inherit distutils-r1 multiprocessing
 
 DESCRIPTION="http client/server for asyncio"
 HOMEPAGE="https://pypi.org/project/aiohttp/";
@@ -14,36 +14,37 @@ SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
 LICENSE="Apache-2.0"
 SLOT="0"
 KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
 
-COMMON_DEPEND="
+RDEPEND="
        >=dev-python/async_timeout-3.0.0[${PYTHON_USEDEP}]
        >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
        dev-python/chardet[${PYTHON_USEDEP}]
        >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
        >=dev-python/yarl-1.0[${PYTHON_USEDEP}]
-       dev-python/idna-ssl[${PYTHON_USEDEP}]
+       $(python_gen_cond_dep '
+               dev-python/idna-ssl[${PYTHON_USEDEP}]
+       ' python3_6)
+       dev-python/typing-extensions[${PYTHON_USEDEP}]
 "
-DEPEND="
+BDEPEND="
        dev-python/cython[${PYTHON_USEDEP}]
        test? (
-               ${COMMON_DEPEND}
                !!dev-python/pytest-aiohttp
                dev-python/async_generator[${PYTHON_USEDEP}]
                dev-python/brotlipy[${PYTHON_USEDEP}]
                dev-python/freezegun[${PYTHON_USEDEP}]
                www-servers/gunicorn[${PYTHON_USEDEP}]
-               >=dev-python/pytest-3.4.0[${PYTHON_USEDEP}]
+               dev-python/pytest-forked[${PYTHON_USEDEP}]
                dev-python/pytest-mock[${PYTHON_USEDEP}]
                dev-python/pytest-timeout[${PYTHON_USEDEP}]
+               dev-python/pytest-xdist[${PYTHON_USEDEP}]
                dev-python/trustme[${PYTHON_USEDEP}]
        )
 "
-RDEPEND="${COMMON_DEPEND}"
 
 DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
 
+distutils_enable_tests pytest
 distutils_enable_sphinx docs \
        '>=dev-python/alabaster-0.6.2' \
        'dev-python/sphinxcontrib-asyncio' \
@@ -53,8 +54,6 @@ distutils_enable_sphinx docs \
        'dev-python/sphinx' \
        'dev-python/sphinx-aiohttp-theme'
 
-distutils_enable_tests pytest || die "Tests fail with ${EPYTHON}"
-
 python_prepare_all() {
        # Fails due to a warning
        sed -e 's:test_read_boundary_with_incomplete_chunk:_&:' \
@@ -71,13 +70,17 @@ python_prepare_all() {
        sed -e 's:test_mark_formdata_as_processed:_&:' \
                -i tests/test_formdata.py || die
 
+       # takes a very long time, then fails
+       rm tests/test_pytest_plugin.py || die
+
        distutils-r1_python_prepare_all
 }
 
 python_test() {
        pushd "${BUILD_DIR}/lib" >/dev/null || die
        ln -snf "${S}"/{LICENSE.txt,tests} . || die
-       pytest -vv tests || die "Tests fail with ${EPYTHON}"
+       pytest -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" --forked \
+               -vv tests || die "Tests fail with ${EPYTHON}"
        rm -rf .pytest_cache tests || die
        popd >/dev/null || die
 }

diff --git a/dev-python/aiohttp/aiohttp-3.7.2.ebuild 
b/dev-python/aiohttp/aiohttp-3.7.2.ebuild
index 0969fb26d76..9e8be6e734f 100644
--- a/dev-python/aiohttp/aiohttp-3.7.2.ebuild
+++ b/dev-python/aiohttp/aiohttp-3.7.2.ebuild
@@ -5,7 +5,7 @@ EAPI=7
 
 PYTHON_COMPAT=( python3_{6..9} )
 
-inherit distutils-r1
+inherit distutils-r1 multiprocessing
 
 DESCRIPTION="http client/server for asyncio"
 HOMEPAGE="https://pypi.org/project/aiohttp/";
@@ -14,37 +14,38 @@ SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
 LICENSE="Apache-2.0"
 SLOT="0"
 KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
 
-COMMON_DEPEND="
+RDEPEND="
        >=dev-python/async_timeout-3.0.0[${PYTHON_USEDEP}]
        >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
        dev-python/chardet[${PYTHON_USEDEP}]
        >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
        >=dev-python/yarl-1.0[${PYTHON_USEDEP}]
-       dev-python/idna-ssl[${PYTHON_USEDEP}]
+       $(python_gen_cond_dep '
+               dev-python/idna-ssl[${PYTHON_USEDEP}]
+       ' python3_6)
+       dev-python/typing-extensions[${PYTHON_USEDEP}]
 "
-DEPEND="
+BDEPEND="
        dev-python/cython[${PYTHON_USEDEP}]
        test? (
-               ${COMMON_DEPEND}
                !!dev-python/pytest-aiohttp
                dev-python/async_generator[${PYTHON_USEDEP}]
                dev-python/brotlipy[${PYTHON_USEDEP}]
                dev-python/freezegun[${PYTHON_USEDEP}]
                www-servers/gunicorn[${PYTHON_USEDEP}]
-               >=dev-python/pytest-3.4.0[${PYTHON_USEDEP}]
+               dev-python/pytest-forked[${PYTHON_USEDEP}]
                dev-python/pytest-mock[${PYTHON_USEDEP}]
                dev-python/pytest-timeout[${PYTHON_USEDEP}]
+               dev-python/pytest-xdist[${PYTHON_USEDEP}]
                dev-python/re-assert[${PYTHON_USEDEP}]
                dev-python/trustme[${PYTHON_USEDEP}]
        )
 "
-RDEPEND="${COMMON_DEPEND}"
 
 DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
 
+distutils_enable_tests pytest
 distutils_enable_sphinx docs \
        '>=dev-python/alabaster-0.6.2' \
        'dev-python/sphinxcontrib-asyncio' \
@@ -54,8 +55,6 @@ distutils_enable_sphinx docs \
        'dev-python/sphinx' \
        'dev-python/sphinx-aiohttp-theme'
 
-distutils_enable_tests pytest || die "Tests fail with ${EPYTHON}"
-
 python_prepare_all() {
        # Fails due to a warning
        sed -e 's:test_read_boundary_with_incomplete_chunk:_&:' \
@@ -72,13 +71,17 @@ python_prepare_all() {
        sed -e 's:test_mark_formdata_as_processed:_&:' \
                -i tests/test_formdata.py || die
 
+       # takes a very long time, then fails
+       rm tests/test_pytest_plugin.py || die
+
        distutils-r1_python_prepare_all
 }
 
 python_test() {
        pushd "${BUILD_DIR}/lib" >/dev/null || die
        ln -snf "${S}"/{LICENSE.txt,tests} . || die
-       pytest -vv tests || die "Tests fail with ${EPYTHON}"
+       pytest -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" --forked \
+               -vv tests || die "Tests fail with ${EPYTHON}"
        rm -rf .pytest_cache tests || die
        popd >/dev/null || die
 }

Reply via email to