Source: freedombox
Version: 23.21
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: [email protected]
Usertags: ftbfs-20231212 ftbfs-trixie
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> PYBUILD_SYSTEM=custom \
> PYBUILD_TEST_ARGS="{interpreter} -m pytest" dh_auto_test
> pybuild --test --test-pytest -i python{version} -p "3.12 3.11"
> I: pybuild base:310: python3.12 -m pytest
> ============================= test session starts
> ==============================
> platform linux -- Python 3.12.1, pytest-7.4.3, pluggy-1.3.0
> django: settings: plinth.tests.data.django_test_settings (from option)
> rootdir: /<<PKGBUILDDIR>>
> configfile: pyproject.toml
> plugins: cov-4.1.0, django-4.5.2
> collected 623 items
>
> plinth/modules/backups/tests/test_api.py ........... [
> 1%]
> plinth/modules/backups/tests/test_components.py .. [
> 2%]
> plinth/modules/backups/tests/test_ssh_remotes.py ssss [
> 2%]
> plinth/modules/backups/tests/test_store.py .... [
> 3%]
> plinth/modules/users/tests/test_views.py ........................ [
> 7%]
> plinth/tests/test_app.py ... [
> 7%]
> plinth/tests/test_kvstore.py .... [
> 8%]
> plinth/tests/test_middleware.py .. [
> 8%]
> plinth/tests/test_notification.py ...................................... [
> 14%]
> .................... [
> 17%]
> plinth/tests/test_operation.py . [
> 18%]
> plinth/modules/apache/tests/test_components.py ............. [
> 20%]
> plinth/modules/apache/tests/test_uws.py . [
> 20%]
> plinth/modules/backups/tests/test_backups.py sssssssss [
> 21%]
> plinth/modules/backups/tests/test_components.py ........................ [
> 25%]
> ..................... [
> 29%]
> plinth/modules/backups/tests/test_schedule.py .......................... [
> 33%]
> ... [
> 33%]
> plinth/modules/backups/tests/test_validators.py ..... [
> 34%]
> plinth/modules/bind/tests/test_bind.py .. [
> 34%]
> plinth/modules/calibre/tests/test_privileged.py ... [
> 35%]
> plinth/modules/calibre/tests/test_views.py ........ [
> 36%]
> plinth/modules/config/tests/test_config.py ...ss. [
> 37%]
> plinth/modules/coturn/tests/test_components.py ....... [
> 38%]
> plinth/modules/deluge/tests/test_utils.py ... [
> 39%]
> plinth/modules/diagnostics/tests/test_check.py .. [
> 39%]
> plinth/modules/ejabberd/tests/test_turn_config.py ... [
> 39%]
> plinth/modules/firewall/tests/test_components.py .......... [
> 41%]
> plinth/modules/gitweb/tests/test_privileged.py .............. [
> 43%]
> plinth/modules/gitweb/tests/test_views.py ................. [
> 46%]
> plinth/modules/help/tests/test_views.py .........sss.s [
> 48%]
> plinth/modules/i2p/tests/test_helpers.py ..... [
> 49%]
> plinth/modules/i2p/tests/test_router_editor.py .... [
> 50%]
> plinth/modules/kiwix/tests/test_privileged.py ... [
> 50%]
> plinth/modules/kiwix/tests/test_validations.py . [
> 50%]
> plinth/modules/kiwix/tests/test_views.py ...... [
> 51%]
> plinth/modules/letsencrypt/tests/test_components.py .................... [
> 55%]
> ..... [
> 55%]
> plinth/modules/letsencrypt/tests/test_domain_name_changes.py ....... [
> 56%]
> plinth/modules/matrixsynapse/tests/test_turn_config.py .... [
> 57%]
> plinth/modules/mediawiki/tests/test_settings.py ..... [
> 58%]
> plinth/modules/names/tests/test_components.py ........... [
> 60%]
> plinth/modules/names/tests/test_names.py .. [
> 60%]
> plinth/modules/networks/tests/test_privileged.py . [
> 60%]
> plinth/modules/pagekite/tests/test_pagekite.py . [
> 60%]
> plinth/modules/samba/tests/test_views.py .s... [
> 61%]
> plinth/modules/snapshot/tests/test_privileged.py ssss [
> 62%]
> plinth/modules/sso/tests/test_privileged.py . [
> 62%]
> plinth/modules/storage/tests/test_storage.py sssssssss.......... [
> 65%]
> plinth/modules/tor/tests/test_tor.py s. [
> 65%]
> plinth/modules/torproxy/tests/test_torproxy.py ss [
> 66%]
> plinth/modules/users/tests/test_components.py ... [
> 66%]
> plinth/modules/users/tests/test_privileged.py sssssssssss [
> 68%]
> plinth/modules/wireguard/tests/test_forms.py .................. [
> 71%]
> plinth/tests/test_action_utils.py .ssss.s [
> 72%]
> plinth/tests/test_actions.py ..... [
> 73%]
> plinth/tests/test_actions_actions.py ... [
> 73%]
> plinth/tests/test_app.py .................................... [
> 79%]
> plinth/tests/test_cfg.py ....... [
> 80%]
> plinth/tests/test_clients.py .... [
> 81%]
> plinth/tests/test_config.py ...... [
> 82%]
> plinth/tests/test_context_processors.py .. [
> 82%]
> plinth/tests/test_custom_shortcuts.py ...... [
> 83%]
> plinth/tests/test_daemon.py .......... [
> 85%]
> plinth/tests/test_db.py ... [
> 85%]
> plinth/tests/test_frontpage.py ....... [
> 86%]
> plinth/tests/test_menu.py ...... [
> 87%]
> plinth/tests/test_middleware.py .......... [
> 89%]
> plinth/tests/test_module_loader.py . [
> 89%]
> plinth/tests/test_network.py sssssssss [
> 90%]
> plinth/tests/test_operation.py FF.FF...F......... [
> 93%]
> plinth/tests/test_package.py ............ [
> 95%]
> plinth/tests/test_templatetags.py . [
> 95%]
> plinth/tests/test_utils.py ....... [
> 96%]
> plinth/tests/test_version.py .... [
> 97%]
> plinth/tests/test_views.py ............ [
> 99%]
> plinth/tests/test_web_server.py ...
> [100%]
>
> =================================== FAILURES
> ===================================
> ____________________ test_operation_default_initialization
> _____________________
>
> update_notification = <MagicMock name='_update_notification'
> id='140540633366752'>
>
> @patch('plinth.operation.Operation._update_notification')
> def test_operation_default_initialization(update_notification):
> """Test Operation initialization with default values."""
> target = Mock()
> operation = Operation('testid', 'testapp', 'op1', target)
> assert operation.op_id == 'testid'
> assert operation.app_id == 'testapp'
> assert operation.name == 'op1'
> assert operation.show_message
> assert not operation.show_notification
> assert operation.target == target
> assert operation.args == []
> assert operation.kwargs == {}
> assert operation.on_complete is None
> assert operation.state == Operation.State.WAITING
> assert operation._message is None
> assert operation.exception is None
> assert operation.thread_data == {}
> assert isinstance(operation.thread, threading.Thread)
> assert operation.thread._operation == operation
> > assert update_notification.has_calls([call()])
>
> plinth/tests/test_operation.py:48:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <MagicMock name='_update_notification' id='140540633366752'>
> name = 'has_calls'
>
> def __getattr__(self, name):
> if name in {'_mock_methods', '_mock_unsafe'}:
> raise AttributeError(name)
> elif self._mock_methods is not None:
> if name not in self._mock_methods or name in _all_magics:
> raise AttributeError("Mock object has no attribute %r" % name)
> elif _is_magic(name):
> raise AttributeError(name)
> if not self._mock_unsafe and (not self._mock_methods or name not in
> self._mock_methods):
> if name.startswith(('assert', 'assret', 'asert', 'aseert',
> 'assrt')) or name in _ATTRIB_DENY_LIST:
> > raise AttributeError(
> f"{name!r} is not a valid assertion. Use a spec "
> f"for the mock if {name!r} is meant to be an attribute.")
> E AttributeError: 'has_calls' is not a valid assertion. Use a
> spec for the mock if 'has_calls' is meant to be an attribute.
>
> /usr/lib/python3.12/unittest/mock.py:663: AttributeError
> ________________________ test_operation_initialization
> _________________________
>
> update_notification = <MagicMock name='_update_notification'
> id='140540633235728'>
>
> @patch('plinth.operation.Operation._update_notification')
> def test_operation_initialization(update_notification):
> """Test Operation initialization with explicit values."""
> on_complete = Mock()
> operation = Operation('testid', 'testapp', 'op1', Mock(), ['arg1'],
> {'arg2': 'value2'}, False, True,
> {'data1': 'datavalue1'}, on_complete)
> assert not operation.show_message
> assert operation.show_notification
> assert operation.args == ['arg1']
> assert operation.kwargs == {'arg2': 'value2'}
> assert operation.on_complete == on_complete
> assert operation.state == Operation.State.WAITING
> assert operation._message is None
> assert operation.exception is None
> assert operation.thread_data == {'data1': 'datavalue1'}
> > assert update_notification.has_calls([call()])
>
> plinth/tests/test_operation.py:67:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <MagicMock name='_update_notification' id='140540633235728'>
> name = 'has_calls'
>
> def __getattr__(self, name):
> if name in {'_mock_methods', '_mock_unsafe'}:
> raise AttributeError(name)
> elif self._mock_methods is not None:
> if name not in self._mock_methods or name in _all_magics:
> raise AttributeError("Mock object has no attribute %r" % name)
> elif _is_magic(name):
> raise AttributeError(name)
> if not self._mock_unsafe and (not self._mock_methods or name not in
> self._mock_methods):
> if name.startswith(('assert', 'assret', 'asert', 'aseert',
> 'assrt')) or name in _ATTRIB_DENY_LIST:
> > raise AttributeError(
> f"{name!r} is not a valid assertion. Use a spec "
> f"for the mock if {name!r} is meant to be an attribute.")
> E AttributeError: 'has_calls' is not a valid assertion. Use a
> spec for the mock if 'has_calls' is meant to be an attribute.
>
> /usr/lib/python3.12/unittest/mock.py:663: AttributeError
> __________________________ test_successful_operation
> ___________________________
>
> update_notification = <MagicMock name='_update_notification'
> id='140540633553120'>
>
> @patch('plinth.operation.Operation._update_notification')
> def test_successful_operation(update_notification):
> """Test running a operation that succeeds."""
> target = Mock()
> target.return_value = 'test-return'
> on_complete = Mock()
> operation = Operation('testid', 'testapp', 'op1', target, ['arg1'],
> {'arg2': 'value2'}, on_complete=on_complete)
> operation.run()
> assert operation.join() == 'test-return'
> target.assert_has_calls([call('arg1', arg2='value2')])
> assert operation.state == Operation.State.COMPLETED
> assert operation.return_value == 'test-return'
> on_complete.assert_has_calls([call(operation)])
> > assert update_notification.has_calls([call(), call()])
>
> plinth/tests/test_operation.py:90:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <MagicMock name='_update_notification' id='140540633553120'>
> name = 'has_calls'
>
> def __getattr__(self, name):
> if name in {'_mock_methods', '_mock_unsafe'}:
> raise AttributeError(name)
> elif self._mock_methods is not None:
> if name not in self._mock_methods or name in _all_magics:
> raise AttributeError("Mock object has no attribute %r" % name)
> elif _is_magic(name):
> raise AttributeError(name)
> if not self._mock_unsafe and (not self._mock_methods or name not in
> self._mock_methods):
> if name.startswith(('assert', 'assret', 'asert', 'aseert',
> 'assrt')) or name in _ATTRIB_DENY_LIST:
> > raise AttributeError(
> f"{name!r} is not a valid assertion. Use a spec "
> f"for the mock if {name!r} is meant to be an attribute.")
> E AttributeError: 'has_calls' is not a valid assertion. Use a
> spec for the mock if 'has_calls' is meant to be an attribute.
>
> /usr/lib/python3.12/unittest/mock.py:663: AttributeError
> _____________________________ test_error_operation
> _____________________________
>
> update_notification = <MagicMock name='_update_notification'
> id='140540631605824'>
>
> @patch('plinth.operation.Operation._update_notification')
> def test_error_operation(update_notification):
> """Test running an operation that fails."""
> target = Mock()
> target.side_effect = RuntimeError('error1')
> on_complete = Mock()
> operation = Operation('testid', 'testapp', 'op1', target, ['arg1'],
> {'arg2': 'value2'}, on_complete=on_complete)
> operation.run()
> with pytest.raises(RuntimeError):
> operation.join()
>
> target.assert_has_calls([call('arg1', arg2='value2')])
> assert operation.state == Operation.State.COMPLETED
> assert operation.exception == target.side_effect
> on_complete.assert_has_calls([call(operation)])
> > assert update_notification.has_calls([call(), call()])
>
> plinth/tests/test_operation.py:109:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <MagicMock name='_update_notification' id='140540631605824'>
> name = 'has_calls'
>
> def __getattr__(self, name):
> if name in {'_mock_methods', '_mock_unsafe'}:
> raise AttributeError(name)
> elif self._mock_methods is not None:
> if name not in self._mock_methods or name in _all_magics:
> raise AttributeError("Mock object has no attribute %r" % name)
> elif _is_magic(name):
> raise AttributeError(name)
> if not self._mock_unsafe and (not self._mock_methods or name not in
> self._mock_methods):
> if name.startswith(('assert', 'assret', 'asert', 'aseert',
> 'assrt')) or name in _ATTRIB_DENY_LIST:
> > raise AttributeError(
> f"{name!r} is not a valid assertion. Use a spec "
> f"for the mock if {name!r} is meant to be an attribute.")
> E AttributeError: 'has_calls' is not a valid assertion. Use a
> spec for the mock if 'has_calls' is meant to be an attribute.
>
> /usr/lib/python3.12/unittest/mock.py:663: AttributeError
> ___________________________ test_updating_operation
> ____________________________
>
> update_notification = <MagicMock name='_update_notification'
> id='140540631597520'>
>
> @patch('plinth.operation.Operation._update_notification')
> def test_updating_operation(update_notification):
> """Test that operation object can be updated from within the
> thread."""
> exception = RuntimeError('error1')
>
> def target():
> operation = Operation.get_operation()
> operation.on_update('message1', exception)
>
> operation = Operation('testid', 'testapp', 'op1', target)
> operation.run()
> with pytest.raises(RuntimeError):
> operation.join()
>
> assert operation._message == 'message1'
> assert operation.exception == exception
> > assert update_notification.has_calls([call(), call(), call()])
>
> plinth/tests/test_operation.py:176:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <MagicMock name='_update_notification' id='140540631597520'>
> name = 'has_calls'
>
> def __getattr__(self, name):
> if name in {'_mock_methods', '_mock_unsafe'}:
> raise AttributeError(name)
> elif self._mock_methods is not None:
> if name not in self._mock_methods or name in _all_magics:
> raise AttributeError("Mock object has no attribute %r" % name)
> elif _is_magic(name):
> raise AttributeError(name)
> if not self._mock_unsafe and (not self._mock_methods or name not in
> self._mock_methods):
> if name.startswith(('assert', 'assret', 'asert', 'aseert',
> 'assrt')) or name in _ATTRIB_DENY_LIST:
> > raise AttributeError(
> f"{name!r} is not a valid assertion. Use a spec "
> f"for the mock if {name!r} is meant to be an attribute.")
> E AttributeError: 'has_calls' is not a valid assertion. Use a
> spec for the mock if 'has_calls' is meant to be an attribute.
>
> /usr/lib/python3.12/unittest/mock.py:663: AttributeError
> =============================== warnings summary
> ===============================
> ../../../usr/lib/python3/dist-packages/django/conf/__init__.py:241
> /usr/lib/python3/dist-packages/django/conf/__init__.py:241:
> RemovedInDjango50Warning: The default value of USE_TZ will change from False
> to True in Django 5.0. Set USE_TZ to False in your project settings if you
> want to keep the current default behavior.
> warnings.warn(
>
> ../../../usr/lib/python3/dist-packages/axes/__init__.py:1
> /usr/lib/python3/dist-packages/axes/__init__.py:1: DeprecationWarning:
> pkg_resources is deprecated as an API. See
> https://setuptools.pypa.io/en/latest/pkg_resources.html
> from pkg_resources import get_distribution
>
> ../../../usr/lib/python3/dist-packages/pkg_resources/__init__.py:2871
> /usr/lib/python3/dist-packages/pkg_resources/__init__.py:2871:
> DeprecationWarning: Deprecated call to
> `pkg_resources.declare_namespace('ruamel')`.
> Implementing implicit namespace packages (as specified in PEP 420) is
> preferred to `pkg_resources.declare_namespace`. See
> https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
> declare_namespace(pkg)
>
> ../../../usr/lib/python3/dist-packages/pkg_resources/__init__.py:2871
> /usr/lib/python3/dist-packages/pkg_resources/__init__.py:2871:
> DeprecationWarning: Deprecated call to
> `pkg_resources.declare_namespace('zc')`.
> Implementing implicit namespace packages (as specified in PEP 420) is
> preferred to `pkg_resources.declare_namespace`. See
> https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
> declare_namespace(pkg)
>
> ../../../usr/lib/python3/dist-packages/bootstrapform/meta.py:4
> /usr/lib/python3/dist-packages/bootstrapform/meta.py:4: DeprecationWarning:
> distutils Version classes are deprecated. Use packaging.version instead.
> VERSION = StrictVersion('3.4')
>
> ../../../usr/lib/python3/dist-packages/gi/overrides/__init__.py:108
> ../../../usr/lib/python3/dist-packages/gi/overrides/__init__.py:108
> ../../../usr/lib/python3/dist-packages/gi/overrides/__init__.py:108
> ../../../usr/lib/python3/dist-packages/gi/overrides/__init__.py:108
> /usr/lib/python3/dist-packages/gi/overrides/__init__.py:108:
> DeprecationWarning: 'pkgutil.get_loader' is deprecated and slated for removal
> in Python 3.14; use importlib.util.find_spec() instead
> override_loader = get_loader(override_package_name)
>
> ../../../usr/lib/python3.12/pkgutil.py:291
> ../../../usr/lib/python3.12/pkgutil.py:291
> ../../../usr/lib/python3.12/pkgutil.py:291
> ../../../usr/lib/python3.12/pkgutil.py:291
> /usr/lib/python3.12/pkgutil.py:291: DeprecationWarning:
> 'pkgutil.find_loader' is deprecated and slated for removal in Python 3.14;
> use importlib.util.find_spec() instead
> return find_loader(fullname)
>
> ../../../usr/lib/python3/dist-packages/cherrypy/lib/httputil.py:15
> /usr/lib/python3/dist-packages/cherrypy/lib/httputil.py:15:
> DeprecationWarning: 'cgi' is deprecated and slated for removal in Python 3.13
> from cgi import parse_header
>
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info
> ============================
> FAILED plinth/tests/test_operation.py::test_operation_default_initialization
> FAILED plinth/tests/test_operation.py::test_operation_initialization -
> Attrib...
> FAILED plinth/tests/test_operation.py::test_successful_operation -
> AttributeE...
> FAILED plinth/tests/test_operation.py::test_error_operation -
> AttributeError:...
> FAILED plinth/tests/test_operation.py::test_updating_operation -
> AttributeErr...
> =========== 5 failed, 557 passed, 61 skipped, 14 warnings in 36.05s
> ============
> E: pybuild pybuild:395: test: plugin custom failed with: exit code=1:
> python3.12 -m pytest
> I: pybuild base:310: python3.11 -m pytest
> ============================= test session starts
> ==============================
> platform linux -- Python 3.11.7, pytest-7.4.3, pluggy-1.3.0
> django: settings: plinth.tests.data.django_test_settings (from option)
> rootdir: /<<PKGBUILDDIR>>
> configfile: pyproject.toml
> plugins: cov-4.1.0, django-4.5.2
> collected 623 items
>
> plinth/modules/backups/tests/test_api.py ........... [
> 1%]
> plinth/modules/backups/tests/test_components.py .. [
> 2%]
> plinth/modules/backups/tests/test_ssh_remotes.py ssss [
> 2%]
> plinth/modules/backups/tests/test_store.py .... [
> 3%]
> plinth/modules/users/tests/test_views.py ........................ [
> 7%]
> plinth/tests/test_app.py ... [
> 7%]
> plinth/tests/test_kvstore.py .... [
> 8%]
> plinth/tests/test_middleware.py .. [
> 8%]
> plinth/tests/test_notification.py ...................................... [
> 14%]
> .................... [
> 17%]
> plinth/tests/test_operation.py . [
> 18%]
> plinth/modules/apache/tests/test_components.py ............. [
> 20%]
> plinth/modules/apache/tests/test_uws.py . [
> 20%]
> plinth/modules/backups/tests/test_backups.py sssssssss [
> 21%]
> plinth/modules/backups/tests/test_components.py ........................ [
> 25%]
> ..................... [
> 29%]
> plinth/modules/backups/tests/test_schedule.py .......................... [
> 33%]
> ... [
> 33%]
> plinth/modules/backups/tests/test_validators.py ..... [
> 34%]
> plinth/modules/bind/tests/test_bind.py .. [
> 34%]
> plinth/modules/calibre/tests/test_privileged.py ... [
> 35%]
> plinth/modules/calibre/tests/test_views.py ........ [
> 36%]
> plinth/modules/config/tests/test_config.py ...ss. [
> 37%]
> plinth/modules/coturn/tests/test_components.py ....... [
> 38%]
> plinth/modules/deluge/tests/test_utils.py ... [
> 39%]
> plinth/modules/diagnostics/tests/test_check.py .. [
> 39%]
> plinth/modules/ejabberd/tests/test_turn_config.py ... [
> 39%]
> plinth/modules/firewall/tests/test_components.py .......... [
> 41%]
> plinth/modules/gitweb/tests/test_privileged.py .............. [
> 43%]
> plinth/modules/gitweb/tests/test_views.py ................. [
> 46%]
> plinth/modules/help/tests/test_views.py .........sss.s [
> 48%]
> plinth/modules/i2p/tests/test_helpers.py ..... [
> 49%]
> plinth/modules/i2p/tests/test_router_editor.py .... [
> 50%]
> plinth/modules/kiwix/tests/test_privileged.py ... [
> 50%]
> plinth/modules/kiwix/tests/test_validations.py . [
> 50%]
> plinth/modules/kiwix/tests/test_views.py ...... [
> 51%]
> plinth/modules/letsencrypt/tests/test_components.py .................... [
> 55%]
> ..... [
> 55%]
> plinth/modules/letsencrypt/tests/test_domain_name_changes.py ....... [
> 56%]
> plinth/modules/matrixsynapse/tests/test_turn_config.py .... [
> 57%]
> plinth/modules/mediawiki/tests/test_settings.py ..... [
> 58%]
> plinth/modules/names/tests/test_components.py ........... [
> 60%]
> plinth/modules/names/tests/test_names.py .. [
> 60%]
> plinth/modules/networks/tests/test_privileged.py . [
> 60%]
> plinth/modules/pagekite/tests/test_pagekite.py . [
> 60%]
> plinth/modules/samba/tests/test_views.py .s... [
> 61%]
> plinth/modules/snapshot/tests/test_privileged.py ssss [
> 62%]
> plinth/modules/sso/tests/test_privileged.py . [
> 62%]
> plinth/modules/storage/tests/test_storage.py sssssssss.......... [
> 65%]
> plinth/modules/tor/tests/test_tor.py s. [
> 65%]
> plinth/modules/torproxy/tests/test_torproxy.py ss [
> 66%]
> plinth/modules/users/tests/test_components.py ... [
> 66%]
> plinth/modules/users/tests/test_privileged.py sssssssssss [
> 68%]
> plinth/modules/wireguard/tests/test_forms.py .................. [
> 71%]
> plinth/tests/test_action_utils.py .ssss.s [
> 72%]
> plinth/tests/test_actions.py ..... [
> 73%]
> plinth/tests/test_actions_actions.py ... [
> 73%]
> plinth/tests/test_app.py .................................... [
> 79%]
> plinth/tests/test_cfg.py ....... [
> 80%]
> plinth/tests/test_clients.py .... [
> 81%]
> plinth/tests/test_config.py ...... [
> 82%]
> plinth/tests/test_context_processors.py .. [
> 82%]
> plinth/tests/test_custom_shortcuts.py ...... [
> 83%]
> plinth/tests/test_daemon.py .......... [
> 85%]
> plinth/tests/test_db.py ... [
> 85%]
> plinth/tests/test_frontpage.py ....... [
> 86%]
> plinth/tests/test_menu.py ...... [
> 87%]
> plinth/tests/test_middleware.py .......... [
> 89%]
> plinth/tests/test_module_loader.py . [
> 89%]
> plinth/tests/test_network.py sssssssss [
> 90%]
> plinth/tests/test_operation.py .................. [
> 93%]
> plinth/tests/test_package.py ............ [
> 95%]
> plinth/tests/test_templatetags.py . [
> 95%]
> plinth/tests/test_utils.py ....... [
> 96%]
> plinth/tests/test_version.py .... [
> 97%]
> plinth/tests/test_views.py ............ [
> 99%]
> plinth/tests/test_web_server.py ...
> [100%]
>
> =============================== warnings summary
> ===============================
> ../../../usr/lib/python3/dist-packages/django/conf/__init__.py:241
> /usr/lib/python3/dist-packages/django/conf/__init__.py:241:
> RemovedInDjango50Warning: The default value of USE_TZ will change from False
> to True in Django 5.0. Set USE_TZ to False in your project settings if you
> want to keep the current default behavior.
> warnings.warn(
>
> ../../../usr/lib/python3/dist-packages/axes/__init__.py:1
> /usr/lib/python3/dist-packages/axes/__init__.py:1: DeprecationWarning:
> pkg_resources is deprecated as an API. See
> https://setuptools.pypa.io/en/latest/pkg_resources.html
> from pkg_resources import get_distribution
>
> ../../../usr/lib/python3/dist-packages/pkg_resources/__init__.py:2871
> /usr/lib/python3/dist-packages/pkg_resources/__init__.py:2871:
> DeprecationWarning: Deprecated call to
> `pkg_resources.declare_namespace('ruamel')`.
> Implementing implicit namespace packages (as specified in PEP 420) is
> preferred to `pkg_resources.declare_namespace`. See
> https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
> declare_namespace(pkg)
>
> ../../../usr/lib/python3/dist-packages/pkg_resources/__init__.py:2871
> /usr/lib/python3/dist-packages/pkg_resources/__init__.py:2871:
> DeprecationWarning: Deprecated call to
> `pkg_resources.declare_namespace('zc')`.
> Implementing implicit namespace packages (as specified in PEP 420) is
> preferred to `pkg_resources.declare_namespace`. See
> https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
> declare_namespace(pkg)
>
> ../../../usr/lib/python3/dist-packages/bootstrapform/meta.py:4
> /usr/lib/python3/dist-packages/bootstrapform/meta.py:4: DeprecationWarning:
> distutils Version classes are deprecated. Use packaging.version instead.
> VERSION = StrictVersion('3.4')
>
> ../../../usr/lib/python3/dist-packages/cherrypy/lib/httputil.py:15
> /usr/lib/python3/dist-packages/cherrypy/lib/httputil.py:15:
> DeprecationWarning: 'cgi' is deprecated and slated for removal in Python 3.13
> from cgi import parse_header
>
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> ================= 562 passed, 61 skipped, 6 warnings in 35.27s
> =================
> rm -fr -- /tmp/dh-xdg-rundir-tOBcRSu8
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12
> 3.11" returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2023/12/12/freedombox_23.21_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20231212;[email protected]
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20231212&[email protected]&allbugs=1&cseverity=1&ctags=1&caffected=1#results
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 mark 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.