• Bug#1098539: celery: FTBFS: E AssertionError: assert 'No such option: -

    From Santiago Vila@21:1/5 to All on Sat Feb 22 00:40:15 2025
    Package: src:celery
    Version: 5.4.0-4
    Severity: serious
    Tags: ftbfs trixie sid

    Dear maintainer:

    During a rebuild of all packages in unstable, your package failed to build:

    --------------------------------------------------------------------------------
    [...]
    debian/rules clean
    dh clean --with python3,sphinxdoc --buildsystem=pybuild
    dh_auto_clean -O--buildsystem=pybuild
    dh_autoreconf_clean -O--buildsystem=pybuild
    dh_clean -O--buildsystem=pybuild
    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
    dh_auto_build -O--buildsystem=pybuild
    I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build" module
    I: pybuild base:311: python3.12 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_celery
    * Building wheel...

    [... snipped ...]

    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%] ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%] ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%] ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%] ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%] ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%] ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%] ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%] ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%] ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%] ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%] ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%] ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%] ,,,,,,,,,,,............................................................. [ 58%] ........................................................................ [ 60%] .........,,,.,,..,,,,.,,,,,,,.,,,,,,,.,,,,,,,.,,,,.......,,,,.,,,,..,,,, [ 61%] . [ 61%] t/unit/tasks/test_states.py ............. [ 62%] t/unit/tasks/test_tasks.py ............................................. [ 63%] ...................................................................... [ 66%] t/unit/tasks/test_trace.py ........................................... [ 67%] t/unit/test_canvas.py . [ 67%] t/unit/utils/test_collections.py ....................................... [ 68%] ............. [ 69%] t/unit/utils/test_debug.py ............. [ 69%] t/unit/utils/test_deprecated.py ... [ 69%] t/unit/utils/test_dispatcher.py .......... [ 70%] t/unit/utils/test_functional.py ...................x...,,,,,,........... [ 71%] ............................ [ 72%] t/unit/utils/test_graph.py ......... [ 72%] t/unit/utils/test_imports.py ......... [ 72%] t/unit/utils/test_local.py ........................ [ 73%] t/unit/utils/test_nodenames.py . [ 73%] t/unit/utils/test_objects.py . [ 73%] t/unit/utils/test_pickle.py .. [ 73%] t/unit/utils/test_platforms.py ......................................... [ 75%] ...................................................... [ 76%] t/unit/utils/test_saferepr.py .......................................... [ 78%] ............................ [ 79%] t/unit/utils/test_serialization.py .............................. [ 80%] t/unit/utils/test_sysinfo.py .. [ 80%] t/unit/utils/test_term.py ......................... [ 81%] t/unit/utils/test_text.py ............. [ 81%] t/unit/utils/test_threads.py ...... [ 81%] t/unit/utils/test_time.py .............................................. [ 83%] ............ [ 83%] t/unit/utils/test_timer2.py ......... [ 83%] t/unit/utils/test_utils.py .... [ 84%] t/unit/worker/test_autoscale.py ............. [ 84%] t/unit/worker/test_bootsteps.py .............................. [ 85%] t/unit/worker/test_components.py ......... [ 85%] t/unit/worker/test_consumer.py ......,,,.,,,.,,,.,,,.,,,.,,,..,,,....... [ 86%] ..............,.,,..,.,.,,..,.,,.,,.,,.,,.,,....................... [ 88%] t/unit/worker/test_control.py .......................................... [ 89%] ......... [ 89%] t/unit/worker/test_heartbeat.py ..... [ 89%] t/unit/worker/test_loops.py ........................................ [ 91%] t/unit/worker/test_request.py .......................................... [ 92%] ...................................................................... [ 94%] t/unit/worker/test_revoke.py . [ 94%] t/unit/worker/test_state.py ................ [ 95%] t/unit/worker/test_strategy.py ......................................... [ 96%] ............................ [ 97%] t/unit/worker/test_worker.py ..................................s........ [ 99%] ........................ [100%]

    =================================== FAILURES ===================================
    ________________ test_preload_options[subcommand_with_params0] _________________

    subcommand_with_params = ('purge', '-f')
    isolated_cli_runner = <click.testing.CliRunner object at 0x7fc8f27a4c20>

    @pytest.mark.parametrize(
    "subcommand_with_params",
    [
    ("purge", "-f"),
    ("shell",),
    ]
    )
    def test_preload_options(subcommand_with_params: Tuple[str, ...], isolated_cli_runner: CliRunner):
    # Verify commands like shell and purge can accept preload options.
    # Projects like Pyramid-Celery's ini option should be valid preload
    # options.
    res_without_preload = isolated_cli_runner.invoke(
    celery,
    ["-A", "t.unit.bin.proj.app", *subcommand_with_params, "--ini", "some_ini.ini"],
    catch_exceptions=False,
    )

    assert "No such option: --ini" in res_without_preload.stdout
    E AssertionError: assert 'No such option: --ini' in ''
    E + where '' = <Result SystemExit(2)>.stdout

    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/t/unit/app/test_preload_cli.py:41: AssertionError
    ________________ test_preload_options[subcommand_with_params1] _________________

    subcommand_with_params = ('shell',)
    isolated_cli_runner = <click.testing.CliRunner object at 0x7fc8f2929e50>

    @pytest.mark.parametrize(
    "subcommand_with_params",
    [
    ("purge", "-f"),
    ("shell",),
    ]
    )
    def test_preload_options(subcommand_with_params: Tuple[str, ...], isolated_cli_runner: CliRunner):
    # Verify commands like shell and purge can accept preload options.
    # Projects like Pyramid-Celery's ini option should be valid preload
    # options.
    res_without_preload = isolated_cli_runner.invoke(
    celery,
    ["-A", "t.unit.bin.proj.app", *subcommand_with_params, "--ini", "some_ini.ini"],
    catch_exceptions=False,
    )

    assert "No such option: --ini" in res_without_preload.stdout
    E AssertionError: assert 'No such option: --ini' in ''
    E + where '' = <Result SystemExit(2)>.stdout

    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/t/unit/app/test_preload_cli.py:41: AssertionError
    _______________ test_custom_remote_command[inspect-custom_cmd0] ________________

    celery_cmd = 'inspect', custom_cmd = ('custom_inspect_cmd', '123') isolated_cli_runner = <click.testing.CliRunner object at 0x7fc8e95c1cd0>

    @pytest.mark.parametrize(
    ('celery_cmd', 'custom_cmd'),
    [
    ('inspect', ('custom_inspect_cmd', '123')),
    ('control', ('custom_control_cmd', '123', '456')),
    ],
    )
    def test_custom_remote_command(celery_cmd, custom_cmd, isolated_cli_runner: CliRunner):
    res = isolated_cli_runner.invoke(
    celery,
    [*_GLOBAL_OPTIONS, celery_cmd, *_INSPECT_OPTIONS, *custom_cmd],
    catch_exceptions=False,
    )
    assert res.exit_code == EX_UNAVAILABLE, (res, res.stdout)
    assert res.stdout.strip() == 'Error: No nodes replied within time constraint'
    E AssertionError: assert '' == 'Error: No no...me constraint'
    E
    E - Error: No nodes replied within time constraint

    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/t/unit/bin/test_control.py:37: AssertionError
    ------------------------------ Captured log call -------------------------------
    WARNING kombu.connection:connection.py:669 No hostname was supplied. Reverting to default 'localhost'
    WARNING kombu.connection:connection.py:669 No hostname was supplied. Reverting to default 'localhost'
    _______________ test_custom_remote_command[control-custom_cmd1] ________________

    celery_cmd = 'control', custom_cmd = ('custom_control_cmd', '123', '456') isolated_cli_runner = <click.testing.CliRunner object at 0x7fc8f0342f90>

    @pytest.mark.parametrize(
    ('celery_cmd', 'custom_cmd'),
    [
    ('inspect', ('custom_inspect_cmd', '123')),
    ('control', ('custom_control_cmd', '123', '456')),
    ],
    )
    def test_custom_remote_command(celery_cmd, custom_cmd, isolated_cli_runner: CliRunner):
    res = isolated_cli_runner.invoke(
    celery,
    [*_GLOBAL_OPTIONS, celery_cmd, *_INSPECT_OPTIONS, *custom_cmd],
    catch_exceptions=False,
    )
    assert res.exit_code == EX_UNAVAILABLE, (res, res.stdout)
    assert res.stdout.strip() == 'Error: No nodes replied within time constraint'
    E AssertionError: assert '' == 'Error: No no...me constraint'
    E
    E - Error: No nodes replied within time constraint

    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/t/unit/bin/test_control.py:37: AssertionError
    ____ test_unrecognized_remote_command[inspect-this_command_does_not_exist] _____

    celery_cmd = 'inspect', remote_cmd = 'this_command_does_not_exist' isolated_cli_runner = <click.testing.CliRunner object at 0x7fc8e84db240>

    @pytest.mark.parametrize(
    ('celery_cmd', 'remote_cmd'),
    [
    # Test nonexistent commands
    ('inspect', 'this_command_does_not_exist'),
    ('control', 'this_command_does_not_exist'),
    # Test commands that exist, but are of the wrong type
    ('inspect', 'custom_control_cmd'),
    ('control', 'custom_inspect_cmd'),
    ],
    )
    def test_unrecognized_remote_command(celery_cmd, remote_cmd, isolated_cli_runner: CliRunner):
    res = isolated_cli_runner.invoke(
    celery,
    [*_GLOBAL_OPTIONS, celery_cmd, *_INSPECT_OPTIONS, remote_cmd],
    catch_exceptions=False,
    )
    assert res.exit_code == 2, (res, res.stdout)
    assert f'Error: Command {remote_cmd} not recognized. Available {celery_cmd} commands: ' in res.stdout
    E AssertionError: assert 'Error: Command this_command_does_not_exist not recognized. Available inspect commands: ' in ''
    E + where '' = <Result SystemExit(2)>.stdout

    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/t/unit/bin/test_control.py:58: AssertionError
    ____ test_unrecognized_remote_command[control-this_command_does_not_exist] _____

    celery_cmd = 'control', remote_cmd = 'this_command_does_not_exist' isolated_cli_runner = <click.testing.CliRunner object at 0x7fc8e84d97b0>

    @pytest.mark.parametrize(
    ('celery_cmd', 'remote_cmd'),
    [
    # Test nonexistent commands
    ('inspect', 'this_command_does_not_exist'),
    ('control', 'this_command_does_not_exist'),
    # Test commands that exist, but are of the wrong type
    ('inspect', 'custom_control_cmd'),
    ('control', 'custom_inspect_cmd'),
    ],
    )
    def test_unrecognized_remote_command(celery_cmd, remote_cmd, isolated_cli_runner: CliRunner):
    res = isolated_cli_runner.invoke(
    celery,
    [*_GLOBAL_OPTIONS, celery_cmd, *_INSPECT_OPTIONS, remote_cmd],
    catch_exceptions=False,
    )
    assert res.exit_code == 2, (res, res.stdout)
    assert f'Error: Command {remote_cmd} not recognized. Available {celery_cmd} commands: ' in res.stdout
    E AssertionError: assert 'Error: Command this_command_does_not_exist not recognized. Available control commands: ' in ''
    E + where '' = <Result SystemExit(2)>.stdout

    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/t/unit/bin/test_control.py:58: AssertionError
    _________ test_unrecognized_remote_command[inspect-custom_control_cmd] _________

    celery_cmd = 'inspect', remote_cmd = 'custom_control_cmd'
    isolated_cli_runner = <click.testing.CliRunner object at 0x7fc8e9b89c50>

    @pytest.mark.parametrize(
    ('celery_cmd', 'remote_cmd'),
    [
    # Test nonexistent commands
    ('inspect', 'this_command_does_not_exist'),
    ('control', 'this_command_does_not_exist'),
    # Test commands that exist, but are of the wrong type
    ('inspect', 'custom_control_cmd'),
    ('control', 'custom_inspect_cmd'),
    ],
    )
    def test_unrecognized_remote_command(celery_cmd, remote_cmd, isolated_cli_runner: CliRunner):
    res = isolated_cli_runner.invoke(
    celery,
    [*_GLOBAL_OPTIONS, celery_cmd, *_INSPECT_OPTIONS, remote_cmd],
    catch_exceptions=False,
    )
    assert res.exit_code == 2, (res, res.stdout)
    assert f'Error: Command {remote_cmd} not recognized. Available {celery_cmd} commands: ' in res.stdout
    E AssertionError: assert 'Error: Command custom_control_cmd not recognized. Available inspect commands: ' in ''
    E + where '' = <Result SystemExit(2)>.stdout

    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/t/unit/bin/test_control.py:58: AssertionError
    _________ test_unrecognized_remote_command[control-custom_inspect_cmd] _________

    celery_cmd = 'control', remote_cmd = 'custom_inspect_cmd'
    isolated_cli_runner = <click.testing.CliRunner object at 0x7fc8e9b89550>

    @pytest.mark.parametrize(
    ('celery_cmd', 'remote_cmd'),
    [
    # Test nonexistent commands
    ('inspect', 'this_command_does_not_exist'),
    ('control', 'this_command_does_not_exist'),
    # Test commands that exist, but are of the wrong type
    ('inspect', 'custom_control_cmd'),
    ('control', 'custom_inspect_cmd'),
    ],
    )
    def test_unrecognized_remote_command(celery_cmd, remote_cmd, isolated_cli_runner: CliRunner):
    res = isolated_cli_runner.invoke(
    celery,
    [*_GLOBAL_OPTIONS, celery_cmd, *_INSPECT_OPTIONS, remote_cmd],
    catch_exceptions=False,
    )
    assert res.exit_code == 2, (res, res.stdout)
    assert f'Error: Command {remote_cmd} not recognized. Available {celery_cmd} commands: ' in res.stdout
    E AssertionError: assert 'Error: Command custom_inspect_cmd not recognized. Available control commands: ' in ''
    E + where '' = <Result SystemExit(2)>.stdout

    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/t/unit/bin/test_control.py:58: AssertionError
    =============================== warnings summary ===============================
    t/unit/app/test_backends.py: 1 warning
    t/unit/contrib/test_worker.py: 2 warnings
    t/unit/worker/test_consumer.py: 2 warnings
    t/unit/worker/test_worker.py: 17 warnings
    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/worker/consumer/consumer.py:508: CPendingDeprecationWarning: The broker_connection_retry configuration setting will no longer determine
    whether broker connection retries are made during startup in Celery 6.0 and above.
    If you wish to retain the existing behavior for retrying connections on startup,
    you should set broker_connection_retry_on_startup to True.
    warnings.warn(

    t/unit/app/test_beat.py::test_Scheduler::test_ticks_microseconds
    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/t/unit/app/test_beat.py:416: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in
    UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
    now = datetime.utcfromtimestamp(now_ts)

    t/unit/backends/test_s3.py: 29 warnings
    /usr/lib/python3/dist-packages/botocore/auth.py:425: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.
    UTC).
    datetime_now = datetime.datetime.utcnow()

    t/unit/bin/test_daemonization.py::test_daemon_options_from_config[events]
    /usr/lib/python3/dist-packages/click/core.py:1179: UserWarning: The parameter -d is used more than once. Remove its duplicate as parameters should be unique.
    parser = self.make_parser(ctx)

    t/unit/bin/test_daemonization.py::test_daemon_options_from_config[events]
    /usr/lib/python3/dist-packages/click/core.py:1172: UserWarning: The parameter -d is used more than once. Remove its duplicate as parameters should be unique.
    self.parse_args(ctx, args)

    t/unit/tasks/test_canvas.py::test_chord::test_links_to_body t/unit/tasks/test_canvas.py::test_chord::test_flag_allow_error_cb_on_chord_header
    t/unit/tasks/test_stamping.py::test_stamping_mechanism::test_link_error_does_not_duplicate_stamps
    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/canvas.py:2303: CPendingDeprecationWarning: task_allow_error_cb_on_chord_header=False is pending deprecation in a future release of Celery.
    Please test the new behavior by setting task_allow_error_cb_on_chord_header to True and report any concerns you might have in our issue tracker before we make a final decision regarding how errbacks should behave when used with chords.
    warnings.warn(

    t/unit/tasks/test_stamping.py::test_stamping_mechanism::test_callback_stamping t/unit/tasks/test_stamping.py::test_stamping_mechanism::test_callback_stamping_link_after_stamp
    t/unit/tasks/test_stamping.py::test_stamping_mechanism::test_callback_stamping_link_multiple_visitors
    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/canvas.py:400: AlwaysEagerIgnored: task_always_eager has no effect on send_task
    return _apply(args, kwargs, **options)

    t/unit/tasks/test_trace.py::test_trace::test_backend_error_should_report_failure
    t/unit/worker/test_request.py::test_Request::test_execute_backend_error_acks_late
    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py:662: RuntimeWarning: Exception raised outside body: Exception():
    Traceback (most recent call last):
    File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", line 520, in trace_task
    task.backend.mark_as_done(
    ~~~~~~~~~~~~~~~~~~~~~~~~~^
    uuid, retval, task_request, publish_result,
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
    File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
    Exception

    warn(RuntimeWarning(

    t/unit/tasks/test_trace.py::test_trace::test_backend_error_should_report_failure
    t/unit/worker/test_request.py::test_Request::test_execute_backend_error_acks_late
    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py:662: RuntimeWarning: Exception raised outside body: Exception():
    Traceback (most recent call last):
    File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", line 520, in trace_task
    task.backend.mark_as_done(
    ~~~~~~~~~~~~~~~~~~~~~~~~~^
    uuid, retval, task_request, publish_result,
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
    File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
    Exception

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", line 586, in trace_task
    return task.__trace__(uuid, args, kwargs, request)
    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", line 574, in trace_task
    I, _, _, _ = on_error(task_request, exc)
    ~~~~~~~~^^^^^^^^^^^^^^^^^^^
    File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", line 381, in on_error
    R = I.handle_error_state(
    task, request, eager=eager, call_errbacks=call_errbacks,
    )
    File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", line 175, in handle_error_state
    return {
    ~
    RETRY: self.handle_retry,
    ~~~~~~~~~~~~~~~~~~~~~~~~~
    FAILURE: self.handle_failure,
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    }[self.state](task, req,
    ~~~~~~~~~~~~~^^^^^^^^^^^
    store_errors=store_errors,
    ^^^^^^^^^^^^^^^^^^^^^^^^^^
    call_errbacks=call_errbacks)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", line 227, in handle_failure
    task.backend.mark_as_failure(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    req.id, exc, einfo.traceback,
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    request=req, store_result=store_errors,
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    call_errbacks=call_errbacks,
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
    File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
    Exception

    warn(RuntimeWarning(

    t/unit/utils/test_time.py::test_iso8601::test_parse_with_timezone t/unit/utils/test_time.py::test_iso8601::test_parse_with_timezone t/unit/utils/test_time.py::test_iso8601::test_parse_with_timezone t/unit/utils/test_time.py::test_iso8601::test_parse_with_timezone
    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/utils/iso8601.py:55: CPendingDeprecationWarning:
    parse_iso8601 is scheduled for deprecation in version v5.3 and removal in version vv6. datetime.datetime.fromisoformat or dateutil.parser.isoparse

    warn("parse_iso8601", "v5.3", "v6", "datetime.datetime.fromisoformat or dateutil.parser.isoparse")

    t/unit/worker/test_consumer.py: 16 warnings
    t/unit/worker/test_worker.py: 1 warning
    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/worker/consumer/consumer.py:391: CPendingDeprecationWarning:
    In Celery 5.1 we introduced an optional breaking change which
    on connection loss cancels all currently executed tasks with late acknowledgement enabled.
    These tasks cannot be acknowledged as the connection is gone, and the tasks are automatically redelivered
    back to the queue. You can enable this behavior using the worker_cancel_long_running_tasks_on_connection_loss
    setting. In Celery 5.1 it is set to False by default. The setting will be set to True by default in Celery 6.0.

    warnings.warn(CANCEL_TASKS_BY_DEFAULT, CPendingDeprecationWarning)

    t/unit/worker/test_consumer.py::test_Consumer::test_ensure_connected[True-None-False]
    t/unit/worker/test_consumer.py::test_Consumer::test_ensure_connected[False-None-False]
    t/unit/worker/test_worker.py::test_Consumer::test_receive_message_eta t/unit/worker/test_worker.py::test_Consumer::test_receive_message_eta
    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/worker/consumer/consumer.py:508: CPendingDeprecationWarning: The broker_connection_retry configuration setting will no longer determine
    whether broker connection retries are made during startup in Celery 6.0 and above.
    If you wish to retain the existing behavior for retrying connections on startup,
    you should set broker_connection_retry_on_startup to False.
    warnings.warn(

    t/unit/worker/test_request.py::test_Request::test_from_message_invalid_kwargs
    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py:662: RuntimeWarning: Exception raised outside body: InvalidTaskError('Task keyword arguments is not a mapping'):
    Traceback (most recent call last):
    File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", line 403, in trace_task
    kwargs.items
    AttributeError: 'str' object has no attribute 'items'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", line 405, in trace_task
    raise InvalidTaskError(
    'Task keyword arguments is not a mapping')
    celery.exceptions.InvalidTaskError: Task keyword arguments is not a mapping

    warn(RuntimeWarning(

    -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================
    FAILED t/unit/app/test_preload_cli.py::test_preload_options[subcommand_with_params0]
    FAILED t/unit/app/test_preload_cli.py::test_preload_options[subcommand_with_params1]
    FAILED t/unit/bin/test_control.py::test_custom_remote_command[inspect-custom_cmd0]
    FAILED t/unit/bin/test_control.py::test_custom_remote_command[control-custom_cmd1]
    FAILED t/unit/bin/test_control.py::test_unrecognized_remote_command[inspect-this_command_does_not_exist]
    FAILED t/unit/bin/test_control.py::test_unrecognized_remote_command[control-this_command_does_not_exist]
    FAILED t/unit/bin/test_control.py::test_unrecognized_remote_command[inspect-custom_control_cmd]
    FAILED t/unit/bin/test_control.py::test_unrecognized_remote_command[control-custom_inspect_cmd]
    = 8 failed, 2994 passed, 26 skipped, 8 deselected, 3 xfailed, 90 warnings, 28910 subtests passed in 75.82s (0:01:15) =
    E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build; python3.13 -m pytest --ignore=t/unit/backends/test_base.py --ignore=t/unit/backends/test_gcs.py --ignore=t/unit/backends/
    test_rpc.py --ignore=t/unit/contrib/test_pytest.py --ignore=t/unit/concurrency/test_eventlet.py --ignore=t/unit/concurrency/test_prefork.py -k "not test_check_privileges[accept_content0] and not test_check_privileges[accept_content1] and not test_check_
    privileges[accept_content2] and not test_regression_worker_startup_info and not test_with_guid and not test_only_gid and not test_init_mongodb_dnspython2_pymongo3_seedlist" t/unit
    dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 3.13" returned exit code 13
    make: *** [debian/rules:10: binary] Error 25
    dpkg-buildpackage: error: debian/rules binary 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/202502/

    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 add an affects on src:celery, so that this is still
    visible in the BTS web page for this package.

    Thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Colin Watson@21:1/5 to All on Sat Mar 1 22:10:05 2025
    Control: tag -1 pending

    Hello,

    Bug #1098539 in celery reported by you has been fixed in the
    Git repository and is awaiting an upload. You can see the commit
    message below and you can check the diff of the fix at:

    https://salsa.debian.org/python-team/packages/celery/-/commit/4f07d849f7f1a53613d3b91f00b15a266eb55e40

    ------------------------------------------------------------------------
    Fix tests with Click 8.2

    Closes: #1098539 ------------------------------------------------------------------------

    (this message was generated automatically)
    --
    Greetings

    https://bugs.debian.org/1098539

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Debian Bug Tracking System@21:1/5 to All on Sat Mar 1 22:10:10 2025
    Processing control commands:

    tag -1 pending
    Bug #1098539 [src:celery] celery: FTBFS: E AssertionError: assert 'No such option: --ini' in ''
    Added tag(s) pending.

    --
    1098539: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1098539
    Debian Bug Tracking System
    Contact owner@bugs.debian.org with problems

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Debian Bug Tracking System@21:1/5 to All on Sat Mar 1 23:10:02 2025
    This is a multi-part message in MIME format...

    Your message dated Sat, 01 Mar 2025 22:05:24 +0000
    with message-id <E1toUxY-006TLg-2b@fasolo.debian.org>
    and subject line Bug#1098539: fixed in celery 5.4.0-5
    has caused the Debian Bug report #1098539,
    regarding celery: FTBFS: E AssertionError: assert 'No such option: --ini' in ''
    to be marked as done.

    This means that you claim that the problem has been dealt with.
    If this is not the case it is now your responsibility to reopen the
    Bug report if necessary, and/or fix the problem forthwith.

    (NB: If you are a system administrator and have no idea what this
    message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@bugs.debian.org
    immediately.)


    --
    1098539: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1098539
    Debian Bug Tracking System
    Contact owner@bugs.debian.org with problems

    Received: (at submit) by bugs.debian.org; 21 Feb 2025 23:26:36 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.6-bugs.debian.org_2005_01_02
    (2021-04-09) on buxtehude.debian.org
    X-Spam-Level:
    X-Spam-Status: No, score=-120.5 required=4.0 tests=BAYES_00,
    BODY_INCLUDES_PACKAGE,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,
    DKIM_VALID_AU,DKIM_VALID_EF,FROMDEVELOPER,HAS_PACKAGE,
    RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_NONE,USER_IN_DKIM_WELCOMELIST,
    USER_IN_DKIM_WHITELIST,WEIRD_PORT,X_DEBBUGS_CC autolearn=ham
    autolearn_force=no version=3.4.6-bugs.debian.org_2005_01_02 X-Spam-Bayes: score:0.0000 Tokens: new, 187; hammy, 150; neutral, 553; spammy,
    0. spammytokens: hammytokens:0.000-+--python3, 0.000-+--trixie,
    0.000-+--pkgbuilddir, 0.000-+--PKGBUILDDIR, 0.000-+--sk:dh_auto Return-path: <sanvila@debian.org>
    Received: from mitropoulos.debian.org ([2001:648:2ffc:deb: