public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/toolz/, dev-python/toolz/files/
Date: Tue, 18 Jun 2024 17:59:21 +0000 (UTC)	[thread overview]
Message-ID: <1718733552.dcd3780f610c9f72ed022124dbe5460966627c54.mgorny@gentoo> (raw)

commit:     dcd3780f610c9f72ed022124dbe5460966627c54
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 18 17:47:34 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jun 18 17:59:12 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dcd3780f

dev-python/toolz: Grab test fixes from upstream PR

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/toolz/files/toolz-0.12.1-test.patch | 88 ++++++++++++++++++++++++++
 dev-python/toolz/toolz-0.12.1.ebuild           |  5 ++
 2 files changed, 93 insertions(+)

diff --git a/dev-python/toolz/files/toolz-0.12.1-test.patch b/dev-python/toolz/files/toolz-0.12.1-test.patch
new file mode 100644
index 000000000000..396ed003a62e
--- /dev/null
+++ b/dev-python/toolz/files/toolz-0.12.1-test.patch
@@ -0,0 +1,88 @@
+From b79a954ca5fa6801c3a3dc6b39fa523be33884a8 Mon Sep 17 00:00:00 2001
+From: Adam Williamson <awilliam@redhat.com>
+Date: Fri, 14 Jun 2024 13:43:24 -0700
+Subject: [PATCH 1/2] test_excepts: fudge changed indentation in Python 3.13
+
+Signed-off-by: Adam Williamson <awilliam@redhat.com>
+---
+ toolz/tests/test_functoolz.py | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/toolz/tests/test_functoolz.py b/toolz/tests/test_functoolz.py
+index 555cf48d..a28c2a77 100644
+--- a/toolz/tests/test_functoolz.py
++++ b/toolz/tests/test_functoolz.py
+@@ -738,10 +738,13 @@ def f(a, b):
+ def test_excepts():
+     # These are descriptors, make sure this works correctly.
+     assert excepts.__name__ == 'excepts'
++    # in Python < 3.13 the second line is indented, in 3.13+
++    # it is not, strip all lines to fudge it
++    testlines = "\n".join((line.strip() for line in excepts.__doc__.splitlines()))
+     assert (
+         'A wrapper around a function to catch exceptions and\n'
+-        '    dispatch to a handler.\n'
+-    ) in excepts.__doc__
++        'dispatch to a handler.\n'
++    ) in testlines
+ 
+     def idx(a):
+         """idx docstring
+
+From 832e81d28882d1235c704de95e1d075ee61976c1 Mon Sep 17 00:00:00 2001
+From: Adam Williamson <awilliam@redhat.com>
+Date: Fri, 14 Jun 2024 16:03:30 -0700
+Subject: [PATCH 2/2] test_inspect_wrapped_property: handle fixed wrapper
+ inspection
+
+Python upstream recently fixed the behavior of inspect with
+wrappers: https://github.com/python/cpython/issues/112006 . The
+assertion here relies on the broken behavior, we only get None
+if `inspect(Wrapped)` fails and raises `ValueError`. Now it
+works, we actually get the correct answer, 1. This changes it so
+we assert the correct thing depending on the Python version (the
+fix was backported to 3.11.9 and 3.12.3, so the check has to be a
+bit complicated).
+
+Signed-off-by: Adam Williamson <awilliam@redhat.com>
+---
+ toolz/tests/test_inspect_args.py | 21 +++++++++++++++++++--
+ 1 file changed, 19 insertions(+), 2 deletions(-)
+
+diff --git a/toolz/tests/test_inspect_args.py b/toolz/tests/test_inspect_args.py
+index 93408eb5..f26dbc64 100644
+--- a/toolz/tests/test_inspect_args.py
++++ b/toolz/tests/test_inspect_args.py
+@@ -2,6 +2,7 @@
+ import inspect
+ import itertools
+ import operator
++import sys
+ import toolz
+ from toolz.functoolz import (curry, is_valid_args, is_partial_args, is_arity,
+                              num_required_args, has_varargs, has_keywords)
+@@ -482,6 +483,22 @@ def __wrapped__(self):
+     wrapped = Wrapped(func)
+     assert inspect.signature(func) == inspect.signature(wrapped)
+ 
+-    assert num_required_args(Wrapped) is None
+-    _sigs.signatures[Wrapped] = (_sigs.expand_sig((0, lambda func: None)),)
++    # inspect.signature did not used to work properly on wrappers,
++    # but it was fixed in Python 3.11.9, Python 3.12.3 and Python
++    # 3.13+
++    inspectbroken = True
++    if sys.version_info.major > 3:
++        inspectbroken = False
++    if sys.version_info.major == 3:
++        if sys.version_info.minor == 11 and sys.version_info.micro > 8:
++            inspectbroken = False
++        if sys.version_info.minor == 12 and sys.version_info.micro > 2:
++            inspectbroken = False
++        if sys.version_info.minor > 12:
++            inspectbroken = False
++
++    if inspectbroken:
++        assert num_required_args(Wrapped) is None
++        _sigs.signatures[Wrapped] = (_sigs.expand_sig((0, lambda func: None)),)
++
+     assert num_required_args(Wrapped) == 1

diff --git a/dev-python/toolz/toolz-0.12.1.ebuild b/dev-python/toolz/toolz-0.12.1.ebuild
index 111952a712ff..50e255d72b8d 100644
--- a/dev-python/toolz/toolz-0.12.1.ebuild
+++ b/dev-python/toolz/toolz-0.12.1.ebuild
@@ -20,6 +20,11 @@ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~spar
 
 distutils_enable_tests pytest
 
+PATCHES=(
+	# https://github.com/pytoolz/toolz/pull/582
+	"${FILESDIR}/${P}-test.patch"
+)
+
 python_test() {
 	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
 	epytest


             reply	other threads:[~2024-06-18 17:59 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-18 17:59 Michał Górny [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-09-06 17:34 [gentoo-commits] repo/gentoo:master commit in: dev-python/toolz/, dev-python/toolz/files/ Michał Górny
2021-06-20 22:59 Michał Górny

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=1718733552.dcd3780f610c9f72ed022124dbe5460966627c54.mgorny@gentoo \
    --to=mgorny@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.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