diff options
Diffstat (limited to 'dev-python/mongoengine/mongoengine-0.23.1.ebuild')
-rw-r--r-- | dev-python/mongoengine/mongoengine-0.23.1.ebuild | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/dev-python/mongoengine/mongoengine-0.23.1.ebuild b/dev-python/mongoengine/mongoengine-0.23.1.ebuild new file mode 100644 index 000000000000..f4d6a34f196a --- /dev/null +++ b/dev-python/mongoengine/mongoengine-0.23.1.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7..9} ) +inherit distutils-r1 + +DESCRIPTION="A Python Object-Document-Mapper for working with MongoDB" +HOMEPAGE="https://github.com/MongoEngine/mongoengine/" +SRC_URI="https://github.com/MongoEngine/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND="dev-python/blinker[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP}] + dev-python/pymongo[${PYTHON_USEDEP}]" +BDEPEND=" + test? ( + dev-db/mongodb + dev-python/mongomock[${PYTHON_USEDEP}] + )" + +distutils_enable_tests pytest + +src_prepare() { + # TODO: investigate + sed -e 's:test_covered_index:_&:' \ + -i tests/document/test_indexes.py || die + # no $eval + sed -e 's:test_exec_js_field_sub:_&:' \ + -e 's:test_exec_js_query:_&:' \ + -e 's:test_item_frequencies_normalize:_&:' \ + -e 's:test_item_frequencies_with_0_values:_&:' \ + -e 's:test_item_frequencies_with_False_values:_&:' \ + -e 's:test_item_frequencies_with_null_embedded:_&:' \ + -i tests/queryset/test_queryset.py || die + # TODO: investigate (wrong order? bad comparison?) + sed -e 's:test_distinct_ListField_EmbeddedDocumentField:_&:' \ + -i tests/queryset/test_queryset.py || die + + distutils-r1_src_prepare +} + +python_test() { + local dbpath=${TMPDIR}/mongo.db + local logpath=${TMPDIR}/mongod.log + + mkdir -p "${dbpath}" || die + ebegin "Trying to start mongod on port ${DB_PORT}" + + LC_ALL=C \ + mongod --dbpath "${dbpath}" --nojournal \ + --bind_ip 127.0.0.1 --port 27017 \ + --unixSocketPrefix "${TMPDIR}" \ + --logpath "${logpath}" --fork || die + sleep 2 + + # Now we need to check if the server actually started... + if [[ -S "${TMPDIR}"/mongodb-27017.sock ]]; then + # yay! + eend 0 + else + eend 1 + eerror "Unable to start mongod for tests. See the server log:" + eerror " ${logpath}" + die "Unable to start mongod for tests." + fi + + local failed + nonfatal epytest || failed=1 + + mongod --dbpath "${dbpath}" --shutdown || die + + [[ ${failed} ]] && die "Tests fail with ${EPYTHON}" + + rm -rf "${dbpath}" || die +} |