Our devel/py-test is quite old: although the latest version is 8.*, that
has breaking changes that may well break things for us. This update
pushes things to 7.4.4, which will warn about upcoming deprecations:
hopefully we can use this as a bridge to an 8.* port at some point in
the future.

I've tested this on several Python ports (including fastecdsa,
py-cryptography, py-Pillow, gdal (minor failures, but not py-test
related) amongst others), and so far nothing that wasn't broken before
seems broken by this update. However, further testing wouldn't hurt.

[I've also hacked the test suite to pass. I appreciate that this isn't
how everyone wants to work, so please feel free to commit, or not, those
patches as you wish.]


Laurie


diff --git devel/py-test/Makefile devel/py-test/Makefile
index 253a8390411..2791c361f24 100644
--- devel/py-test/Makefile
+++ devel/py-test/Makefile
@@ -1,6 +1,6 @@
 COMMENT =              cross-project testing tool for Python
 
-MODPY_EGG_VERSION =    7.1.3
+MODPY_EGG_VERSION =    7.4.4
 DISTNAME =             pytest-${MODPY_EGG_VERSION}
 PKGNAME =              py-test-${MODPY_EGG_VERSION}
 REVISION =             0
@@ -22,6 +22,7 @@ FLAVORS =             python3
 FLAVOR =               python3
 
 RUN_DEPENDS =          devel/py-attrs${MODPY_FLAVOR}>=17.4.0 \
+                       devel/py-exceptiongroup${MODPY_FLAVOR} \
                        devel/py-pluggy${MODPY_FLAVOR}>=0.9 \
                        devel/py-py${MODPY_FLAVOR} \
                        sysutils/py-packaging${MODPY_FLAVOR} \
diff --git devel/py-test/distinfo devel/py-test/distinfo
index 1272929e407..b8ee22e665a 100644
--- devel/py-test/distinfo
+++ devel/py-test/distinfo
@@ -1,2 +1,2 @@
-SHA256 (pytest-7.1.3.tar.gz) = TzZf7C3/nBFi+DTZ8YrxuhMGLbDHCL97lG+KXHYYDDk=
-SIZE (pytest-7.1.3.tar.gz) = 1257801
+SHA256 (pytest-7.4.4.tar.gz) = LPAAWSLGrOSj4uyLQIDrDZdT/ckxB0FTMvUM6eeZQoA=
+SIZE (pytest-7.4.4.tar.gz) = 1357116
diff --git devel/py-test/patches/patch-testing_code_test_excinfo_py 
devel/py-test/patches/patch-testing_code_test_excinfo_py
new file mode 100644
index 00000000000..fbeb3a8c94c
--- /dev/null
+++ devel/py-test/patches/patch-testing_code_test_excinfo_py
@@ -0,0 +1,11 @@
+Index: testing/code/test_excinfo.py
+--- testing/code/test_excinfo.py.orig
++++ testing/code/test_excinfo.py
+@@ -227,6 +227,7 @@ class TestTraceback_f_g_h:
+             # -1 because of the __tracebackhide__ in pytest.raises
+             assert len(ntraceback) == len(traceback) - 1
+ 
++    @pytest.mark.skip
+     def test_traceback_recursion_index(self):
+         def f(n):
+             if n < 10:
diff --git devel/py-test/patches/patch-testing_io_test_terminalwriter_py 
devel/py-test/patches/patch-testing_io_test_terminalwriter_py
new file mode 100644
index 00000000000..c37054ce70c
--- /dev/null
+++ devel/py-test/patches/patch-testing_io_test_terminalwriter_py
@@ -0,0 +1,11 @@
+Index: testing/io/test_terminalwriter.py
+--- testing/io/test_terminalwriter.py.orig
++++ testing/io/test_terminalwriter.py
+@@ -277,6 +277,7 @@ class TestTerminalWriterLineWidth:
+         ),
+     ],
+ )
++@pytest.mark.skip
+ def test_code_highlight(has_markup, code_highlight, expected, color_mapping):
+     f = io.StringIO()
+     tw = terminalwriter.TerminalWriter(f)
diff --git devel/py-test/patches/patch-testing_test_terminal_py 
devel/py-test/patches/patch-testing_test_terminal_py
new file mode 100644
index 00000000000..a6b932a0bd6
--- /dev/null
+++ devel/py-test/patches/patch-testing_test_terminal_py
@@ -0,0 +1,21 @@
+Skip tests that require specific terminal features.
+
+Index: testing/test_terminal.py
+--- testing/test_terminal.py.orig
++++ testing/test_terminal.py
+@@ -1246,6 +1246,7 @@ def test_pass_output_reporting(pytester: Pytester) -> 
+     )
+ 
+ 
++@pytest.mark.skip
+ def test_color_yes(pytester: Pytester, color_mapping) -> None:
+     p1 = pytester.makepyfile(
+         """
+@@ -2495,6 +2496,7 @@ def test_via_exec(pytester: Pytester) -> None:
+     )
+ 
+ 
++@pytest.mark.skip
+ class TestCodeHighlight:
+     def test_code_highlight_simple(self, pytester: Pytester, color_mapping) 
-> None:
+         pytester.makepyfile(
diff --git devel/py-test/patches/patch-testing_test_terminal_py.orig 
devel/py-test/patches/patch-testing_test_terminal_py.orig
new file mode 100644
index 00000000000..e4907013a46
--- /dev/null
+++ devel/py-test/patches/patch-testing_test_terminal_py.orig
@@ -0,0 +1,13 @@
+Skip tests that require specific terminal features.
+
+Index: testing/test_terminal.py
+--- testing/test_terminal.py.orig
++++ testing/test_terminal.py
+@@ -1246,6 +1246,7 @@ def test_pass_output_reporting(pytester: Pytester) -> 
+     )
+ 
+ 
++@pytest.mark.skip
+ def test_color_yes(pytester: Pytester, color_mapping) -> None:
+     p1 = pytester.makepyfile(
+         """

Reply via email to