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

Roman Ondráček roman at romanondracek.cz
Tue Jan 18 23:46:24 GMT 2022


Hi,

I fixed the falling build in the merge request:
https://salsa.debian.org/python-team/packages/flask-login/-/merge_requests/2
Could someone from Debian Python Modules Team merge it and release a
new version?

Best regards,
Roman Ondráček

Lucas Nussbaum píše v St 22. 12. 2021 v 08:51 +0100:
> 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_forwa
> > rded_for PASSED [ 18%]
> > test_login.py::LoginTestCase::test_login_persists_with_signle_x_for
> > warded_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_rem
> > ember_me PASSED [ 28%]
> > test_login.py::LoginTestCase::test_logout_stays_logged_out_with_rem
> > ember_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_r
> > edirect_to_refresh_view PASSED [ 31%]
> > test_login.py::LoginTestCase::test_needs_refresh_fires_needs_refres
> > h_signal PASSED [ 32%]
> > test_login.py::LoginTestCase::test_needs_refresh_flash_message_loca
> > lized PASSED [ 33%]
> > test_login.py::LoginTestCase::test_needs_refresh_uses_handler
> > PASSED     [ 34%]
> > test_login.py::LoginTestCase::test_permanent_strong_session_protect
> > ion_fires_signal PASSED [ 35%]
> > test_login.py::LoginTestCase::test_permanent_strong_session_protect
> > ion_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_reques
> > t PASSED [ 42%]
> > test_login.py::LoginTestCase::test_remember_me_uses_custom_cookie_p
> > arameters 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_duratio
> > n_returns_500_response PASSED [ 45%]
> > test_login.py::LoginTestCase::test_requests_without_accessing_sessi
> > on 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_s
> > ignal PASSED [ 48%]
> > test_login.py::LoginTestCase::test_session_protection_basic_marks_s
> > ession_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_w
> > hen_remember_me PASSED [ 51%]
> > test_login.py::LoginTestCase::test_session_protection_skip_when_bas
> > ic_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_delete
> > s_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_d
> > uration_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_blueprint
> > s PASSED [ 59%]
> > test_login.py::LoginTestCase::test_test_request_context_users_are_a
> > nonymous 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_local
> > ized PASSED [ 63%]
> > test_login.py::LoginTestCase::test_unauthorized_flashes_message_wit
> > h_login_view PASSED [ 64%]
> > test_login.py::LoginTestCase::test_unauthorized_redirects_to_login_
> > view PASSED [ 64%]
> > test_login.py::LoginTestCase::test_unauthorized_uses_authorized_han
> > dler PASSED [ 65%]
> > test_login.py::LoginTestCase::test_unauthorized_uses_blueprint_logi
> > n_view PASSED [ 66%]
> > test_login.py::LoginTestCase::test_unauthorized_with_next_in_sessio
> > n 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_fire
> > d PASSED [ 72%]
> > test_login.py::LoginViaRequestTestCase::test_defaults_anonymous
> > PASSED   [ 73%]
> > test_login.py::LoginViaRequestTestCase::test_has_no_user_loader_cal
> > lback PASSED [ 74%]
> > test_login.py::LoginViaRequestTestCase::test_login_invalid_user_wit
> > h_request PASSED [ 75%]
> > test_login.py::LoginViaRequestTestCase::test_login_invalid_user_wit
> > h_request_when_already_logged_in PASSED [ 76%]
> > test_login.py::LoginViaRequestTestCase::test_login_user_with_reques
> > t_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_wi
> > th_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_ke
> > y 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_i
> > d PASSED [ 93%]
> > test_login.py::UnicodeCookieUserIDTestCase::test_remember_me_userna
> > me PASSED [ 94%]
> > test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_ig
> > nores_host_from_x_forwarded_for_header PASSED [ 94%]
> > test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_us
> > es_host_from_config_when_available PASSED [ 95%]
> > test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_us
> > es_host_from_next_url PASSED [ 96%]
> > test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_us
> > es_host_from_x_forwarded_for_header PASSED [ 97%]
> > test_login.py::CustomTestClientTestCase::test_fresh_login_arg_to_te
> > st_client PASSED [ 98%]
> > test_login.py::CustomTestClientTestCase::test_no_args_to_test_clien
> > t PASSED [ 99%]
> > test_login.py::CustomTestClientTestCase::test_user_arg_to_test_clie
> > nt 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_forwa
> > rded_for PASSED [ 18%]
> > test_login.py::LoginTestCase::test_login_persists_with_signle_x_for
> > warded_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_rem
> > ember_me PASSED [ 28%]
> > test_login.py::LoginTestCase::test_logout_stays_logged_out_with_rem
> > ember_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_r
> > edirect_to_refresh_view PASSED [ 31%]
> > test_login.py::LoginTestCase::test_needs_refresh_fires_needs_refres
> > h_signal PASSED [ 32%]
> > test_login.py::LoginTestCase::test_needs_refresh_flash_message_loca
> > lized PASSED [ 33%]
> > test_login.py::LoginTestCase::test_needs_refresh_uses_handler
> > PASSED     [ 34%]
> > test_login.py::LoginTestCase::test_permanent_strong_session_protect
> > ion_fires_signal PASSED [ 35%]
> > test_login.py::LoginTestCase::test_permanent_strong_session_protect
> > ion_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_reques
> > t PASSED [ 42%]
> > test_login.py::LoginTestCase::test_remember_me_uses_custom_cookie_p
> > arameters 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_duratio
> > n_returns_500_response PASSED [ 45%]
> > test_login.py::LoginTestCase::test_requests_without_accessing_sessi
> > on 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_s
> > ignal PASSED [ 48%]
> > test_login.py::LoginTestCase::test_session_protection_basic_marks_s
> > ession_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_w
> > hen_remember_me PASSED [ 51%]
> > test_login.py::LoginTestCase::test_session_protection_skip_when_bas
> > ic_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_delete
> > s_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_d
> > uration_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_blueprint
> > s PASSED [ 59%]
> > test_login.py::LoginTestCase::test_test_request_context_users_are_a
> > nonymous 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_local
> > ized PASSED [ 63%]
> > test_login.py::LoginTestCase::test_unauthorized_flashes_message_wit
> > h_login_view PASSED [ 64%]
> > test_login.py::LoginTestCase::test_unauthorized_redirects_to_login_
> > view PASSED [ 64%]
> > test_login.py::LoginTestCase::test_unauthorized_uses_authorized_han
> > dler PASSED [ 65%]
> > test_login.py::LoginTestCase::test_unauthorized_uses_blueprint_logi
> > n_view PASSED [ 66%]
> > test_login.py::LoginTestCase::test_unauthorized_with_next_in_sessio
> > n 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_fire
> > d PASSED [ 72%]
> > test_login.py::LoginViaRequestTestCase::test_defaults_anonymous
> > PASSED   [ 73%]
> > test_login.py::LoginViaRequestTestCase::test_has_no_user_loader_cal
> > lback PASSED [ 74%]
> > test_login.py::LoginViaRequestTestCase::test_login_invalid_user_wit
> > h_request PASSED [ 75%]
> > test_login.py::LoginViaRequestTestCase::test_login_invalid_user_wit
> > h_request_when_already_logged_in PASSED [ 76%]
> > test_login.py::LoginViaRequestTestCase::test_login_user_with_reques
> > t_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_wi
> > th_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_ke
> > y 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_i
> > d PASSED [ 93%]
> > test_login.py::UnicodeCookieUserIDTestCase::test_remember_me_userna
> > me PASSED [ 94%]
> > test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_ig
> > nores_host_from_x_forwarded_for_header PASSED [ 94%]
> > test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_us
> > es_host_from_config_when_available PASSED [ 95%]
> > test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_us
> > es_host_from_next_url PASSED [ 96%]
> > test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_us
> > es_host_from_x_forwarded_for_header PASSED [ 97%]
> > test_login.py::CustomTestClientTestCase::test_fresh_login_arg_to_te
> > st_client PASSED [ 98%]
> > test_login.py::CustomTestClientTestCase::test_no_args_to_test_clien
> > t PASSED [ 99%]
> > test_login.py::CustomTestClientTestCase::test_user_arg_to_test_clie
> > nt 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.
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: This is a digitally signed message part
URL: <http://alioth-lists.debian.net/pipermail/python-modules-team/attachments/20220119/a0b3fc9b/attachment-0001.sig>


More information about the Python-modules-team mailing list