rich: FTBFS against python 3.15rc1
Maximiliano Curia <[email protected]>
| Newsgroups | gmane.linux.debian.devel.python |
|---|---|
| Message-ID | <[email protected]> |
Package: src:rich Version: 15.0.0-1 User: [email protected] Usertags: python3.15 Tags: patch, ftbfs, forky, sid Hi! While rebuilding the python related packages against the Python 3.15rc1 version we found that rich fails to build from source [1]. The failures are caused by the tests that are being skipped for all the newer python versions. I prepared a patch that adds the skips for py315, but I think that upstream needs to improve the tests or drop them. I'm attaching the patch. If possible, please have a talk about this with upstream. I applied the fix in the sandbox [2] to be able to build the packages that depend on rich, please consider applying the patch to support the upcoming 3.15 version. Happy hacking, [1]: https://debusine.debian.net/debian/r-python-python3.15/work-request/1118900/ [2]: https://debusine.debian.net/debian/r-python-python3.15/ -- "Can you imagine what I would do if I could do all I can?" -- Sun Tzu Saludos /\/\ /\ >< `/
py315.patch
(text/x-diff, 2.7 KB)
Description: Fix tests for Python 3.15
---
tests/test_inspect.py | 10 ++++++++++
tests/test_pretty.py | 5 +++++
2 files changed, 15 insertions(+)
diff --git a/tests/test_inspect.py b/tests/test_inspect.py
index d6972fb5..7abca37d 100644
--- a/tests/test_inspect.py
+++ b/tests/test_inspect.py
@@ -48,6 +48,11 @@ skip_py314 = pytest.mark.skipif(
reason="rendered differently on py3.14",
)
+skip_py315 = pytest.mark.skipif(
+ sys.version_info.minor == 15 and sys.version_info.major == 3,
+ reason="rendered differently on py3.15",
+)
+
skip_pypy3 = pytest.mark.skipif(
hasattr(sys, "pypy_version_info"),
@@ -145,6 +150,7 @@ def test_inspect_empty_dict():
assert render({}).startswith(expected)
+@skip_py315
@skip_py314
@skip_py313
@skip_py312
@@ -169,6 +175,7 @@ def test_inspect_builtin_function_except_python311():
@pytest.mark.skipif(
sys.version_info < (3, 11), reason="print builtin signature only available on 3.11+"
)
+@skip_py315
@skip_pypy3
def test_inspect_builtin_function_only_python311():
# On 3.11, the print builtin *does* have a signature, unlike in prior versions
@@ -227,6 +234,7 @@ def test_inspect_integer_with_value():
@skip_py312
@skip_py313
@skip_py314
+@skip_py315
def test_inspect_integer_with_methods_python38_and_python39():
expected = (
"╭──────────────── <class 'int'> ─────────────────╮\n"
@@ -266,6 +274,7 @@ def test_inspect_integer_with_methods_python38_and_python39():
@skip_py312
@skip_py313
@skip_py314
+@skip_py315
def test_inspect_integer_with_methods_python310only():
expected = (
"╭──────────────── <class 'int'> ─────────────────╮\n"
@@ -309,6 +318,7 @@ def test_inspect_integer_with_methods_python310only():
@skip_py312
@skip_py313
@skip_py314
+@skip_py315
def test_inspect_integer_with_methods_python311():
# to_bytes and from_bytes methods on int had minor signature change -
# they now, as of 3.11, have default values for all of their parameters
diff --git a/tests/test_pretty.py b/tests/test_pretty.py
index 29331d9d..a63f848b 100644
--- a/tests/test_pretty.py
+++ b/tests/test_pretty.py
@@ -42,6 +42,10 @@ skip_py314 = pytest.mark.skipif(
sys.version_info.minor == 14 and sys.version_info.major == 3,
reason="rendered differently on py3.14",
)
+skip_py315 = pytest.mark.skipif(
+ sys.version_info.minor == 15 and sys.version_info.major == 3,
+ reason="rendered differently on py3.15",
+)
def test_install() -> None:
@@ -644,6 +648,7 @@ def test_attrs_empty() -> None:
@skip_py312
@skip_py313
@skip_py314
+@skip_py315
def test_attrs_broken() -> None:
@attr.define
class Foo: