dev-python/lmdb: add PyPy3 support

Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Louis Sautier <sbraz@gentoo.org>
This commit is contained in:
Louis Sautier
2020-10-09 14:39:57 +02:00
parent fc6e2aa294
commit 4ac7b9cd6b
2 changed files with 51 additions and 3 deletions

View File

@@ -0,0 +1,40 @@
From 2d0f93984f53c19925f07d742584f5e3e69d7902 Mon Sep 17 00:00:00 2001
From: Nic Watson <github@nicwatson.org>
Date: Wed, 7 Oct 2020 12:44:30 -0400
Subject: [PATCH] Get pypy3 passing tests
---
.travis.yml | 2 +-
tests/cursor_test.py | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/tests/cursor_test.py b/tests/cursor_test.py
index acfb0ea..22dd6f8 100644
--- a/tests/cursor_test.py
+++ b/tests/cursor_test.py
@@ -245,7 +245,7 @@ def setUp(self, redo=False):
self.txn = self.env.begin(write=True)
self.c = self.txn.cursor()
- @unittest.skipIf(sys.platform != 'linux', "test only works on Linux")
+ @unittest.skipIf(not sys.platform.startswith('linux'), "test only works on Linux")
def test_preload(self):
"""
Test that reading just the key doesn't prefault the value contents, but
@@ -264,13 +264,13 @@ def test_preload(self):
self.path, self.env = testlib.temp_env(path=self.path, writemap=True)
self.txn = self.env.begin(write=True, buffers=True)
self.c = self.txn.cursor()
- minflts_before = resource.getrusage(resource.RUSAGE_THREAD)[6]
+ minflts_before = resource.getrusage(resource.RUSAGE_SELF)[6]
self.c.set_key(B('a'))
assert self.c.key() == B('a')
- minflts_after_key = resource.getrusage(resource.RUSAGE_THREAD)[6]
+ minflts_after_key = resource.getrusage(resource.RUSAGE_SELF)[6]
self.c.value()
- minflts_after_value = resource.getrusage(resource.RUSAGE_THREAD)[6]
+ minflts_after_value = resource.getrusage(resource.RUSAGE_SELF)[6]
epsilon = 20

View File

@@ -3,9 +3,7 @@
EAPI=7
# TODO: add PyPy3 when it is supported
# https://github.com/jnwatson/py-lmdb/issues/260
PYTHON_COMPAT=( python3_{6..9} )
PYTHON_COMPAT=( pypy3 python3_{6..9} )
inherit distutils-r1
@@ -23,6 +21,11 @@ DEPEND="${RDEPEND}"
distutils_enable_sphinx docs
distutils_enable_tests pytest
PATCHES=(
# https://github.com/jnwatson/py-lmdb/commit/2d0f93984f53c19925f07d742584f5e3e69d7902
"${FILESDIR}/${P}-pypy3.patch"
)
python_compile() {
LMDB_FORCE_SYSTEM=1 distutils-r1_python_compile
}
@@ -30,3 +33,8 @@ python_compile() {
python_test() {
pytest tests -vv || die "Tests fail with ${EPYTHON}"
}
python_install() {
# This is required when the CFFI extension is used (for PyPy3)
LMDB_FORCE_SYSTEM=1 distutils-r1_python_install
}