[Python-modules-team] Bug#1002357: flask-login: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.10 3.9" returned exit code 13

Lucas Nussbaum lucas at debian.org
Wed Dec 22 07:51:35 GMT 2021


Source: flask-login
Version: 0.5.0-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-20211220 ftbfs-bookworm

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
>  debian/rules binary
> dh binary --with python3,sphinxdoc --buildsystem pybuild
>    dh_update_autotools_config -O--buildsystem=pybuild
>    dh_autoreconf -O--buildsystem=pybuild
>    dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:237: python3.10 setup.py config 
> running config
> I: pybuild base:237: python3.9 setup.py config 
> running config
>    dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:237: /usr/bin/python3.10 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-login/build/flask_login
> copying flask_login/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-login/build/flask_login
> copying flask_login/__about__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-login/build/flask_login
> copying flask_login/login_manager.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-login/build/flask_login
> copying flask_login/mixins.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-login/build/flask_login
> copying flask_login/_compat.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-login/build/flask_login
> copying flask_login/signals.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-login/build/flask_login
> copying flask_login/config.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-login/build/flask_login
> copying flask_login/test_client.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-login/build/flask_login
> copying flask_login/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-login/build/flask_login
> I: pybuild base:237: /usr/bin/python3 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_flask-login/build/flask_login
> copying flask_login/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_flask-login/build/flask_login
> copying flask_login/__about__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_flask-login/build/flask_login
> copying flask_login/login_manager.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_flask-login/build/flask_login
> copying flask_login/mixins.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_flask-login/build/flask_login
> copying flask_login/_compat.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_flask-login/build/flask_login
> copying flask_login/signals.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_flask-login/build/flask_login
> copying flask_login/config.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_flask-login/build/flask_login
> copying flask_login/test_client.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_flask-login/build/flask_login
> copying flask_login/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_flask-login/build/flask_login
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild pybuild:286: cp -r /<<PKGBUILDDIR>>/test_login.py /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-login/build
> I: pybuild base:237: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-login/build; python3.10 -m pytest -v
> ============================= test session starts ==============================
> platform linux -- Python 3.10.1, pytest-6.2.5, py-1.10.0, pluggy-0.13.0 -- /usr/bin/python3.10
> cachedir: .pytest_cache
> rootdir: /<<PKGBUILDDIR>>
> collecting ... collected 117 items
> 
> test_login.py::AboutTestCase::test_have_about_data PASSED                [  0%]
> test_login.py::StaticTestCase::test_static_loads_anonymous PASSED        [  1%]
> test_login.py::StaticTestCase::test_static_loads_without_accessing_session PASSED [  2%]
> test_login.py::InitializationTestCase::test_class_init PASSED            [  3%]
> test_login.py::InitializationTestCase::test_init_app PASSED              [  4%]
> test_login.py::InitializationTestCase::test_login_disabled_is_set PASSED [  5%]
> test_login.py::InitializationTestCase::test_no_user_loader_raises PASSED [  5%]
> test_login.py::MethodViewLoginTestCase::test_options_call_exempt PASSED  [  6%]
> test_login.py::LoginTestCase::test_authentication_is_fresh PASSED        [  7%]
> test_login.py::LoginTestCase::test_chinese_user_agent SKIPPED (wait ...) [  8%]
> test_login.py::LoginTestCase::test_confirm_login PASSED                  [  9%]
> test_login.py::LoginTestCase::test_decorators_are_disabled PASSED        [ 10%]
> test_login.py::LoginTestCase::test_defaults_anonymous PASSED             [ 11%]
> test_login.py::LoginTestCase::test_fresh_login_required_decorator PASSED [ 11%]
> test_login.py::LoginTestCase::test_incorrect_id_logs_out PASSED          [ 12%]
> test_login.py::LoginTestCase::test_invalid_remember_cookie PASSED        [ 13%]
> test_login.py::LoginTestCase::test_login_inactive_user PASSED            [ 14%]
> test_login.py::LoginTestCase::test_login_inactive_user_forced PASSED     [ 15%]
> test_login.py::LoginTestCase::test_login_invalid_user_with_header PASSED [ 16%]
> test_login.py::LoginTestCase::test_login_invalid_user_with_request PASSED [ 17%]
> test_login.py::LoginTestCase::test_login_persists PASSED                 [ 17%]
> test_login.py::LoginTestCase::test_login_persists_with_many_x_forwarded_for PASSED [ 18%]
> test_login.py::LoginTestCase::test_login_persists_with_signle_x_forwarded_for PASSED [ 19%]
> test_login.py::LoginTestCase::test_login_required_decorator PASSED       [ 20%]
> test_login.py::LoginTestCase::test_login_user PASSED                     [ 21%]
> test_login.py::LoginTestCase::test_login_user_emits_signal PASSED        [ 22%]
> test_login.py::LoginTestCase::test_login_user_not_fresh PASSED           [ 23%]
> test_login.py::LoginTestCase::test_login_user_with_header PASSED         [ 23%]
> test_login.py::LoginTestCase::test_login_user_with_request PASSED        [ 24%]
> test_login.py::LoginTestCase::test_logout_emits_signal PASSED            [ 25%]
> test_login.py::LoginTestCase::test_logout_logs_out_current_user PASSED   [ 26%]
> test_login.py::LoginTestCase::test_logout_persists PASSED                [ 27%]
> test_login.py::LoginTestCase::test_logout_stays_logged_out_with_remember_me PASSED [ 28%]
> test_login.py::LoginTestCase::test_logout_stays_logged_out_with_remember_me_custom_duration PASSED [ 29%]
> test_login.py::LoginTestCase::test_logout_without_current_user PASSED    [ 29%]
> test_login.py::LoginTestCase::test_needs_refresh_aborts_401 PASSED       [ 30%]
> test_login.py::LoginTestCase::test_needs_refresh_fires_flash_when_redirect_to_refresh_view PASSED [ 31%]
> test_login.py::LoginTestCase::test_needs_refresh_fires_needs_refresh_signal PASSED [ 32%]
> test_login.py::LoginTestCase::test_needs_refresh_flash_message_localized PASSED [ 33%]
> test_login.py::LoginTestCase::test_needs_refresh_uses_handler PASSED     [ 34%]
> test_login.py::LoginTestCase::test_permanent_strong_session_protection_fires_signal PASSED [ 35%]
> test_login.py::LoginTestCase::test_permanent_strong_session_protection_marks_session_unfresh PASSED [ 35%]
> test_login.py::LoginTestCase::test_redirects_to_refresh_view PASSED      [ 36%]
> test_login.py::LoginTestCase::test_refresh_with_next_in_session PASSED   [ 37%]
> test_login.py::LoginTestCase::test_remember_me PASSED                    [ 38%]
> test_login.py::LoginTestCase::test_remember_me_accepts_duration_as_int PASSED [ 39%]
> test_login.py::LoginTestCase::test_remember_me_custom_duration PASSED    [ 40%]
> test_login.py::LoginTestCase::test_remember_me_custom_duration_uses_custom_cookie PASSED [ 41%]
> test_login.py::LoginTestCase::test_remember_me_is_unfresh PASSED         [ 41%]
> test_login.py::LoginTestCase::test_remember_me_refresh_every_request PASSED [ 42%]
> test_login.py::LoginTestCase::test_remember_me_uses_custom_cookie_parameters PASSED [ 43%]
> test_login.py::LoginTestCase::test_remember_me_with_invalid_custom_duration_returns_500_resp PASSED [ 44%]
> test_login.py::LoginTestCase::test_remember_me_with_invalid_duration_returns_500_response PASSED [ 45%]
> test_login.py::LoginTestCase::test_requests_without_accessing_session PASSED [ 46%]
> test_login.py::LoginTestCase::test_russian_cp1251_user_agent SKIPPED     [ 47%]
> test_login.py::LoginTestCase::test_session_not_modified PASSED           [ 47%]
> test_login.py::LoginTestCase::test_session_protection_basic_fires_signal PASSED [ 48%]
> test_login.py::LoginTestCase::test_session_protection_basic_marks_session_unfresh PASSED [ 49%]
> test_login.py::LoginTestCase::test_session_protection_basic_passes_successive_requests PASSED [ 50%]
> test_login.py::LoginTestCase::test_session_protection_basic_skips_when_remember_me PASSED [ 51%]
> test_login.py::LoginTestCase::test_session_protection_skip_when_basic_and_anonymous PASSED [ 52%]
> test_login.py::LoginTestCase::test_session_protection_skip_when_off_and_anonymous PASSED [ 52%]
> test_login.py::LoginTestCase::test_session_protection_strong_deletes_session PASSED [ 53%]
> test_login.py::LoginTestCase::test_session_protection_strong_fires_signal_user_agent PASSED [ 54%]
> test_login.py::LoginTestCase::test_session_protection_strong_fires_signal_x_forwarded_for PASSED [ 55%]
> test_login.py::LoginTestCase::test_session_protection_strong_passes_successive_requests PASSED [ 56%]
> test_login.py::LoginTestCase::test_session_protection_strong_skips_when_remember_me PASSED [ 57%]
> test_login.py::LoginTestCase::test_set_cookie_with_invalid_custom_duration_raises_exception PASSED [ 58%]
> test_login.py::LoginTestCase::test_set_cookie_with_invalid_duration_raises_exception PASSED [ 58%]
> test_login.py::LoginTestCase::test_set_login_view_without_blueprints PASSED [ 59%]
> test_login.py::LoginTestCase::test_test_request_context_users_are_anonymous PASSED [ 60%]
> test_login.py::LoginTestCase::test_unauthorized_aborts_with_401 PASSED   [ 61%]
> test_login.py::LoginTestCase::test_unauthorized_fires_unauthorized_signal PASSED [ 62%]
> test_login.py::LoginTestCase::test_unauthorized_flash_message_localized PASSED [ 63%]
> test_login.py::LoginTestCase::test_unauthorized_flashes_message_with_login_view PASSED [ 64%]
> test_login.py::LoginTestCase::test_unauthorized_redirects_to_login_view PASSED [ 64%]
> test_login.py::LoginTestCase::test_unauthorized_uses_authorized_handler PASSED [ 65%]
> test_login.py::LoginTestCase::test_unauthorized_uses_blueprint_login_view PASSED [ 66%]
> test_login.py::LoginTestCase::test_unauthorized_with_next_in_session PASSED [ 67%]
> test_login.py::LoginTestCase::test_unauthorized_with_next_in_strong_session PASSED [ 68%]
> test_login.py::LoginTestCase::test_user_context_processor PASSED         [ 69%]
> test_login.py::LoginTestCase::test_user_loaded_from_cookie_fired PASSED  [ 70%]
> test_login.py::LoginTestCase::test_user_loaded_from_header_fired PASSED  [ 70%]
> test_login.py::LoginTestCase::test_user_loaded_from_request_fired PASSED [ 71%]
> test_login.py::LoginTestCase::test_user_login_confirmed_signal_fired PASSED [ 72%]
> test_login.py::LoginViaRequestTestCase::test_defaults_anonymous PASSED   [ 73%]
> test_login.py::LoginViaRequestTestCase::test_has_no_user_loader_callback PASSED [ 74%]
> test_login.py::LoginViaRequestTestCase::test_login_invalid_user_with_request PASSED [ 75%]
> test_login.py::LoginViaRequestTestCase::test_login_invalid_user_with_request_when_already_logged_in PASSED [ 76%]
> test_login.py::LoginViaRequestTestCase::test_login_user_with_request_does_not_modify_session PASSED [ 76%]
> test_login.py::LoginViaRequestTestCase::test_login_via_request PASSED    [ 77%]
> test_login.py::LoginViaRequestTestCase::test_login_via_request_uses_cookie_when_already_logged_in PASSED [ 78%]
> test_login.py::LoginViaRequestTestCase::test_request_context_users_are_anonymous PASSED [ 79%]
> test_login.py::TestLoginUrlGeneration::test_login_url_generation PASSED  [ 80%]
> test_login.py::TestLoginUrlGeneration::test_login_url_generation_with_view PASSED [ 81%]
> test_login.py::TestLoginUrlGeneration::test_login_url_no_next_url PASSED [ 82%]
> test_login.py::TestLoginUrlGeneration::test_make_next_param PASSED       [ 82%]
> test_login.py::CookieEncodingTestCase::test_cookie_encoding PASSED       [ 83%]
> test_login.py::CookieEncodingTestCase::test_cookie_encoding_with_key PASSED [ 84%]
> test_login.py::SecretKeyTestCase::test_bytes PASSED                      [ 85%]
> test_login.py::SecretKeyTestCase::test_default PASSED                    [ 86%]
> test_login.py::SecretKeyTestCase::test_native PASSED                     [ 87%]
> test_login.py::UserMixinTestCase::test_default_values PASSED             [ 88%]
> test_login.py::UserMixinTestCase::test_equality PASSED                   [ 88%]
> test_login.py::UserMixinTestCase::test_get_id_from_id_attribute PASSED   [ 89%]
> test_login.py::UserMixinTestCase::test_get_id_not_implemented PASSED     [ 90%]
> test_login.py::UserMixinTestCase::test_hashable FAILED                   [ 91%]
> test_login.py::AnonymousUserTestCase::test_values PASSED                 [ 92%]
> test_login.py::UnicodeCookieUserIDTestCase::test_remember_me_user_id PASSED [ 93%]
> test_login.py::UnicodeCookieUserIDTestCase::test_remember_me_username PASSED [ 94%]
> test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_ignores_host_from_x_forwarded_for_header PASSED [ 94%]
> test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_uses_host_from_config_when_available PASSED [ 95%]
> test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_uses_host_from_next_url PASSED [ 96%]
> test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_uses_host_from_x_forwarded_for_header PASSED [ 97%]
> test_login.py::CustomTestClientTestCase::test_fresh_login_arg_to_test_client PASSED [ 98%]
> test_login.py::CustomTestClientTestCase::test_no_args_to_test_client PASSED [ 99%]
> test_login.py::CustomTestClientTestCase::test_user_arg_to_test_client PASSED [100%]
> 
> =================================== FAILURES ===================================
> _______________________ UserMixinTestCase.test_hashable ________________________
> 
> self = <test_login.UserMixinTestCase testMethod=test_hashable>
> 
>     def test_hashable(self):
> >       self.assertTrue(isinstance(UserMixin(), collections.Hashable))
> E       AttributeError: module 'collections' has no attribute 'Hashable'
> 
> test_login.py:1551: AttributeError
> =============================== warnings summary ===============================
> test_login.py:1271
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-login/build/test_login.py:1271: DeprecationWarning: Partial versions will be removed in 3.0; use SimpleSpec('1.x.x') instead.
>     @unittest.skipIf(Version(werkzeug_version) >= Version('0.9', partial=True),
> 
> test_login.py:1278
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-login/build/test_login.py:1278: DeprecationWarning: Partial versions will be removed in 3.0; use SimpleSpec('1.x.x') instead.
>     @unittest.skipIf(Version(werkzeug_version) >= Version('0.9', partial=True),
> 
> test_login.py:1693
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-login/build/test_login.py:1693: DeprecationWarning: Partial versions will be removed in 3.0; use SimpleSpec('1.x.x') instead.
>     @unittest.skipIf(Version(werkzeug_version) < Version('0.15', partial=True),
> 
> .pybuild/cpython3_3.10_flask-login/build/test_login.py: 14 warnings
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-login/build/flask_login/utils.py:63: DeprecationWarning: 'safe_str_cmp' is deprecated and will be removed in Werkzeug 2.1. Use 'hmac.compare_digest' instead.
>     if safe_str_cmp(_cookie_digest(payload, key=key), digest):
> 
> .pybuild/cpython3_3.10_flask-login/build/test_login.py::LoginTestCase::test_session_not_modified
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-login/build/test_login.py:1026: DeprecationWarning: Please use assertEqual instead.
>     self.assertEquals(
> 
> -- Docs: https://docs.pytest.org/en/stable/warnings.html
> =========================== short test summary info ============================
> FAILED test_login.py::UserMixinTestCase::test_hashable - AttributeError: modu...
> ============ 1 failed, 114 passed, 2 skipped, 18 warnings in 0.94s =============
> E: pybuild pybuild:355: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-login/build; python3.10 -m pytest -v
> I: pybuild pybuild:286: cp -r /<<PKGBUILDDIR>>/test_login.py /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_flask-login/build
> I: pybuild base:237: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_flask-login/build; python3.9 -m pytest -v
> ============================= test session starts ==============================
> platform linux -- Python 3.9.9, pytest-6.2.5, py-1.10.0, pluggy-0.13.0 -- /usr/bin/python3.9
> cachedir: .pytest_cache
> rootdir: /<<PKGBUILDDIR>>
> collecting ... collected 117 items
> 
> test_login.py::AboutTestCase::test_have_about_data PASSED                [  0%]
> test_login.py::StaticTestCase::test_static_loads_anonymous PASSED        [  1%]
> test_login.py::StaticTestCase::test_static_loads_without_accessing_session PASSED [  2%]
> test_login.py::InitializationTestCase::test_class_init PASSED            [  3%]
> test_login.py::InitializationTestCase::test_init_app PASSED              [  4%]
> test_login.py::InitializationTestCase::test_login_disabled_is_set PASSED [  5%]
> test_login.py::InitializationTestCase::test_no_user_loader_raises PASSED [  5%]
> test_login.py::MethodViewLoginTestCase::test_options_call_exempt PASSED  [  6%]
> test_login.py::LoginTestCase::test_authentication_is_fresh PASSED        [  7%]
> test_login.py::LoginTestCase::test_chinese_user_agent SKIPPED (wait ...) [  8%]
> test_login.py::LoginTestCase::test_confirm_login PASSED                  [  9%]
> test_login.py::LoginTestCase::test_decorators_are_disabled PASSED        [ 10%]
> test_login.py::LoginTestCase::test_defaults_anonymous PASSED             [ 11%]
> test_login.py::LoginTestCase::test_fresh_login_required_decorator PASSED [ 11%]
> test_login.py::LoginTestCase::test_incorrect_id_logs_out PASSED          [ 12%]
> test_login.py::LoginTestCase::test_invalid_remember_cookie PASSED        [ 13%]
> test_login.py::LoginTestCase::test_login_inactive_user PASSED            [ 14%]
> test_login.py::LoginTestCase::test_login_inactive_user_forced PASSED     [ 15%]
> test_login.py::LoginTestCase::test_login_invalid_user_with_header PASSED [ 16%]
> test_login.py::LoginTestCase::test_login_invalid_user_with_request PASSED [ 17%]
> test_login.py::LoginTestCase::test_login_persists PASSED                 [ 17%]
> test_login.py::LoginTestCase::test_login_persists_with_many_x_forwarded_for PASSED [ 18%]
> test_login.py::LoginTestCase::test_login_persists_with_signle_x_forwarded_for PASSED [ 19%]
> test_login.py::LoginTestCase::test_login_required_decorator PASSED       [ 20%]
> test_login.py::LoginTestCase::test_login_user PASSED                     [ 21%]
> test_login.py::LoginTestCase::test_login_user_emits_signal PASSED        [ 22%]
> test_login.py::LoginTestCase::test_login_user_not_fresh PASSED           [ 23%]
> test_login.py::LoginTestCase::test_login_user_with_header PASSED         [ 23%]
> test_login.py::LoginTestCase::test_login_user_with_request PASSED        [ 24%]
> test_login.py::LoginTestCase::test_logout_emits_signal PASSED            [ 25%]
> test_login.py::LoginTestCase::test_logout_logs_out_current_user PASSED   [ 26%]
> test_login.py::LoginTestCase::test_logout_persists PASSED                [ 27%]
> test_login.py::LoginTestCase::test_logout_stays_logged_out_with_remember_me PASSED [ 28%]
> test_login.py::LoginTestCase::test_logout_stays_logged_out_with_remember_me_custom_duration PASSED [ 29%]
> test_login.py::LoginTestCase::test_logout_without_current_user PASSED    [ 29%]
> test_login.py::LoginTestCase::test_needs_refresh_aborts_401 PASSED       [ 30%]
> test_login.py::LoginTestCase::test_needs_refresh_fires_flash_when_redirect_to_refresh_view PASSED [ 31%]
> test_login.py::LoginTestCase::test_needs_refresh_fires_needs_refresh_signal PASSED [ 32%]
> test_login.py::LoginTestCase::test_needs_refresh_flash_message_localized PASSED [ 33%]
> test_login.py::LoginTestCase::test_needs_refresh_uses_handler PASSED     [ 34%]
> test_login.py::LoginTestCase::test_permanent_strong_session_protection_fires_signal PASSED [ 35%]
> test_login.py::LoginTestCase::test_permanent_strong_session_protection_marks_session_unfresh PASSED [ 35%]
> test_login.py::LoginTestCase::test_redirects_to_refresh_view PASSED      [ 36%]
> test_login.py::LoginTestCase::test_refresh_with_next_in_session PASSED   [ 37%]
> test_login.py::LoginTestCase::test_remember_me PASSED                    [ 38%]
> test_login.py::LoginTestCase::test_remember_me_accepts_duration_as_int PASSED [ 39%]
> test_login.py::LoginTestCase::test_remember_me_custom_duration PASSED    [ 40%]
> test_login.py::LoginTestCase::test_remember_me_custom_duration_uses_custom_cookie PASSED [ 41%]
> test_login.py::LoginTestCase::test_remember_me_is_unfresh PASSED         [ 41%]
> test_login.py::LoginTestCase::test_remember_me_refresh_every_request PASSED [ 42%]
> test_login.py::LoginTestCase::test_remember_me_uses_custom_cookie_parameters PASSED [ 43%]
> test_login.py::LoginTestCase::test_remember_me_with_invalid_custom_duration_returns_500_resp PASSED [ 44%]
> test_login.py::LoginTestCase::test_remember_me_with_invalid_duration_returns_500_response PASSED [ 45%]
> test_login.py::LoginTestCase::test_requests_without_accessing_session PASSED [ 46%]
> test_login.py::LoginTestCase::test_russian_cp1251_user_agent SKIPPED     [ 47%]
> test_login.py::LoginTestCase::test_session_not_modified PASSED           [ 47%]
> test_login.py::LoginTestCase::test_session_protection_basic_fires_signal PASSED [ 48%]
> test_login.py::LoginTestCase::test_session_protection_basic_marks_session_unfresh PASSED [ 49%]
> test_login.py::LoginTestCase::test_session_protection_basic_passes_successive_requests PASSED [ 50%]
> test_login.py::LoginTestCase::test_session_protection_basic_skips_when_remember_me PASSED [ 51%]
> test_login.py::LoginTestCase::test_session_protection_skip_when_basic_and_anonymous PASSED [ 52%]
> test_login.py::LoginTestCase::test_session_protection_skip_when_off_and_anonymous PASSED [ 52%]
> test_login.py::LoginTestCase::test_session_protection_strong_deletes_session PASSED [ 53%]
> test_login.py::LoginTestCase::test_session_protection_strong_fires_signal_user_agent PASSED [ 54%]
> test_login.py::LoginTestCase::test_session_protection_strong_fires_signal_x_forwarded_for PASSED [ 55%]
> test_login.py::LoginTestCase::test_session_protection_strong_passes_successive_requests PASSED [ 56%]
> test_login.py::LoginTestCase::test_session_protection_strong_skips_when_remember_me PASSED [ 57%]
> test_login.py::LoginTestCase::test_set_cookie_with_invalid_custom_duration_raises_exception PASSED [ 58%]
> test_login.py::LoginTestCase::test_set_cookie_with_invalid_duration_raises_exception PASSED [ 58%]
> test_login.py::LoginTestCase::test_set_login_view_without_blueprints PASSED [ 59%]
> test_login.py::LoginTestCase::test_test_request_context_users_are_anonymous PASSED [ 60%]
> test_login.py::LoginTestCase::test_unauthorized_aborts_with_401 PASSED   [ 61%]
> test_login.py::LoginTestCase::test_unauthorized_fires_unauthorized_signal PASSED [ 62%]
> test_login.py::LoginTestCase::test_unauthorized_flash_message_localized PASSED [ 63%]
> test_login.py::LoginTestCase::test_unauthorized_flashes_message_with_login_view PASSED [ 64%]
> test_login.py::LoginTestCase::test_unauthorized_redirects_to_login_view PASSED [ 64%]
> test_login.py::LoginTestCase::test_unauthorized_uses_authorized_handler PASSED [ 65%]
> test_login.py::LoginTestCase::test_unauthorized_uses_blueprint_login_view PASSED [ 66%]
> test_login.py::LoginTestCase::test_unauthorized_with_next_in_session PASSED [ 67%]
> test_login.py::LoginTestCase::test_unauthorized_with_next_in_strong_session PASSED [ 68%]
> test_login.py::LoginTestCase::test_user_context_processor PASSED         [ 69%]
> test_login.py::LoginTestCase::test_user_loaded_from_cookie_fired PASSED  [ 70%]
> test_login.py::LoginTestCase::test_user_loaded_from_header_fired PASSED  [ 70%]
> test_login.py::LoginTestCase::test_user_loaded_from_request_fired PASSED [ 71%]
> test_login.py::LoginTestCase::test_user_login_confirmed_signal_fired PASSED [ 72%]
> test_login.py::LoginViaRequestTestCase::test_defaults_anonymous PASSED   [ 73%]
> test_login.py::LoginViaRequestTestCase::test_has_no_user_loader_callback PASSED [ 74%]
> test_login.py::LoginViaRequestTestCase::test_login_invalid_user_with_request PASSED [ 75%]
> test_login.py::LoginViaRequestTestCase::test_login_invalid_user_with_request_when_already_logged_in PASSED [ 76%]
> test_login.py::LoginViaRequestTestCase::test_login_user_with_request_does_not_modify_session PASSED [ 76%]
> test_login.py::LoginViaRequestTestCase::test_login_via_request PASSED    [ 77%]
> test_login.py::LoginViaRequestTestCase::test_login_via_request_uses_cookie_when_already_logged_in PASSED [ 78%]
> test_login.py::LoginViaRequestTestCase::test_request_context_users_are_anonymous PASSED [ 79%]
> test_login.py::TestLoginUrlGeneration::test_login_url_generation PASSED  [ 80%]
> test_login.py::TestLoginUrlGeneration::test_login_url_generation_with_view PASSED [ 81%]
> test_login.py::TestLoginUrlGeneration::test_login_url_no_next_url PASSED [ 82%]
> test_login.py::TestLoginUrlGeneration::test_make_next_param PASSED       [ 82%]
> test_login.py::CookieEncodingTestCase::test_cookie_encoding PASSED       [ 83%]
> test_login.py::CookieEncodingTestCase::test_cookie_encoding_with_key PASSED [ 84%]
> test_login.py::SecretKeyTestCase::test_bytes PASSED                      [ 85%]
> test_login.py::SecretKeyTestCase::test_default PASSED                    [ 86%]
> test_login.py::SecretKeyTestCase::test_native PASSED                     [ 87%]
> test_login.py::UserMixinTestCase::test_default_values PASSED             [ 88%]
> test_login.py::UserMixinTestCase::test_equality PASSED                   [ 88%]
> test_login.py::UserMixinTestCase::test_get_id_from_id_attribute PASSED   [ 89%]
> test_login.py::UserMixinTestCase::test_get_id_not_implemented PASSED     [ 90%]
> test_login.py::UserMixinTestCase::test_hashable PASSED                   [ 91%]
> test_login.py::AnonymousUserTestCase::test_values PASSED                 [ 92%]
> test_login.py::UnicodeCookieUserIDTestCase::test_remember_me_user_id PASSED [ 93%]
> test_login.py::UnicodeCookieUserIDTestCase::test_remember_me_username PASSED [ 94%]
> test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_ignores_host_from_x_forwarded_for_header PASSED [ 94%]
> test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_uses_host_from_config_when_available PASSED [ 95%]
> test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_uses_host_from_next_url PASSED [ 96%]
> test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_uses_host_from_x_forwarded_for_header PASSED [ 97%]
> test_login.py::CustomTestClientTestCase::test_fresh_login_arg_to_test_client PASSED [ 98%]
> test_login.py::CustomTestClientTestCase::test_no_args_to_test_client PASSED [ 99%]
> test_login.py::CustomTestClientTestCase::test_user_arg_to_test_client PASSED [100%]
> 
> =============================== warnings summary ===============================
> test_login.py:1271
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_flask-login/build/test_login.py:1271: DeprecationWarning: Partial versions will be removed in 3.0; use SimpleSpec('1.x.x') instead.
>     @unittest.skipIf(Version(werkzeug_version) >= Version('0.9', partial=True),
> 
> test_login.py:1278
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_flask-login/build/test_login.py:1278: DeprecationWarning: Partial versions will be removed in 3.0; use SimpleSpec('1.x.x') instead.
>     @unittest.skipIf(Version(werkzeug_version) >= Version('0.9', partial=True),
> 
> test_login.py:1693
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_flask-login/build/test_login.py:1693: DeprecationWarning: Partial versions will be removed in 3.0; use SimpleSpec('1.x.x') instead.
>     @unittest.skipIf(Version(werkzeug_version) < Version('0.15', partial=True),
> 
> .pybuild/cpython3_3.9_flask-login/build/test_login.py: 14 warnings
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_flask-login/build/flask_login/utils.py:63: DeprecationWarning: 'safe_str_cmp' is deprecated and will be removed in Werkzeug 2.1. Use 'hmac.compare_digest' instead.
>     if safe_str_cmp(_cookie_digest(payload, key=key), digest):
> 
> .pybuild/cpython3_3.9_flask-login/build/test_login.py::LoginTestCase::test_session_not_modified
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_flask-login/build/test_login.py:1026: DeprecationWarning: Please use assertEqual instead.
>     self.assertEquals(
> 
> .pybuild/cpython3_3.9_flask-login/build/test_login.py::UserMixinTestCase::test_hashable
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_flask-login/build/test_login.py:1551: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
>     self.assertTrue(isinstance(UserMixin(), collections.Hashable))
> 
> -- Docs: https://docs.pytest.org/en/stable/warnings.html
> ================= 115 passed, 2 skipped, 19 warnings in 0.92s ==================
> I: pybuild pybuild:312: rm -rf /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_flask-login/build/test_login.py
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.10 3.9" returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2021/12/20/flask-login_0.5.0-1_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.



More information about the Python-modules-team mailing list