diff options
Diffstat (limited to 'dev-python/fakeredis')
-rw-r--r-- | dev-python/fakeredis/Manifest | 1 | ||||
-rw-r--r-- | dev-python/fakeredis/fakeredis-1.8.ebuild | 93 | ||||
-rw-r--r-- | dev-python/fakeredis/metadata.xml | 2 |
3 files changed, 95 insertions, 1 deletions
diff --git a/dev-python/fakeredis/Manifest b/dev-python/fakeredis/Manifest index 7fcbc6919a70..b549654c4d62 100644 --- a/dev-python/fakeredis/Manifest +++ b/dev-python/fakeredis/Manifest @@ -2,3 +2,4 @@ DIST fakeredis-1.7.1.gh.tar.gz 71151 BLAKE2B 87877c94a4c03ad6ff4b55f307526f712da DIST fakeredis-py-1.7.4.gh.tar.gz 73024 BLAKE2B d3d18611d846a0dabb52d74ca53cad997b37e794ef320bc800ab5339f70710bc30f9e33c0820db941064fbf9dca0dde3e72c78298895b8c2510a93353898b355 SHA512 71c9ffe7c208453bc8f5e719b3647a9b9fc5406c5fe3856ef1dc42c019bd7128355d260be468b62dcb764a918a3510f193fb1aaf374bb3866e352c9c2bae90c6 DIST fakeredis-py-1.7.5.gh.tar.gz 72932 BLAKE2B 3965df2d238e70f362e5e43a52fe763b2fec34ecc87d4bf38cb8fdf5e8f58b6bad87b59353a932d5e7e12ac243f3c884a19079752c48b6230795c53f7512d345 SHA512 bcefaa8e425cb47d7881c2f91d35e5ec5b46a94f3189b1ffbd71a92cd202a5fcc3d82df8250cf683475bacbbbec088f1e49545f71f2c98638adca58063cc0fa2 DIST fakeredis-py-1.7.6.1.gh.tar.gz 100750 BLAKE2B aeaf9e38b173d169a8108c6559b3900ac3232690513a735f2592790bfd3866cefa5dff663672fb2fbeae96fd40c203d5a6d86c4ccc0336f54f5f68f7d0f3d38a SHA512 6a92ae7fa60ce7a6913e40b5c6b9bcbbb286f44f8602ff4bcbfb0739d8fd18d772291124a56d9dbff1fd0f69f0605a5a5f524161f8661b1529d9fe4f5f2481fd +DIST fakeredis-py-1.8.gh.tar.gz 101156 BLAKE2B e799b5636a89edd8795fdc79811689cd308f8a7dae55d7ac4045352f370f428d96fdfed7886598e856c203bcc44d58236a8bf5229ee49a9cec90324f0778ce78 SHA512 7bd553dc724b9d664ff1c403fd9a234ad7a8e95f81a3761eef28c7e6d919b7756040a70382e61d9ff54f8bd8f778130c035e9384707403ca9a4340051a4cf861 diff --git a/dev-python/fakeredis/fakeredis-1.8.ebuild b/dev-python/fakeredis/fakeredis-1.8.ebuild new file mode 100644 index 000000000000..7b846fe8e9e0 --- /dev/null +++ b/dev-python/fakeredis/fakeredis-1.8.ebuild @@ -0,0 +1,93 @@ +# Copyright 2020-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=poetry +PYTHON_COMPAT=( pypy3 python3_{9..10} ) + +inherit distutils-r1 optfeature + +MY_P=fakeredis-py-${PV} +DESCRIPTION="Fake implementation of redis API for testing purposes" +HOMEPAGE=" + https://github.com/dsoftwareinc/fakeredis-py/ + https://pypi.org/project/fakeredis/ +" +SRC_URI=" + https://github.com/dsoftwareinc/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[${PYTHON_USEDEP}] + >=dev-python/six-1.16.0[${PYTHON_USEDEP}] + >=dev-python/sortedcontainers-2.4.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-db/redis + dev-python/aioredis[${PYTHON_USEDEP}] + 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]" + ) + 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 + local redis_test_config=" + daemonize yes + pidfile ${redis_pid} + port ${redis_port} + bind 127.0.0.1 + " + + einfo "Spawning Redis" + einfo "NOTE: Port ${redis_port} must be free" + "${EPREFIX}"/usr/sbin/redis-server - <<< "${redis_test_config}" || die + + # Run the tests + distutils-r1_src_test + + # Clean up afterwards + kill "$(<"${redis_pid}")" || die +} + +pkg_postinst() { + optfeature "Mock aioredis" dev-python/aioredis +} diff --git a/dev-python/fakeredis/metadata.xml b/dev-python/fakeredis/metadata.xml index 3d21e4768321..2b6b02ddf6fc 100644 --- a/dev-python/fakeredis/metadata.xml +++ b/dev-python/fakeredis/metadata.xml @@ -7,6 +7,6 @@ <stabilize-allarches/> <upstream> <remote-id type="pypi">fakeredis</remote-id> - <remote-id type="github">dsoftwareinc/fakeredis</remote-id> + <remote-id type="github">dsoftwareinc/fakeredis-py</remote-id> </upstream> </pkgmetadata> |