blob: 9f39414cd24c0d299c6de8b3ee18fe2731311cfd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# Copyright 2019-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_VERIFY_REPO=https://github.com/pytest-dev/pytest-asyncio
PYTHON_FULLY_TESTED=( python3_{12..15} python3_{14..15}t )
PYTHON_COMPAT=( python3_{13..14} )
inherit distutils-r1 pypi
DESCRIPTION="Library for testing asyncio code with pytest"
HOMEPAGE="
https://github.com/pytest-dev/pytest-asyncio/
https://pypi.org/project/pytest-asyncio/
"
LICENSE="Apache-2.0"
SLOT="0"
if [[ ${PV} != *_alpha* ]]; then
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
fi
RDEPEND="
>=dev-python/pytest-8.2[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
>=dev-python/typing-extensions-4.12[${PYTHON_USEDEP}]
' 3.{11..12})
"
BDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
test? (
$(python_gen_cond_dep '
dev-python/hypothesis[${PYTHON_USEDEP}]
' "${PYTHON_FULLY_TESTED[@]}")
)
"
EPYTEST_PLUGINS=( "${PN}" )
EPYTEST_PLUGIN_LOAD_VIA_ENV=1
EPYTEST_XDIST=1
distutils_enable_tests pytest
EPYTEST_DESELECT=(
# fail due to mismatched warning count
tests/modes/test_strict_mode.py::test_strict_mode_ignores_unmarked_fixture
tests/test_event_loop_fixture.py::test_closing_event_loop_in_sync_fixture_teardown_raises_warning
tests/test_event_loop_fixture.py::test_event_loop_fixture_asyncgen_error
tests/test_event_loop_fixture.py::test_event_loop_fixture_handles_unclosed_async_gen
# docs often fail randomly over test ordering (xdist)
docs
# probably manual plugin loading
tests/test_set_event_loop.py::test_asyncio_run_after_async_fixture_does_not_leak_loop
)
src_prepare() {
distutils-r1_src_prepare
# remove pins
sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
}
python_test() {
local EPYTEST_PLUGINS=( "${EPYTEST_PLUGINS[@]}" )
local EPYTEST_IGNORE=()
if has_version "dev-python/hypothesis[${PYTHON_USEDEP}]"; then
EPYTEST_PLUGINS+=( hypothesis )
else
EPYTEST_IGNORE+=( tests/hypothesis/ )
fi
epytest
}
|