summaryrefslogtreecommitdiff
path: root/dev-python/fakeredis
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-18 03:01:55 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-18 03:01:55 -0500
commitbddf78c69012b9c1c06816f37d538d44d7877365 (patch)
tree3fc74b4dbb8c9348a6300843c7d65b9ee5bee0ff /dev-python/fakeredis
parent704b2332929c5ee3a704315e1b371a864f9f463e (diff)
downloadbaldeagleos-repo-bddf78c69012b9c1c06816f37d538d44d7877365.tar.gz
baldeagleos-repo-bddf78c69012b9c1c06816f37d538d44d7877365.tar.xz
baldeagleos-repo-bddf78c69012b9c1c06816f37d538d44d7877365.zip
Adding metadata
Diffstat (limited to 'dev-python/fakeredis')
-rw-r--r--dev-python/fakeredis/Manifest2
-rw-r--r--dev-python/fakeredis/fakeredis-2.36.2.ebuild141
2 files changed, 143 insertions, 0 deletions
diff --git a/dev-python/fakeredis/Manifest b/dev-python/fakeredis/Manifest
index 2c6a1493a639..4f8671a3af00 100644
--- a/dev-python/fakeredis/Manifest
+++ b/dev-python/fakeredis/Manifest
@@ -4,3 +4,5 @@ DIST fakeredis-2.36.0.tar.gz 209484 BLAKE2B a8b29331c923aa0b9194ff1416d2ca59d5f9
DIST fakeredis-2.36.0.tar.gz.provenance 9846 BLAKE2B 0441207c408eb0688aaf5b2e51521ea5d3764b2ab8923aac64f9b87c06da566052d7305cc6336e313f9fd9ff8dd3ec414f913027864169272b9ae634e6388231 SHA512 ed5b13ebfd9661a0643d97059baaf5535271e9fab2fd9877af8dd21c1bb28f67e176bc975e78056cc04930bbf81e6db963ea613a54f326b9582ca4b47aade9d6
DIST fakeredis-2.36.1.tar.gz 210959 BLAKE2B bfbf4d397707a8d5cbb4a94fc4d89b814c4367ef20b894033301b640186ba6846a4102e580be103954fc04f53bb7f1aac0c9976dcfc62f0b9ffac8c5fc6e3405 SHA512 2eaa78273f2a7e1f11d4ccf8937406a81d546671e3bcb70e821ae8f80caf1b38cac908a127c0a7710fc12c50188fe2234b0fea510718fd1f463dcfb5aab1f3d5
DIST fakeredis-2.36.1.tar.gz.provenance 9944 BLAKE2B f20fb9ad9027e4fd3fae7b37bd9cfaf0112b01c6ac1218506bee74e6aa7f8683d73740e00bd46bba54d0d0b48c266967ec93bf1533c588fe3753afe20c6895f0 SHA512 d2f129e81474f472b5a5437245a176840c935fc4d28e80f90510290c48acd02bbdbcc44a29793b8342a40fead5ba3906542ff6c0837807f5acb7b3d450bca724
+DIST fakeredis-2.36.2.tar.gz 213336 BLAKE2B 23c6333b945ff35d482c9b04b81e067106f01492e16336f0cb40406f20bb664d66325f2ee2d1db95e2d7157127c12fbb21d18ffcb4c42da4aba1ef0cbbafc67b SHA512 1ed183da851bd0285877fe70f17a47272637230257878ca8d2fd242066311e14112d83eb5da1ec9d30f2e740b80967065abf5eb63efd5378c685355f8757a6f1
+DIST fakeredis-2.36.2.tar.gz.provenance 10085 BLAKE2B 15ceb7fb92e07a882c3b313d62b39bb30032bc4f951b84903cd969d4905fc987fb3267f0ef0d1a7913b72a10cb4d3f091d15a20f4bc04da0809724247bb447e3 SHA512 b03494bd124e64dd11da4256a8d994a9fb4fe779b3fce08f242c49a7518261623495300a97cb6a0fbead6380c00bd27b709599485051359969b01eacffe6588c
diff --git a/dev-python/fakeredis/fakeredis-2.36.2.ebuild b/dev-python/fakeredis/fakeredis-2.36.2.ebuild
new file mode 100644
index 000000000000..43c6d3aca88d
--- /dev/null
+++ b/dev-python/fakeredis/fakeredis-2.36.2.ebuild
@@ -0,0 +1,141 @@
+# Copyright 2020-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/cunla/fakeredis-py
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Fake implementation of redis API for testing purposes"
+HOMEPAGE="
+ https://github.com/cunla/fakeredis-py/
+ https://pypi.org/project/fakeredis/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/redis-4.3[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-db/valkey
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/valkey[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,mock} )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # do not install duplicate license
+ sed -i -e '\@fakeredis/LICENSE@d' pyproject.toml || die
+}
+
+wait_for_status() {
+ local expected=${1}
+
+ local i
+ for i in {1..50}; do
+ "${server}-cli" -p "${redis_port}" ping
+ [[ ${?} -eq ${expected} ]] && return
+ sleep 0.2
+ done
+
+ die "Timeout while waiting for ${1}-server to start/stop"
+}
+
+src_test() {
+ local server
+ server=fake
+ einfo "Running ${server} server tests"
+ distutils-r1_src_test
+
+ for server in redis valkey; do
+ local redis_pid="${T}/${server}.pid"
+ local redis_port=6390
+ local redis_log="${T}/${server}.log"
+ local redis_db="${T}/${server}.db"
+
+ einfo "Running ${server} server tests"
+ "${EPREFIX}/usr/sbin/${server}-server" - <<- EOF || die "Unable to start ${server} server"
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ logfile ${redis_log}
+ dir ${redis_db%/*}
+ dbfilename ${redis_db##*/}
+ bind 127.0.0.1
+ EOF
+
+ # wait for the server to start
+ wait_for_status 0
+
+ distutils-r1_src_test
+
+ "${server}-cli" -p "${redis_port}" shutdown || die "Unable to stop ${server} server"
+
+ # wait for the server to stop
+ wait_for_status 1
+ done
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # json ext
+ test/test_stack/test_json.py
+ test/test_stack/test_json_arr_commands.py
+ # TODO
+ "test/test_mixins/test_pubsub_commands.py::test_published_message_to_shard_channel[Strict3]"
+ "test/test_mixins/test_pubsub_commands.py::test_pubsub_shardnumsub[Strict2]"
+ "test/test_mixins/test_pubsub_commands.py::test_pubsub_shardnumsub[Strict3]"
+ )
+
+ local EPYTEST_IGNORE=(
+ # these tests fail a lot...
+ test/test_hypothesis
+ test/test_hypothesis_joint.py
+ )
+
+ case ${server} in
+ fake)
+ EPYTEST_DESELECT=(
+ # TODO
+ test/test_tcp_server/test_connectivity.py::test_bulk_string_length
+ )
+
+ # every test starts its own server
+ EPYTEST_XDIST= epytest -m "tcp_server"
+ return
+ ;;
+ redis)
+ EPYTEST_DESELECT+=(
+ "test/test_mixins/test_set_commands.py::test_smismember_wrong_type[Strict2]"
+ "test/test_mixins/test_set_commands.py::test_smismember_wrong_type[Strict3]"
+
+ "test/test_async/test_redis_only.py::test_async_lock[fake_resp2]"
+ "test/test_async/test_redis_only.py::test_async_lock[fake_resp3]"
+ "test/test_mixins/test_set_commands.py::test_smismember_wrong_type[FakeStrict2]"
+ "test/test_mixins/test_set_commands.py::test_smismember_wrong_type[FakeStrict3]"
+ )
+
+ # run fake tests only once
+ epytest -m "not real and not tcp_server"
+ ;;
+ esac
+
+ # we can run "fake" tests in parallel, but "real" seem to share
+ # the same connection
+ EPYTEST_XDIST= epytest -m "real"
+}