Source: toolz Version: 0.11.1-1 Severity: serious X-Debbugs-CC: debian-ci@lists.debian.org Tags: sid bookworm User: debian-ci@lists.debian.org Usertags: needs-update User: debian-python@lists.debian.org Usertags: python3.10 Control: affects -1 src:python3-defaults Dear maintainer(s),We are in the transition of adding python3.10 to the supported Python versions [0]. With a recent upload of python3-defaults the autopkgtest of toolz fails in testing when that autopkgtest is run with the binary packages of python3-defaults from unstable. It passes when run with only packages from testing. In tabular form:
pass fail
python3-defaults from testing 3.9.8-1
toolz from testing 0.11.1-1
all others from testing from testing
I copied some of the output at the bottom of this report.
Currently this regression is blocking the migration of python3-defaults
to testing [1]. https://docs.python.org/3/whatsnew/3.10.html lists
what's new in Python3.10, it may help to identify what needs to be updated.
More information about this bug and the reason for filing it can be found on https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation Paul [0] https://bugs.debian.org/996584 [1] https://qa.debian.org/excuses.php?package=python3-defaults https://ci.debian.net/data/autopkgtest/testing/amd64/t/toolz/17446745/log.gz Testing with python3.10:============================= test session starts ==============================
platform linux -- Python 3.10.1, pytest-6.2.5, py-1.10.0, pluggy-0.13.0 rootdir: /tmp/autopkgtest-lxc.ua55b3g2/downtmp/autopkgtest_tmp collected 179 itemstests/test_curried.py .......... [ 5%] tests/test_curried_doctests.py . [ 6%] tests/test_dicttoolz.py ............................................... [ 32%] tests/test_functoolz.py ...................................... [ 53%] tests/test_inspect_args.py ..............F.. [ 63%] tests/test_itertoolz.py ................................................ [ 89%] .. [ 91%] tests/test_recipes.py .. [ 92%] tests/test_serialization.py ......... [ 97%] tests/test_signatures.py ... [ 98%] tests/test_tlz.py . [ 99%] tests/test_utils.py . [100%]
=================================== FAILURES =================================== _______________________ test_introspect_builtin_modules ________________________
def test_introspect_builtin_modules():
mods = [builtins, functools, itertools, operator, toolz,
toolz.functoolz, toolz.itertoolz, toolz.dicttoolz,
toolz.recipes]
blacklist = set()
def add_blacklist(mod, attr):
if hasattr(mod, attr):
blacklist.add(getattr(mod, attr))
add_blacklist(builtins, 'basestring')
add_blacklist(builtins, 'NoneType')
add_blacklist(builtins, '__metaclass__')
add_blacklist(builtins, 'sequenceiterator')
def is_missing(modname, name, func):
if name.startswith('_') and not name.startswith('__'):
return False
if name.startswith('__pyx_unpickle_') or
name.endswith('_cython__'):
return False
try:
if issubclass(func, BaseException):
return False
except TypeError:
pass
try:
return (callable(func)
and func.__module__ is not None
and modname in func.__module__
and is_partial_args(func, (), {}) is not True
and func not in blacklist)
except AttributeError:
return False
missing = {}
for mod in mods:
modname = mod.__name__
for name, func in vars(mod).items():
if is_missing(modname, name, func):
if modname not in missing:
missing[modname] = []
missing[modname].append(name)
if missing:
messages = []
for modname, names in sorted(missing.items()):
msg = '{}:\n {}'.format(modname, '\n
'.join(sorted(names)))
messages.append(msg)
message = 'Missing introspection for the following
callables:\n\n'
raise AssertionError(message + '\n\n'.join(messages))
E AssertionError: Missing introspection for the following
callables:
E E builtins: E anext/usr/lib/python3/dist-packages/toolz/tests/test_inspect_args.py:433: AssertionError =============================== warnings summary ===============================
../../../../usr/lib/python3/dist-packages/toolz/compatibility.py:2/usr/lib/python3/dist-packages/toolz/compatibility.py:2: DeprecationWarning: The toolz.compatibility module is no longer needed in Python 3 and has been deprecated. Please import these utilities directly from the standard library. This module will be removed in a future release.
warnings.warn("The toolz.compatibility module is no longer "
tests/test_itertoolz.py::test_random_sample
tests/test_itertoolz.py::test_random_sample
tests/test_itertoolz.py::test_random_sample
tests/test_itertoolz.py::test_random_sample
/usr/lib/python3.10/random.py:125: DeprecationWarning: Seeding based
on hashing is deprecated
since Python 3.9 and will be removed in a subsequent version. The
only supported seed types are: None, int, float, str, bytes, and
bytearray.
self.seed(x)
-- Docs: https://docs.pytest.org/en/stable/warnings.html
=========================== short test summary info
============================
FAILED tests/test_inspect_args.py::test_introspect_builtin_modules -
Assertio...
================== 1 failed, 178 passed, 5 warnings in 1.22s
===================
autopkgtest [14:18:24]: test command1
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature