summaryrefslogtreecommitdiff
path: root/dev-python/aioredis/aioredis-2.0.1.ebuild
blob: 94c393034d3e6fc95880a357156041ef2cce8712 (plain) (blame)
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
74
75
76
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{8..11} )

inherit distutils-r1 pypi

DESCRIPTION="asyncio (PEP 3156) Redis support"
HOMEPAGE="https://github.com/aio-libs/aioredis-py"

LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"

DEPEND="
	dev-python/async-timeout[${PYTHON_USEDEP}]
	dev-python/hiredis[${PYTHON_USEDEP}]
"

BDEPEND="
	test? (
		dev-db/redis
		dev-python/pytest-asyncio
	)
"

DOCS=( README.md CHANGELOG.md )

distutils_enable_tests pytest

EPYTEST_DESELECT=(
	# Failing tests
	tests/test_commands.py::TestRedisCommands::test_acl_getuser_setuser
	tests/test_commands.py::TestRedisCommands::test_acl_list
	tests/test_commands.py::TestRedisCommands::test_config_set
	tests/test_commands.py::TestRedisCommands::test_readwrite
	tests/test_commands.py::TestRedisCommands::test_xclaim_trimmed
	tests/test_commands.py::TestRedisCommands::test_xgroup_create
	tests/test_commands.py::TestRedisCommands::test_xgroup_create_mkstream
	tests/test_commands.py::TestRedisCommands::test_xgroup_setid
	tests/test_connection_pool.py::TestConnection::test_busy_loading_disconnects_socket
	tests/test_connection_pool.py::TestConnection::test_busy_loading_from_pipeline
	tests/test_connection_pool.py::TestConnection::test_busy_loading_from_pipeline_immediate_command
	tests/test_connection_pool.py::TestConnection::test_connect_invalid_password_supplied
	tests/test_connection_pool.py::TestConnection::test_connect_no_auth_supplied_when_required
	tests/test_connection_pool.py::TestConnection::test_read_only_error
)

python_prepare_all() {
	echo -e '[tool:pytest]\nasyncio_mode = auto' >> setup.cfg

	distutils-r1_python_prepare_all
}

src_test() {
	local redis_pid="${T}"/redis.pid
	local redis_port=6379

	einfo "Spawning Redis"
	einfo "NOTE: Port ${redis_port} must be free"
	"${EPREFIX}"/usr/sbin/redis-server - <<-EOF || die
		daemonize yes
		pidfile ${redis_pid}
		port ${redis_port}
		bind 127.0.0.1
	EOF

	# Run the tests
	distutils-r1_src_test

	# Clean up afterwards
	kill "$(<"${redis_pid}")" || die
}