You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

82 lines
2.0 KiB

# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 pypi
DESCRIPTION="HTTP client mock for Python"
HOMEPAGE="
https://github.com/gabrielfalcao/httpretty/
https://pypi.org/project/httpretty/
"
SLOT="0"
LICENSE="MIT"
KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86"
IUSE="test-rust"
RDEPEND="
dev-python/urllib3[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/freezegun[${PYTHON_USEDEP}]
>=dev-python/requests-1.1[${PYTHON_USEDEP}]
dev-python/sure[${PYTHON_USEDEP}]
>=dev-python/tornado-2.2[${PYTHON_USEDEP}]
)
"
# These are optional test deps, that are used to test compatibility
# with various HTTP libs. We prefer pulling them in whenever possible
# to increase test coverage but we can live without them.
# We're skipping redis entirely since it requires a running server.
BDEPEND+="
test? (
test-rust? (
dev-python/pyopenssl[${PYTHON_USEDEP}]
)
$(python_gen_cond_dep '
>=dev-python/boto3-1.17.72[${PYTHON_USEDEP}]
dev-python/httplib2[${PYTHON_USEDEP}]
>=dev-python/httpx-0.18.1[${PYTHON_USEDEP}]
' python3_{8..11})
)
"
distutils_enable_tests pytest
PATCHES=(
"${FILESDIR}/${P}-pytest.patch"
)
python_test() {
local EPYTEST_IGNORE=(
# this seems to be a stress test
tests/bugfixes/pytest/test_426_mypy_segfault.py
# passthrough tests require Internet access
tests/functional/test_passthrough.py
# eventlet is masked for removal
tests/bugfixes/nosetests/test_eventlet.py
)
local ignore_by_dep=(
dev-python/boto3:tests/bugfixes/nosetests/test_416_boto3.py
dev-python/httplib2:tests/functional/test_httplib2.py
dev-python/httpx:tests/bugfixes/nosetests/test_414_httpx.py
dev-python/pyopenssl:tests/bugfixes/nosetests/test_417_openssl.py
)
local x
for x in "${ignore_by_dep[@]}"; do
if ! has_version "${x%:*}[${PYTHON_USEDEP}]"; then
EPYTEST_IGNORE+=( "${x#*:}" )
fi
done
epytest
}