Package: src:python-passlib
Version: 1.7.4-4
Severity: serious
Tags: ftbfs
Dear maintainer:
During a rebuild of all packages in unstable, your package failed to build:
--------------------------------------------------------------------------------
[...]
debian/rules build
dh build --with python3 --buildsystem=pybuild
dh_update_autotools_config -O--buildsystem=pybuild
dh_autoreconf -O--buildsystem=pybuild
dh_auto_configure -O--buildsystem=pybuild
I: pybuild base:311: python3.13 setup.py config
running config
I: pybuild base:311: python3.12 setup.py config
running config
dh_auto_build -O--buildsystem=pybuild
I: pybuild base:311: /usr/bin/python3.13 setup.py build
running build
running build_py
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_passlib/build/passlib
[... snipped ...]
:arg name:
name of backend to load, can be any of the following:
* ``"any"`` -- use current backend if one is loaded,
otherwise load the first available backend.
* ``"default"`` -- use the first available backend.
* any string in :attr:`backends`, loads specified backend.
:param dryrun:
If True, this perform all setup actions *except* switching over to
the new backend.
(this flag is used to implement :meth:`has_backend`).
.. versionadded:: 1.7
:raises ValueError:
If backend name is unknown.
:raises passlib.exc.MissingBackendError:
If specific backend is missing;
or in the case of ``"any"`` / ``"default"``, if *no* backends are
available.
:raises passlib.exc.PasslibSecurityError:
If ``"any"`` or ``"default"`` was specified,
but the only backend available has a PasslibSecurityError.
"""
# check if active backend is acceptable
if (name == "any" and cls.__backend) or (name and name ==
cls.__backend):
return cls.__backend
# if this isn't the final subclass, whose bases we can modify,
# find that class, and recursively call this method for the proper
class.
owner = cls._get_backend_owner()
if owner is not cls:
return owner.set_backend(name, dryrun=dryrun)
# pick first available backend
if name == "any" or name == "default":
default_error = None
for name in cls.backends:
try:
return cls.set_backend(name, dryrun=dryrun)
except exc.MissingBackendError:
continue
except exc.PasslibSecurityError as err:
# backend is available, but refuses to load due to security
issue.
if default_error is None:
default_error = err
continue
if default_error is None:
msg = "%s: no backends available" % cls.name
if cls._no_backend_suggestion:
msg += cls._no_backend_suggestion
default_error = exc.MissingBackendError(msg)
> raise default_error
E passlib.exc.MissingBackendError: bcrypt: no backends available --
recommend you install one (e.g. 'pip install bcrypt')
passlib/utils/handlers.py:2175: MissingBackendError
_______________ bcrypt_sha256_os_crypt_test.test_using_salt_size _______________
self = <passlib.tests.test_handlers_bcrypt.bcrypt_sha256_os_crypt_test
testMethod=test_using_salt_size>
def setUp(self):
assert self.backend == "os_crypt"
if not self.handler.has_backend("os_crypt"):
# XXX: currently, any tests that use this are skipped entirely!
(see issue 120)
> self._patch_safe_crypt()
passlib/tests/utils.py:3211:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
passlib/tests/utils.py:3245: in _patch_safe_crypt
handler, alt_backend = self._get_safe_crypt_handler_backend()
passlib/tests/test_handlers_bcrypt.py:679: in _get_safe_crypt_handler_backend
return bcrypt_os_crypt_test._get_safe_crypt_handler_backend()
passlib/tests/utils.py:3224: in _get_safe_crypt_handler_backend
handler.get_backend()
passlib/utils/handlers.py:2087: in get_backend
cls.set_backend()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
cls = <class 'passlib.handlers.bcrypt.bcrypt'>, name = 'builtin', dryrun = False
@classmethod
def set_backend(cls, name="any", dryrun=False):
"""
Load specified backend.
:arg name:
name of backend to load, can be any of the following:
* ``"any"`` -- use current backend if one is loaded,
otherwise load the first available backend.
* ``"default"`` -- use the first available backend.
* any string in :attr:`backends`, loads specified backend.
:param dryrun:
If True, this perform all setup actions *except* switching over to
the new backend.
(this flag is used to implement :meth:`has_backend`).
.. versionadded:: 1.7
:raises ValueError:
If backend name is unknown.
:raises passlib.exc.MissingBackendError:
If specific backend is missing;
or in the case of ``"any"`` / ``"default"``, if *no* backends are
available.
:raises passlib.exc.PasslibSecurityError:
If ``"any"`` or ``"default"`` was specified,
but the only backend available has a PasslibSecurityError.
"""
# check if active backend is acceptable
if (name == "any" and cls.__backend) or (name and name ==
cls.__backend):
return cls.__backend
# if this isn't the final subclass, whose bases we can modify,
# find that class, and recursively call this method for the proper
class.
owner = cls._get_backend_owner()
if owner is not cls:
return owner.set_backend(name, dryrun=dryrun)
# pick first available backend
if name == "any" or name == "default":
default_error = None
for name in cls.backends:
try:
return cls.set_backend(name, dryrun=dryrun)
except exc.MissingBackendError:
continue
except exc.PasslibSecurityError as err:
# backend is available, but refuses to load due to security
issue.
if default_error is None:
default_error = err
continue
if default_error is None:
msg = "%s: no backends available" % cls.name
if cls._no_backend_suggestion:
msg += cls._no_backend_suggestion
default_error = exc.MissingBackendError(msg)
> raise default_error
E passlib.exc.MissingBackendError: bcrypt: no backends available --
recommend you install one (e.g. 'pip install bcrypt')
passlib/utils/handlers.py:2175: MissingBackendError
________________ bcrypt_sha256_os_crypt_test.test_using_version ________________
self = <passlib.tests.test_handlers_bcrypt.bcrypt_sha256_os_crypt_test
testMethod=test_using_version>
def setUp(self):
# ensure builtin is enabled for duration of test.
if TEST_MODE("full") and self.backend == "builtin":
key = "PASSLIB_BUILTIN_BCRYPT"
orig = os.environ.get(key)
if orig:
self.addCleanup(os.environ.__setitem__, key, orig)
else:
self.addCleanup(os.environ.__delitem__, key)
os.environ[key] = "enabled"
> super(_bcrypt_sha256_test, self).setUp()
passlib/tests/test_handlers_bcrypt.py:585:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
passlib/tests/utils.py:3211: in setUp
self._patch_safe_crypt()
passlib/tests/utils.py:3245: in _patch_safe_crypt
handler, alt_backend = self._get_safe_crypt_handler_backend()
passlib/tests/test_handlers_bcrypt.py:679: in _get_safe_crypt_handler_backend
return bcrypt_os_crypt_test._get_safe_crypt_handler_backend()
passlib/tests/utils.py:3224: in _get_safe_crypt_handler_backend
handler.get_backend()
passlib/utils/handlers.py:2087: in get_backend
cls.set_backend()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
cls = <class 'passlib.handlers.bcrypt.bcrypt'>, name = 'builtin', dryrun = False
@classmethod
def set_backend(cls, name="any", dryrun=False):
"""
Load specified backend.
:arg name:
name of backend to load, can be any of the following:
* ``"any"`` -- use current backend if one is loaded,
otherwise load the first available backend.
* ``"default"`` -- use the first available backend.
* any string in :attr:`backends`, loads specified backend.
:param dryrun:
If True, this perform all setup actions *except* switching over to
the new backend.
(this flag is used to implement :meth:`has_backend`).
.. versionadded:: 1.7
:raises ValueError:
If backend name is unknown.
:raises passlib.exc.MissingBackendError:
If specific backend is missing;
or in the case of ``"any"`` / ``"default"``, if *no* backends are
available.
:raises passlib.exc.PasslibSecurityError:
If ``"any"`` or ``"default"`` was specified,
but the only backend available has a PasslibSecurityError.
"""
# check if active backend is acceptable
if (name == "any" and cls.__backend) or (name and name ==
cls.__backend):
return cls.__backend
# if this isn't the final subclass, whose bases we can modify,
# find that class, and recursively call this method for the proper
class.
owner = cls._get_backend_owner()
if owner is not cls:
return owner.set_backend(name, dryrun=dryrun)
# pick first available backend
if name == "any" or name == "default":
default_error = None
for name in cls.backends:
try:
return cls.set_backend(name, dryrun=dryrun)
except exc.MissingBackendError:
continue
except exc.PasslibSecurityError as err:
# backend is available, but refuses to load due to security
issue.
if default_error is None:
default_error = err
continue
if default_error is None:
msg = "%s: no backends available" % cls.name
if cls._no_backend_suggestion:
msg += cls._no_backend_suggestion
default_error = exc.MissingBackendError(msg)
> raise default_error
E passlib.exc.MissingBackendError: bcrypt: no backends available --
recommend you install one (e.g. 'pip install bcrypt')
passlib/utils/handlers.py:2175: MissingBackendError
=============================== warnings summary ===============================
passlib/tests/test_context_deprecated.py:17
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_passlib/build/passlib/tests/test_context_deprecated.py:17:
DeprecationWarning: pkg_resources is deprecated as an API. See
https://setuptools.pypa.io/en/latest/pkg_resources.html
from pkg_resources import resource_filename
.pybuild/cpython3_3.13_passlib/build/passlib/tests/test_apache.py::HtpasswdFileTest::test_02_set_password_default_scheme
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_passlib/build/passlib/apache.py:723:
PasslibSecurityWarning: HtpasswdFile: no bcrypt backends available, using
fallback for default scheme 'portable'
warn("HtpasswdFile: no bcrypt backends available, "
.pybuild/cpython3_3.13_passlib/build/passlib/tests/test_crypto_scrypt.py: 11
warnings
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_passlib/build/passlib/crypto/scrypt/__init__.py:162:
PasslibSecurityWarning: Using builtin scrypt backend, which is 100x slower
than is required for adequate security. Installing scrypt support (via 'pip
install scrypt') is strongly recommended
warn("Using builtin scrypt backend, which is %dx slower than is required "
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED
passlib/tests/test_handlers.py::des_crypt_os_crypt_test::test_82_crypt_support
FAILED
passlib/tests/test_handlers.py::md5_crypt_os_crypt_test::test_82_crypt_support
FAILED
passlib/tests/test_handlers.py::sha256_crypt_os_crypt_test::test_82_crypt_support
FAILED
passlib/tests/test_handlers.py::sha512_crypt_os_crypt_test::test_82_crypt_support
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_01_required_attributes
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_02_config_workflow
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_02_using_workflow
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_03_hash_workflow
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_03_legacy_hash_workflow
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_04_hash_types
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_05_backends
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_10_optional_salt_attributes
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_11_unique_salt
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_12_min_salt_size
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_13_max_salt_size
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_14_salt_chars
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_15_salt_type
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_20_optional_rounds_attributes
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_21_min_rounds
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_21b_max_rounds
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_30_HasManyIdents
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_61_secret_case_sensitive
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_62_secret_border
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_63_large_secret
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_64_forbidden_chars
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_70_hashes
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_70_parsehash
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_71_alternates
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_71_parsehash_results
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_72_configs
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_73_unidentified
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_74_malformed
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_75_foreign
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_76_hash_border
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_77_fuzz_input
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_78_fuzz_threading
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_80_faulty_crypt
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_81_crypt_fallback
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_82_crypt_support
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_90_bcrypt_padding
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_disable_and_enable
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_has_many_idents_using
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_has_rounds_replace_w_max_rounds
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_has_rounds_using_and_needs_update
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_has_rounds_using_harness
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_has_rounds_using_w_default_rounds
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_has_rounds_using_w_min_rounds
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_has_rounds_using_w_rounds
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_has_rounds_using_w_vary_rounds_generation
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_has_rounds_using_w_vary_rounds_parsing
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_needs_update_w_padding
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_secret_w_truncate_size
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_secret_wo_truncate_size
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_truncate_error_setting
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_using_salt_size
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_01_required_attributes
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_02_config_workflow
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_02_using_workflow
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_03_hash_workflow
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_03_legacy_hash_workflow
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_04_hash_types
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_05_backends
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_10_optional_salt_attributes
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_11_unique_salt
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_12_min_salt_size
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_13_max_salt_size
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_14_salt_chars
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_15_salt_type
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_20_optional_rounds_attributes
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_21_min_rounds
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_21b_max_rounds
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_30_HasManyIdents
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_30_HasOneIdent
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_61_secret_case_sensitive
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_62_secret_border
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_63_large_secret
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_64_forbidden_chars
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_70_hashes
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_70_parsehash
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_71_alternates
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_71_parsehash_results
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_72_configs
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_73_unidentified
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_74_malformed
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_75_foreign
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_76_hash_border
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_77_fuzz_input
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_78_fuzz_threading
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_80_faulty_crypt
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_81_crypt_fallback
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_82_crypt_support
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_calc_digest_v2
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_disable_and_enable
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_has_many_idents_using
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_has_rounds_replace_w_max_rounds
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_has_rounds_using_and_needs_update
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_has_rounds_using_harness
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_has_rounds_using_w_default_rounds
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_has_rounds_using_w_min_rounds
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_has_rounds_using_w_rounds
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_has_rounds_using_w_vary_rounds_generation
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_has_rounds_using_w_vary_rounds_parsing
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_secret_w_truncate_size
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_secret_wo_truncate_size
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_truncate_error_setting
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_using_salt_size
FAILED
passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_using_version
==== 107 failed, 1806 passed, 2357 skipped, 13 warnings in 97.32s (0:01:37) ====
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_passlib/build; python3.13 -m pytest
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_passlib/build;
python3.12 -m pytest
============================= test session starts ==============================
platform linux -- Python 3.12.8, pytest-8.3.4, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>
plugins: typeguard-4.4.1
collected 4366 items
passlib/tests/test_apache.py ..................ss............. [ 0%]
passlib/tests/test_apps.py ........... [ 1%]
passlib/tests/test_context.py ...................................... [ 1%]
passlib/tests/test_context_deprecated.py ........................ [ 2%]
passlib/tests/test_crypto_builtin_md4.py ..... [ 2%]
passlib/tests/test_crypto_des.py .... [ 2%]
passlib/tests/test_crypto_digest.py ............ [ 2%]
passlib/tests/test_crypto_scrypt.py .....s................. [ 3%]
passlib/tests/test_ext_django.py ssssssssssssssssssssssss [ 3%]
passlib/tests/test_ext_django_source.py s [ 4%]
passlib/tests/test_handlers.py ......s......ssss...s..ssss....ssssssssss [ 4%]
ss.........s......ssss...s..sss.s...s.sssssssssss...................s... [ 6%]
...sss.s...s..sss.........s...ssssssssssssssssssssssssssssssssssssssssss [ 8%]
sssss......s......ssss...s..sssss...sssssssssss.s...............ssss.... [ 9%]
..sss.s...s...ssssssssss.s..ssssssssssssssssssssssssssssssssssssssssssss [ 11%]
ss......s.........s...s..sss.....s.ss........s.........sssssssssss...s.. [ 13%]
sssss...ssssssssssss..s......sssssssssss...s..sssss...sssssssssss.s..s.. [ 14%]
....sssssssssss...s..sssss...ssssssssssss..s......sssssssssss...s..sssss [ 16%]
...ssssssssssss..s......sssssssssss...s..sssss...ssssssssssss..s......ss [ 18%]
sssssssss...s.ssss.s...ss..sssssssssss..s......sssssssssss...s..sssss... [ 19%]
ssssssssssss..s......sssssssssss...s..sssss...ssssssssssss..s......s.... [ 21%]
..ssss...s..ssss....ssssssssssss.........s......ssss...s..ssss....ssssss [ 23%]
ssssss.........s......ssss...s..ssss....ssssssssssss.........s......ssss [ 24%]
...s..ssss....ssssssssssss.........sssssssssss...s.ssss.s...ssssssssssss [ 26%]
..s.............ssss.....sssss....s..ssssssssssss...ssssssssssssssssssss [ 28%]
ssssssssssssssssssssssssss................s.....ssssss..ss..sss........s [ 29%]
.........sssssssssss...s..sss.s...s.ssssssssss.s.s.............ssss..... [ 31%]
.ssss....s...sssssssssss...sssssssssssssssssssssssssssssssssssssssssssss [ 32%]
s......sssssssssss...s...ssss...s...sssssssssss..s......sssssssssss...s. [ 34%]
.sssss...s...sssssssssss..s......s......ssss...s...ss.....ssssssssssss.. [ 36%]
.......s......ssss...s...ss.....ssssssssssss.........sssssssssss...s..ss [ 37%]
s.s...s.sssssssssss..s......sssssssssss...s..sss.s...ssssssssssss..s.... [ 39%]
..sssssssssss...s..sss.s...ssssssssssss..s......sssssssssss...s.ssss.s.. [ 41%]
.ssssssssssss..s......sssssssssss...s..sss.s...s...sssssssssss..s......s [ 42%]
......ssss...s..sssss...ssssssssssss.........s.............s..ssss....ss [ 44%]
.........s.........sssssssssss...s.sssssss..ssssssssssss..s......sssssss [ 46%]
ssss...s..sss.s...s...sssssssssss..s................s......ssss....s..ss [ 47%]
s........s...ssssssssssssssssssssssssssssssssssssssssssssss............. [ 49%]
....s......ss.s....s...ss........s...sssssssssssssssssssssssssssssssssss [ 51%]
sssssssssss................s......ss.s....s...ss........s...ssssssssssss [ 52%]
ssssssssssssssssssssssssssssssssss......s.........s...s..ss.s....sss.... [ 54%]
....s.........sssssssssss...s.ssss.s..ss..ssssssssss..s......sssssssssss [ 56%]
...s..ssssss.ss...ssssssssss..s [ 56%]
passlib/tests/test_handlers_argon2.py ssssssssssssssssssssssssssssssssss [ 57%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 59%]
ss [ 59%]
passlib/tests/test_handlers_bcrypt.py ssssssssssssssssssssssssssssssssss [ 60%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 61%]
ssssssssssssssssssssssssssssssssssssss.......................ss......s.. [ 63%]
sss...........s..sssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 64%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 66%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.... [ 68%]
............s....s..ss.s....s..s.ss........s....ssssssssssssssssssssssss [ 69%]
sssssssssssssssssssssssss [ 70%]
passlib/tests/test_handlers_cisco.py ......sssssssssss...s..sssss...s... [ 71%]
.ssssssssss.s.s......sssssssssss...s..sssss...s....ssssssssss.s.s......s [ 72%]
s.sss.ssss...s..sss.s...s..sssssssssss..s [ 73%]
passlib/tests/test_handlers_django.py ......sssssssssss...s...ssss..ss.s [ 74%]
sssssssss..s......s......ssss...s...ss.....sssssssssssss.s........s..... [ 76%]
.ssss...s..sss.....ssssssssssssss.........s......ssss...s..sss.....sssss [ 77%]
sssssssss.........s.........s...s..sssss...sssss........s.........s..... [ 79%]
....s...s..sssss...sssss........s...................s.....ssssss...sssss [ 81%]
.........s......................s..sssss...ssss.........s... [ 82%]
passlib/tests/test_handlers_pbkdf2.py .......s......ssss...s..ssss....ss [ 83%]
ssssssssss.........s.........s...s..ssss....sss........s.........s...... [ 85%]
...s...s..sssss...sss........s.........s.........s...s..sssss...sss..... [ 86%]
...s.........s.........s...s..sssss...sss........s.........s.........s.. [ 88%]
.s..sssss...sss........s.........s.........s...s..sssss...sss........s.. [ 90%]
.......s.........s...s..ssss....s...........ss........s... [ 91%]
passlib/tests/test_handlers_scrypt.py ....................s..ssss....ss. [ 92%]
........s...ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 93%]
ssssssssssssssssssssssssssssssss [ 94%]
passlib/tests/test_hosts.py ... [ 94%]
passlib/tests/test_pwd.py ........ [ 94%]
passlib/tests/test_registry.py ...... [ 94%]
passlib/tests/test_totp.py ss.ss................................... [ 95%]
passlib/tests/test_utils.py ............................................ [ 96%]
........... [ 97%]
passlib/tests/test_utils_handlers.py ..........................sssssssss [ 97%]
ss...s..sssss...s.sssssssssss..s......s......ssss...s..sssss...s.sssssss [ 99%]
ssss... [ 99%]
passlib/tests/test_utils_md4.py ..... [ 99%]
passlib/tests/test_utils_pbkdf2.py ....... [ 99%]
passlib/tests/test_win32.py .. [100%]
=============================== warnings summary ===============================
passlib/utils/__init__.py:854
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_passlib/build/passlib/utils/__init__.py:854:
DeprecationWarning: 'crypt' is deprecated and slated for removal in Python 3.13
from crypt import crypt as _crypt
passlib/tests/test_context_deprecated.py:17
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_passlib/build/passlib/tests/test_context_deprecated.py:17:
DeprecationWarning: pkg_resources is deprecated as an API. See
https://setuptools.pypa.io/en/latest/pkg_resources.html
from pkg_resources import resource_filename
.pybuild/cpython3_3.12_passlib/build/passlib/tests/test_crypto_scrypt.py: 11
warnings
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_passlib/build/passlib/crypto/scrypt/__init__.py:162:
PasslibSecurityWarning: Using builtin scrypt backend, which is 100x slower
than is required for adequate security. Installing scrypt support (via 'pip
install scrypt') is strongly recommended
warn("Using builtin scrypt backend, which is %dx slower than is required "
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
========== 2020 passed, 2346 skipped, 13 warnings in 98.80s (0:01:38) ==========
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.13
3.12" returned exit code 13
make: *** [debian/rules:6: build] Error 25
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
--------------------------------------------------------------------------------
The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:
https://people.debian.org/~sanvila/build-logs/202412/
About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.
If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.
If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.
Thanks.