Gentoo Archives: gentoo-commits

From: Arthur Zamarin <arthurzam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/fakeredis/
Date: Sun, 31 Jul 2022 18:20:40
Message-Id: 1659291623.7a985c76b7186e49107a804f72ee3445b69357b4.arthurzam@gentoo
1 commit: 7a985c76b7186e49107a804f72ee3445b69357b4
2 Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
3 AuthorDate: Sun Jul 31 17:30:29 2022 +0000
4 Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
5 CommitDate: Sun Jul 31 18:20:23 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a985c76
7
8 dev-python/fakeredis: add 1.9.0
9
10 Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
11
12 dev-python/fakeredis/Manifest | 1 +
13 dev-python/fakeredis/fakeredis-1.9.0.ebuild | 88 +++++++++++++++++++++++++++++
14 2 files changed, 89 insertions(+)
15
16 diff --git a/dev-python/fakeredis/Manifest b/dev-python/fakeredis/Manifest
17 index 71f6b9c42e8c..8ecac3513d6f 100644
18 --- a/dev-python/fakeredis/Manifest
19 +++ b/dev-python/fakeredis/Manifest
20 @@ -1,2 +1,3 @@
21 DIST fakeredis-py-1.8.1.gh.tar.gz 101586 BLAKE2B a1b123dd482b9b59f401a855ba95a08f2e744bff5ae4a4f0c12cde8b2a05971043ccb16e92d0adbfeedd3e071fab50f1328ed265c6ac19ecf6932d09bcacd549 SHA512 19e1636895206fa550844a776ba4835c3acbe2eac8fb774716e91d20e0f283b121f42ee11d876e20d798a6df0dcfcc29114c76c839c4946436102b8f83ed3d01
22 DIST fakeredis-py-1.8.2.gh.tar.gz 96238 BLAKE2B 17fd75d2ca6e929fbbdab87e9a6450d72006a3dc72a2d81a3f381c1918f2ca12f273468bf8015e80df78e9df393d2f7002b13e12989d108f93beb3287472c0c6 SHA512 6a86c0fa41920f4446b66d4d152850227a23f5a031a80d0d9109117de7252965821dc8d9f022b9fd703f8ed66fad207f6542bd6ee524a54f2053bbcd2ed9965e
23 +DIST fakeredis-py-1.9.0.gh.tar.gz 85475 BLAKE2B 99c5fdf2fb665505f6450a3ec08a401a0a629c62722709b4775ac2752816e6b461579f4a3df6d7a11a07e170e369ee1703294d9ef607a52318a7a8d583ce6264 SHA512 ca379d610a62053bb417aad1cd618356240697d0afdaca0467506d7b1ec38997d46b358a31356cdec8ecd1719386f942fd220f8b0a396bfc8c5316c2143f20f1
24
25 diff --git a/dev-python/fakeredis/fakeredis-1.9.0.ebuild b/dev-python/fakeredis/fakeredis-1.9.0.ebuild
26 new file mode 100644
27 index 000000000000..593e6a79b618
28 --- /dev/null
29 +++ b/dev-python/fakeredis/fakeredis-1.9.0.ebuild
30 @@ -0,0 +1,88 @@
31 +# Copyright 2020-2022 Gentoo Authors
32 +# Distributed under the terms of the GNU General Public License v2
33 +
34 +EAPI=8
35 +
36 +DISTUTILS_USE_PEP517=poetry
37 +PYTHON_COMPAT=( pypy3 python3_{8..11} )
38 +
39 +inherit distutils-r1
40 +
41 +MY_P=fakeredis-py-${PV}
42 +DESCRIPTION="Fake implementation of redis API for testing purposes"
43 +HOMEPAGE="
44 + https://github.com/dsoftwareinc/fakeredis-py/
45 + https://pypi.org/project/fakeredis/
46 +"
47 +SRC_URI="
48 + https://github.com/dsoftwareinc/fakeredis-py/archive/v${PV}.tar.gz
49 + -> ${MY_P}.gh.tar.gz
50 +"
51 +S=${WORKDIR}/${MY_P}
52 +
53 +LICENSE="BSD"
54 +SLOT="0"
55 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
56 +
57 +RDEPEND="
58 + >=dev-python/redis-py-4.2[${PYTHON_USEDEP}]
59 + <dev-python/redis-py-4.4[${PYTHON_USEDEP}]
60 + >=dev-python/six-1.16.0[${PYTHON_USEDEP}]
61 + >=dev-python/sortedcontainers-2.4.0[${PYTHON_USEDEP}]
62 +"
63 +BDEPEND="
64 + test? (
65 + dev-db/redis
66 + dev-python/pytest-asyncio[${PYTHON_USEDEP}]
67 + dev-python/pytest-mock[${PYTHON_USEDEP}]
68 + )
69 +"
70 +
71 +distutils_enable_tests pytest
72 +
73 +src_prepare() {
74 + # unpin redis
75 + sed -i -e '/redis/s:<[0-9.]*:*:' pyproject.toml || die
76 + distutils-r1_src_prepare
77 +}
78 +
79 +python_test() {
80 + local EPYTEST_DESELECT=(
81 + # also lupa
82 + test/test_aioredis2.py::test_failed_script_error
83 + # TODO
84 + "test/test_fakeredis.py::test_set_get_nx[StrictRedis]"
85 + "test/test_fakeredis.py::test_lpop_count[StrictRedis]"
86 + "test/test_fakeredis.py::test_rpop_count[StrictRedis]"
87 + "test/test_fakeredis.py::test_zadd_minus_zero[StrictRedis]"
88 + )
89 + local EPYTEST_IGNORE=(
90 + # these tests fail a lot...
91 + test/test_hypothesis.py
92 + )
93 + local args=(
94 + # tests requiring lupa (lua support)
95 + -k 'not test_eval and not test_lua and not test_script'
96 + )
97 + epytest "${args[@]}"
98 +}
99 +
100 +src_test() {
101 + local redis_pid="${T}"/redis.pid
102 + local redis_port=6379
103 +
104 + einfo "Spawning Redis"
105 + einfo "NOTE: Port ${redis_port} must be free"
106 + "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
107 + daemonize yes
108 + pidfile ${redis_pid}
109 + port ${redis_port}
110 + bind 127.0.0.1
111 + EOF
112 +
113 + # Run the tests
114 + distutils-r1_src_test
115 +
116 + # Clean up afterwards
117 + kill "$(<"${redis_pid}")" || die
118 +}