Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Alexander Kanavin <alex.kanavin@gmail.com>
To: openembedded-core@lists.openembedded.org
Cc: Alexander Kanavin <alex@linutronix.de>
Subject: [PATCH 26/45] python3-click: upgrade 8.4.1 -> 8.4.2
Date: Mon,  6 Jul 2026 19:16:40 +0200	[thread overview]
Message-ID: <20260706171701.70536-26-alex.kanavin@gmail.com> (raw)
In-Reply-To: <20260706171701.70536-1-alex.kanavin@gmail.com>

From: Alexander Kanavin <alex@linutronix.de>

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 ...7494c991c9197902fdf4995e11b2da3e9762.patch | 173 ------------------
 .../python/python3-click/pytest-fix.patch     |  19 +-
 ...-click_8.4.1.bb => python3-click_8.4.2.bb} |   3 +-
 3 files changed, 14 insertions(+), 181 deletions(-)
 delete mode 100644 meta/recipes-devtools/python/python3-click/ffcc7494c991c9197902fdf4995e11b2da3e9762.patch
 rename meta/recipes-devtools/python/{python3-click_8.4.1.bb => python3-click_8.4.2.bb} (86%)

diff --git a/meta/recipes-devtools/python/python3-click/ffcc7494c991c9197902fdf4995e11b2da3e9762.patch b/meta/recipes-devtools/python/python3-click/ffcc7494c991c9197902fdf4995e11b2da3e9762.patch
deleted file mode 100644
index e16f84ec9a..0000000000
--- a/meta/recipes-devtools/python/python3-click/ffcc7494c991c9197902fdf4995e11b2da3e9762.patch
+++ /dev/null
@@ -1,173 +0,0 @@
-"Fix pager test flackiness and add stress tests for echo_via_pager"
-
-From 7eb57cff7cd292fbd526eaf861c8f945ddeb07a3 Mon Sep 17 00:00:00 2001
-From: Kevin Deldycke <kevin@deldycke.com>
-Date: Fri, 22 May 2026 11:13:12 +0200
-Subject: [PATCH] Fix pager test race by raising before yield
-
-Upstream-Status: Backport [https://github.com/pallets/click/commit/ffcc7494c991c9197902fdf4995e11b2da3e9762]
-
-Refs: #3470 #2899
----
- pyproject.toml                 |  3 +-
- src/click/_compat.py           |  1 -
- tests/test_stream_lifecycle.py |  4 +-
- tests/test_utils.py            | 79 +++++++++++++++++++++++++++++++---
- 4 files changed, 78 insertions(+), 9 deletions(-)
-
-diff --git a/pyproject.toml b/pyproject.toml
-index e39ef21055..ed91e5d741 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -185,12 +185,11 @@ commands = [[
- ]]
- 
- [tool.tox.env.stress]
--description = "stress tests for stream lifecycle race conditions"
-+description = "high-iteration stress tests for race conditions"
- commands = [[
-     "pytest", "-v", "--tb=short", "-x", "-m", "stress",
-     "--basetemp={env_tmp_dir}",
-     "--override-ini=addopts=",
--    "tests/test_stream_lifecycle.py",
-     {replace = "posargs", default = [], extend = true},
- ]]
- 
-diff --git a/src/click/_compat.py b/src/click/_compat.py
-index 36c0e53975..134c4f3893 100644
---- a/src/click/_compat.py
-+++ b/src/click/_compat.py
-@@ -12,7 +12,6 @@
- 
- CYGWIN = sys.platform.startswith("cygwin")
- WIN = sys.platform.startswith("win")
--MAC = sys.platform == "darwin"
- auto_wrap_for_ansi: t.Callable[[t.TextIO], t.TextIO] | None = None
- _ansi_re = re.compile(r"\033\[[;?0-9]*[a-zA-Z]")
- 
-diff --git a/tests/test_stream_lifecycle.py b/tests/test_stream_lifecycle.py
-index 42e26acc34..9f4aa20868 100644
---- a/tests/test_stream_lifecycle.py
-+++ b/tests/test_stream_lifecycle.py
-@@ -484,7 +484,9 @@ def cli():
- # Category 6: Stress tests - high-iteration reproducers for race conditions
- #
- # These are marked with ``pytest.mark.stress`` so they can be included or
--# excluded independently. The CI workflow runs them in a separate job.
-+# excluded independently. The ``tox -e stress`` env collects every
-+# ``pytest.mark.stress`` test across the suite (not just this file), so
-+# stress regressions for other components live alongside their unit tests.
- # ---------------------------------------------------------------------------
- 
- 
-diff --git a/tests/test_utils.py b/tests/test_utils.py
-index 139cd7324f..1aebf3cc5a 100644
---- a/tests/test_utils.py
-+++ b/tests/test_utils.py
-@@ -16,7 +16,6 @@
- 
- import click._termui_impl
- import click.utils
--from click._compat import MAC
- from click._compat import WIN
- from click._utils import UNSET
- 
-@@ -286,6 +285,11 @@ def _test_gen_func():
- 
- 
- def _test_gen_func_fails():
-+    raise RuntimeError("This is a test.")
-+    yield  # unreachable, keeps this a generator function
-+
-+
-+def _test_gen_func_yields_then_fails():
-     yield "test"
-     raise RuntimeError("This is a test.")
- 
-@@ -315,10 +319,6 @@ def _test_simulate_keyboard_interrupt(file=None):
- 
- 
- @pytest.mark.skipif(WIN, reason="Different behavior on windows.")
--@pytest.mark.skipif(
--    MAC and sys.version_info >= (3, 13) and not sys._is_gil_enabled(),
--    reason="Generator exception tests are flaky in Python 3.14t on macOS.",
--)
- @pytest.mark.parametrize(
-     "pager_cmd", ["cat", "cat ", " cat ", "less", " less", " less "]
- )
-@@ -456,6 +456,75 @@ def test_echo_via_pager(monkeypatch, capfd, pager_cmd, test, tmp_path):
-     )
- 
- 
-+@pytest.mark.skipif(WIN, reason="Different behavior on windows.")
-+def test_echo_via_pager_yields_before_exception(monkeypatch, tmp_path):
-+    """A generator that yields then raises: click writes the partial output to
-+    the pager stream before propagating the exception.
-+
-+    The pager file content is intentionally NOT asserted: pipe-drain timing
-+    between click and the pager subprocess is outside click's control
-+    (#2899, #3470). Spying on ``MaybeStripAnsi.write`` records what click sent
-+    to the pager, which is deterministic regardless of scheduling.
-+    """
-+    monkeypatch.setitem(os.environ, "PAGER", "cat")
-+    monkeypatch.setattr(click._termui_impl, "isatty", lambda x: True)
-+
-+    writes: list[str] = []
-+    real_write = click._termui_impl.MaybeStripAnsi.write
-+
-+    def spy(self, text):
-+        writes.append(text)
-+        return real_write(self, text)
-+
-+    monkeypatch.setattr(click._termui_impl.MaybeStripAnsi, "write", spy)
-+
-+    pager_out_tmp = tmp_path / "pager_out.txt"
-+    with (
-+        pager_out_tmp.open("w") as f,
-+        patch.object(subprocess, "Popen", partial(subprocess.Popen, stdout=f)),
-+        pytest.raises(RuntimeError, match="This is a test."),
-+    ):
-+        click.echo_via_pager(_test_gen_func_yields_then_fails())
-+
-+    assert "".join(writes) == "test", (
-+        f"click should have written the yielded chunk before exception, got {writes!r}"
-+    )
-+
-+
-+@pytest.mark.stress
-+@pytest.mark.skipif(WIN, reason="Different behavior on windows.")
-+@pytest.mark.parametrize("_", range(1000))
-+def test_stress_echo_via_pager_exception_cleanup(_, monkeypatch, tmp_path):
-+    """Repeated exceptions during ``echo_via_pager`` must not leak subprocesses.
-+
-+    Regression coverage for the cleanup path in ``_pipepager``'s exception
-+    handler (issue #2899, PR #3470). Each iteration spawns a real pager
-+    subprocess, raises before any data is written and check there is no leak.
-+    """
-+    monkeypatch.setitem(os.environ, "PAGER", "cat")
-+    monkeypatch.setattr(click._termui_impl, "isatty", lambda x: True)
-+
-+    spawned: list[subprocess.Popen] = []
-+    real_popen = subprocess.Popen
-+
-+    def tracking_popen(*args, **kwargs):
-+        p = real_popen(*args, **kwargs)
-+        spawned.append(p)
-+        return p
-+
-+    pager_out_tmp = tmp_path / "pager_out.txt"
-+    with (
-+        pager_out_tmp.open("w") as f,
-+        patch.object(subprocess, "Popen", partial(tracking_popen, stdout=f)),
-+        pytest.raises(RuntimeError),
-+    ):
-+        click.echo_via_pager(_test_gen_func_fails())
-+
-+    assert spawned, "pager subprocess was never started"
-+    for p in spawned:
-+        assert p.returncode is not None, "pager subprocess not reaped"
-+
-+
- def test_echo_color_flag(monkeypatch, capfd):
-     isatty = True
-     monkeypatch.setattr(click._compat, "isatty", lambda x: isatty)
diff --git a/meta/recipes-devtools/python/python3-click/pytest-fix.patch b/meta/recipes-devtools/python/python3-click/pytest-fix.patch
index 662ad8aae9..abfa07120a 100644
--- a/meta/recipes-devtools/python/python3-click/pytest-fix.patch
+++ b/meta/recipes-devtools/python/python3-click/pytest-fix.patch
@@ -1,4 +1,8 @@
-Fix an error with newer versions of pytest (9.1.0) by converting the generator into a tuple:
+From 1cdbe9829973a30037075d613b5a1d5a42e260d5 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Mon, 15 Jun 2026 11:37:28 +0100
+Subject: [PATCH] Fix an error with newer versions of pytest (9.1.0) by
+ converting the generator into a tuple:
 
 E   pytest.PytestRemovedIn10Warning: Passing a non-Collection iterable to parametrize is deprecated.
 E   Test: tests/test_basic.py::test_boolean_conversion, argvalues type: chain
@@ -9,12 +13,15 @@ ERROR: tests/test_basic.py:tests/test_basic.py
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
 
 Upstream-Status: Submitted [https://github.com/pallets/click/pull/3597]
+---
+ tests/test_basic.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
 
-Index: click-8.3.3/tests/test_basic.py
-===================================================================
---- click-8.3.3.orig/tests/test_basic.py
-+++ click-8.3.3/tests/test_basic.py
-@@ -258,10 +258,10 @@ def test_boolean_flag(runner, default, a
+diff --git a/tests/test_basic.py b/tests/test_basic.py
+index 34d22e7..8076dd8 100644
+--- a/tests/test_basic.py
++++ b/tests/test_basic.py
+@@ -258,10 +258,10 @@ def test_boolean_flag(runner, default, args, expect):
  
  @pytest.mark.parametrize(
      ("value", "expect"),
diff --git a/meta/recipes-devtools/python/python3-click_8.4.1.bb b/meta/recipes-devtools/python/python3-click_8.4.2.bb
similarity index 86%
rename from meta/recipes-devtools/python/python3-click_8.4.1.bb
rename to meta/recipes-devtools/python/python3-click_8.4.2.bb
index 53c75c333c..b13bdc9285 100644
--- a/meta/recipes-devtools/python/python3-click_8.4.1.bb
+++ b/meta/recipes-devtools/python/python3-click_8.4.2.bb
@@ -9,8 +9,7 @@ LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1fa98232fd645608937a0fdc82e999b8"
 
 SRC_URI += "file://pytest-fix.patch"
-SRC_URI += "file://ffcc7494c991c9197902fdf4995e11b2da3e9762.patch"
-SRC_URI[sha256sum] = "918b5633eddf6b41c32d4f454bf0de810065c74e3f7dbf8ee5452f8be88d3e96"
+SRC_URI[sha256sum] = "9a6cea6e60b17ebe0a44c5cc636d94f09bd66142c1cd7d8b4cd731c4917a15f6"
 
 inherit pypi python_flit_core ptest-python-pytest
 
-- 
2.47.3



  parent reply	other threads:[~2026-07-06 17:17 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-06 17:16 [PATCH 01/45] selftest/locales: opt out of ptests in DISTRO_FEATURES Alexander Kanavin
2026-07-06 17:16 ` [PATCH 02/45] files/common-licenses/MIT-with-fmt-exception: add a custom license Alexander Kanavin
2026-07-06 17:16 ` [PATCH 03/45] acl: upgrade 2.3.2 -> 2.4.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 04/45] appstream: upgrade 1.1.2 -> 1.1.3 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 05/45] at-spi2-core: upgrade 2.60.4 -> 2.60.5 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 06/45] attr: upgrade 2.5.2 -> 2.6.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 07/45] barebox-tools: upgrade 2026.06.0 -> 2026.06.1 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 08/45] cmake: upgrade 4.3.3 -> 4.3.4 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 09/45] expat: upgrade 2.8.1 -> 2.8.2 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 10/45] fmt: upgrade 12.1.0 -> 12.2.0 Alexander Kanavin
2026-07-09 16:35   ` [OE-core] " Khem Raj
2026-07-06 17:16 ` [PATCH 11/45] git: upgrade 2.54.0 -> 2.55.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 12/45] glib-2.0: upgrade 2.88.1 -> 2.88.2 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 13/45] gnu-config: upgrade to latest revision Alexander Kanavin
2026-07-06 17:16 ` [PATCH 14/45] gn: " Alexander Kanavin
2026-07-06 17:16 ` [PATCH 15/45] gtk-doc: upgrade 1.35.1 -> 1.36.1 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 16/45] iproute2: upgrade 7.0.0 -> 7.1.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 17/45] json-c: upgrade 0.18 -> 0.19 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 18/45] libarchive: upgrade 3.8.7 -> 3.8.8 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 19/45] libffi: upgrade 3.5.2 -> 3.6.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 20/45] libical: upgrade 3.0.20 -> 4.0.3 Alexander Kanavin
2026-07-08  5:52   ` [OE-core] " Mathieu Dubois-Briand
2026-07-08 12:04     ` Alexander Kanavin
2026-07-06 17:16 ` [PATCH 21/45] libpsl: upgrade 0.21.5 -> 0.22.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 22/45] lighttpd: upgrade 1.4.83 -> 1.4.84 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 23/45] lttng-modules: upgrade 2.15.1 -> 2.15.2 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 24/45] opkg: upgrade 0.9.0 -> 0.10.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 25/45] piglit: upgrade to latest revision Alexander Kanavin
2026-07-06 17:16 ` Alexander Kanavin [this message]
2026-07-06 17:16 ` [PATCH 27/45] python3-hypothesis: upgrade 6.155.2 -> 6.155.7 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 28/45] python3-pdm: upgrade 2.27.0 -> 2.28.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 29/45] python3-pytest: upgrade 9.1.0 -> 9.1.1 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 30/45] python3-setuptools-rust: upgrade 1.12.1 -> 1.13.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 31/45] python3-setuptools-scm: upgrade 10.0.5 -> 10.2.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 32/45] python3-vcs-versioning: upgrade 1.1.1 -> 2.2.2 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 33/45] python3-wcwidth: upgrade 0.8.1 -> 0.8.2 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 34/45] qemu: upgrade 11.0.1 -> 11.0.2 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 35/45] shared-mime-info: upgrade 2.4 -> 2.5.1 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 36/45] socat: upgrade 1.8.1.1 -> 1.8.1.3 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 37/45] sqlite3: upgrade 3.53.2 -> 3.53.3 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 38/45] strace: upgrade 7.0 -> 7.1 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 39/45] tcl: upgrade 9.0.3 -> 9.0.4 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 40/45] ttyrun: upgrade 2.42.1 -> 2.43.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 41/45] vulkan-samples: upgrade to latest revision Alexander Kanavin
2026-07-06 17:16 ` [PATCH 42/45] vulkan: upgrade 1.4.350.0 -> 1.4.350.1 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 43/45] waffle: upgrade 1.8.2 -> 1.8.3 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 44/45] wic: upgrade 0.3.0 -> 0.3.1 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 45/45] xkeyboard-config: upgrade 2.47 -> 2.48 Alexander Kanavin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260706171701.70536-26-alex.kanavin@gmail.com \
    --to=alex.kanavin@gmail.com \
    --cc=alex@linutronix.de \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox