gentoo/dev-python/python-memcached/python-memcached-1.59-r1.ebuild
Michał Górny 3f2247adb5
dev-python/python-memcached: Use unittest instead of nose
Closes: https://bugs.gentoo.org/888261
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2023-03-06 16:22:28 +01:00

50 lines
1.2 KiB
Bash

# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( pypy3 python3_{9..10} )
inherit distutils-r1
DESCRIPTION="Pure python memcached client"
HOMEPAGE="
https://www.tummy.com/Community/software/python-memcached/
https://pypi.org/project/python-memcached/
"
# PyPI tarballs don't contain tests
SRC_URI="https://github.com/linsomniac/python-memcached/archive/${PV}.tar.gz -> ${P}-gh.tar.gz"
LICENSE="OSL-2.0"
SLOT="0"
KEYWORDS="amd64 ~arm64 ppc x86 ~amd64-linux ~x86-linux"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
BDEPEND="
test? (
dev-python/mock[${PYTHON_USEDEP}]
net-misc/memcached
)
"
distutils_enable_tests unittest
python_test() {
local pidfile="${TMPDIR}/memcached.pid"
memcached -d -P "${pidfile}" || die "failed to start memcached"
eunittest || die "Tests fail with ${EPYTHON}"
kill "$(<"${pidfile}")" || die "failed to kill memcached"
local elapsed=0
while [[ -f ${pidfile} ]]; do
if [[ $(( elapsed++ )) -ge 30 ]]; then
kill -KILL "$(<"${pidfile}")" ||
die "failed to kill -KILL memcached"
die "memcached failed to stop after 30 seconds"
fi
sleep 1
done
}