summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2023-01-23 08:01:26 +0100
committerMichał Górny <mgorny@gentoo.org>2023-01-23 08:34:32 +0100
commita8da9ffd24b34efbbea072b5d6f4399f53e0e196 (patch)
treea3a7816e4a8f34aa9fc2e2e01703fa1d0676ba2a
parentdev-python/pypdf: Bump to 3.3.0 (diff)
downloadgentoo-a8da9ffd24b34efbbea072b5d6f4399f53e0e196.tar.gz
gentoo-a8da9ffd24b34efbbea072b5d6f4399f53e0e196.tar.bz2
gentoo-a8da9ffd24b34efbbea072b5d6f4399f53e0e196.zip
dev-python/fakeredis: Bump to 2.5.0
Signed-off-by: Michał Górny <mgorny@gentoo.org>
-rw-r--r--dev-python/fakeredis/Manifest1
-rw-r--r--dev-python/fakeredis/fakeredis-2.5.0.ebuild88
2 files changed, 89 insertions, 0 deletions
diff --git a/dev-python/fakeredis/Manifest b/dev-python/fakeredis/Manifest
index 0551cfd38368..a3b3320e95bc 100644
--- a/dev-python/fakeredis/Manifest
+++ b/dev-python/fakeredis/Manifest
@@ -1,2 +1,3 @@
DIST fakeredis-py-2.2.0.gh.tar.gz 128817 BLAKE2B 8666427966e6a93cd33f521fbc38ecb9bb99e1c1a23506437d48bc6113f272aa89a465dc794b5130ef6dfa584f75f159fce0e3b6a50e5cb89b3bfe43ebcd89cd SHA512 857033a6362a6088cec715571d74a9aa1eb3eb8356ed904b10831540ce5be62d798a211d52fb3d8effab253e50fdb3f2a530d39bd722d8be357426f53fb41fe7
DIST fakeredis-py-2.4.0.gh.tar.gz 132163 BLAKE2B fc3858eb364c63d776c81d715cbfb218dc0e763d568c97b0d1dafb0716aaf87e928f9b81bd49d28fcc235f4285277446945595d42ff1d440e5c8491b78abb6c3 SHA512 5fba3e84d0506b52e1561f750e045b6227ea21387ddb3a89b8a61e9698fc0e9ec80c4a7048d9426fb0d8e9f2acd808e7e07fcb11d14d6852d9b057fec86d6e6a
+DIST fakeredis-py-2.5.0.gh.tar.gz 139911 BLAKE2B 4e9c616b0066012e1ed681d06e73390fb670969c15fa57689244147a0175dbb14ff1c312066ffdc6eb2c647f884c351a98eebfb2c1ba0e6c1bbe1e6c3553808a SHA512 aff5a8679763d4cf1717f790c7c384aa8e5056e5f175c306626f3a1671fe27aa3caf24368831033c9cf5bffa2e3e6be1104b183f3912eadf34fd6f37ea0c63e8
diff --git a/dev-python/fakeredis/fakeredis-2.5.0.ebuild b/dev-python/fakeredis/fakeredis-2.5.0.ebuild
new file mode 100644
index 000000000000..4186af5980d2
--- /dev/null
+++ b/dev-python/fakeredis/fakeredis-2.5.0.ebuild
@@ -0,0 +1,88 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{9..11} )
+
+inherit distutils-r1
+
+MY_P=fakeredis-py-${PV}
+DESCRIPTION="Fake implementation of redis API for testing purposes"
+HOMEPAGE="
+ https://github.com/cunla/fakeredis-py/
+ https://pypi.org/project/fakeredis/
+"
+SRC_URI="
+ https://github.com/cunla/fakeredis-py/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/redis-py-4.2[${PYTHON_USEDEP}]
+ <dev-python/redis-py-4.5[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.4.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin redis
+ sed -i -e '/redis/s:<[0-9.]*:*:' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # also lupa
+ test/test_aioredis2.py::test_failed_script_error
+ # TODO
+ "test/test_fakeredis.py::test_set_get_nx[StrictRedis]"
+ "test/test_fakeredis.py::test_lpop_count[StrictRedis]"
+ "test/test_fakeredis.py::test_rpop_count[StrictRedis]"
+ "test/test_fakeredis.py::test_zadd_minus_zero[StrictRedis]"
+ "test/test_mixins/test_pubsub_commands.py::test_pubsub_channels[StrictRedis]"
+ )
+ local EPYTEST_IGNORE=(
+ # these tests fail a lot...
+ test/test_hypothesis.py
+ )
+ local args=(
+ # tests requiring lupa (lua support)
+ -k 'not test_eval and not test_lua and not test_script'
+ )
+ epytest "${args[@]}"
+}
+
+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 "Unable to start redis server"
+ 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
+}