commit: 6eee4d3dcc59a314b8f221841b9cf4f2ca059bcf
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 18 09:53:43 2025 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Feb 18 10:21:32 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6eee4d3d
dev-python/coverage: Enable pypy3.11
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/coverage/coverage-7.6.12.ebuild | 12 ++++++++---
.../coverage/files/coverage-7.6.12-pypy311.patch | 25 ++++++++++++++++++++++
2 files changed, 34 insertions(+), 3 deletions(-)
diff --git a/dev-python/coverage/coverage-7.6.12.ebuild
b/dev-python/coverage/coverage-7.6.12.ebuild
index bba747e1e72a..545309399cc8 100644
--- a/dev-python/coverage/coverage-7.6.12.ebuild
+++ b/dev-python/coverage/coverage-7.6.12.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 )
PYTHON_REQ_USE="threads(+),sqlite(+)"
inherit distutils-r1 pypi
@@ -39,8 +39,14 @@ BDEPEND="
distutils_enable_tests pytest
src_prepare() {
- sed -i -e '/addopts/s:-q -n auto::' pyproject.toml || die
+ local PATCHES=(
+ # https://github.com/nedbat/coveragepy/pull/1929
+ "${FILESDIR}/${P}-pypy311.patch"
+ )
+
distutils-r1_src_prepare
+
+ sed -i -e '/addopts/s:-q -n auto::' pyproject.toml || die
}
python_compile() {
@@ -97,7 +103,7 @@ python_test() {
test_tracer pytrace
case ${EPYTHON} in
- python3.1[01]|pypy3)
+ python3.1[01]|pypy3|pypy3.11)
;;
*)
# available since Python 3.12
diff --git a/dev-python/coverage/files/coverage-7.6.12-pypy311.patch
b/dev-python/coverage/files/coverage-7.6.12-pypy311.patch
new file mode 100644
index 000000000000..62fa908d8ca9
--- /dev/null
+++ b/dev-python/coverage/files/coverage-7.6.12-pypy311.patch
@@ -0,0 +1,25 @@
+From 059be065e28551d4b029c8d525fafdaea3df4a3d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <[email protected]>
+Date: Tue, 18 Feb 2025 11:10:21 +0100
+Subject: [PATCH 1/2] test: Fix expected exception message for PyPy3.11
+
+Fix the regex in `test_parser.py::PythonParserTest::test_not_python`
+to account for the possibility of code being wrapped in double quotes
+rather than single quotes, to fix the test on PyPy3.11.
+---
+ tests/test_parser.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test_parser.py b/tests/test_parser.py
+index 2ab30853..a9a247ff 100644
+--- a/tests/test_parser.py
++++ b/tests/test_parser.py
+@@ -123,7 +123,7 @@ class PythonParserTest(PythonParserTestBase):
+ )
+ ])
+ def test_not_python(self, text: str) -> None:
+- msg = r"Couldn't parse '<code>' as Python source: '.*' at line \d+"
++ msg = r"Couldn't parse '<code>' as Python source: ['\"].*['\"] at
line \d+"
+ with pytest.raises(NotPython, match=msg):
+ _ = self.parse_text(text)
+