*** This log is abridged to its last 1000 lines: t/unit/worker/test_consumer.py::test_Consumer::test_max_restarts_exceeded PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_do_not_restart_when_closed PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_do_not_restart_when_terminated PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_too_many_open_files_raises_error PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_blueprint_restart_when_state_not_in_stop_conditions[True] PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_blueprint_restart_when_state_not_in_stop_conditions[False] PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_blueprint_restart_for_channel_errors[True] PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_blueprint_restart_for_channel_errors[False] PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_collects_at_restart PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_register_with_event_loop PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_on_close_clears_semaphore_timer_and_reqs PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_connect_error_handler PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_connect_error_handler_progress PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_cancel_long_running_tasks_on_connection_loss PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_cancel_long_running_tasks_on_connection_loss__warning PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_cancel_all_unacked_requests PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_ensure_connected[True-None-True] PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_ensure_connected[True-None-False] [Deprecation warning when startup is None] SUBPASS [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_ensure_connected[True-None-False] [Does not retry when connect throws an error and retry is set to false] SUBPASS [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_ensure_connected[True-None-False] PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_ensure_connected[True-False-True] PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_ensure_connected[True-False-False] [Does not retry when connect throws an error and retry is set to false] SUBPASS [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_ensure_connected[True-False-False] PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_ensure_connected[False-None-True] PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_ensure_connected[False-None-False] [Deprecation warning when startup is None] SUBPASS [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_ensure_connected[False-None-False] [Does not retry when connect throws an error and retry is set to false] SUBPASS [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_ensure_connected[False-None-False] PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_ensure_connected[False-False-True] PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_ensure_connected[False-False-False] [Does not retry when connect throws an error and retry is set to false] SUBPASS [ 86%] t/unit/worker/test_consumer.py::test_Consumer::test_ensure_connected[False-False-False] PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer_WorkerShutdown::test_start_raises_connection_error[shutdown on connection loss on startup] [Consumer raises WorkerShutdown on connection restart] SUBPASS [ 86%] t/unit/worker/test_consumer.py::test_Consumer_WorkerShutdown::test_start_raises_connection_error[shutdown on connection loss on startup] [Critical error log message is outputted to the screen] SUBPASS [ 86%] t/unit/worker/test_consumer.py::test_Consumer_WorkerShutdown::test_start_raises_connection_error[shutdown on connection loss on startup] PASSED [ 86%] t/unit/worker/test_consumer.py::test_Consumer_WorkerShutdown::test_start_raises_connection_error[shutdown on connection loss on startup when retry on startup is undefined] [Consumer raises WorkerShutdown on connection restart] SUBPASS [ 87%] t/unit/worker/test_consumer.py::test_Consumer_WorkerShutdown::test_start_raises_connection_error[shutdown on connection loss on startup when retry on startup is undefined] [Critical error log message is outputted to the screen] SUBPASS [ 87%] t/unit/worker/test_consumer.py::test_Consumer_WorkerShutdown::test_start_raises_connection_error[shutdown on connection loss on startup when retry on startup is undefined] PASSED [ 87%] t/unit/worker/test_consumer.py::test_Consumer_WorkerShutdown::test_start_raises_connection_error[shutdown on connection loss not on startup but startup is defined as false] [Consumer raises WorkerShutdown on connection restart] SUBPASS [ 87%] t/unit/worker/test_consumer.py::test_Consumer_WorkerShutdown::test_start_raises_connection_error[shutdown on connection loss not on startup but startup is defined as false] [Critical error log message is outputted to the screen] SUBPASS [ 87%] t/unit/worker/test_consumer.py::test_Consumer_WorkerShutdown::test_start_raises_connection_error[shutdown on connection loss not on startup but startup is defined as false] PASSED [ 87%] t/unit/worker/test_consumer.py::test_Consumer_WorkerShutdown::test_start_raises_connection_error[shutdown on connection loss not on startup and startup is not defined] [Consumer raises WorkerShutdown on connection restart] SUBPASS [ 87%] t/unit/worker/test_consumer.py::test_Consumer_WorkerShutdown::test_start_raises_connection_error[shutdown on connection loss not on startup and startup is not defined] [Critical error log message is outputted to the screen] SUBPASS [ 87%] t/unit/worker/test_consumer.py::test_Consumer_WorkerShutdown::test_start_raises_connection_error[shutdown on connection loss not on startup and startup is not defined] PASSED [ 87%] t/unit/worker/test_consumer.py::test_Consumer_WorkerShutdown::test_start_raises_connection_error[shutdown on connection loss not on startup but startup is defined as true] [Consumer raises WorkerShutdown on connection restart] SUBPASS [ 87%] t/unit/worker/test_consumer.py::test_Consumer_WorkerShutdown::test_start_raises_connection_error[shutdown on connection loss not on startup but startup is defined as true] [Critical error log message is outputted to the screen] SUBPASS [ 87%] t/unit/worker/test_consumer.py::test_Consumer_WorkerShutdown::test_start_raises_connection_error[shutdown on connection loss not on startup but startup is defined as true] PASSED [ 87%] t/unit/worker/test_consumer.py::test_Consumer_PerformPendingOperations::test_perform_pending_operations_all_success PASSED [ 87%] t/unit/worker/test_consumer.py::test_Consumer_PerformPendingOperations::test_perform_pending_operations_with_exception PASSED [ 87%] t/unit/worker/test_consumer.py::test_Heart::test_start PASSED [ 87%] t/unit/worker/test_consumer.py::test_Heart::test_start_heartbeat_interval PASSED [ 87%] t/unit/worker/test_consumer.py::test_Tasks::test_stop PASSED [ 87%] t/unit/worker/test_consumer.py::test_Tasks::test_stop_already_stopped PASSED [ 87%] t/unit/worker/test_consumer.py::test_Tasks::test_detect_quorum_queues_positive PASSED [ 87%] t/unit/worker/test_consumer.py::test_Tasks::test_detect_quorum_queues_negative PASSED [ 87%] t/unit/worker/test_consumer.py::test_Tasks::test_detect_quorum_queues_not_rabbitmq PASSED [ 87%] t/unit/worker/test_consumer.py::test_Tasks::test_qos_global_worker_detect_quorum_queues_false PASSED [ 87%] t/unit/worker/test_consumer.py::test_Tasks::test_qos_global_worker_detect_quorum_queues_true_no_quorum_queues PASSED [ 87%] t/unit/worker/test_consumer.py::test_Tasks::test_qos_global_worker_detect_quorum_queues_true_with_quorum_queues PASSED [ 87%] t/unit/worker/test_consumer.py::test_Tasks::test_log_when_qos_is_false PASSED [ 87%] t/unit/worker/test_consumer.py::test_Agent::test_start PASSED [ 87%] t/unit/worker/test_consumer.py::test_Mingle::test_start_no_replies PASSED [ 87%] t/unit/worker/test_consumer.py::test_Mingle::test_start PASSED [ 87%] t/unit/worker/test_consumer.py::test_Gossip::test_init PASSED [ 87%] t/unit/worker/test_consumer.py::test_Gossip::test_callbacks PASSED [ 87%] t/unit/worker/test_consumer.py::test_Gossip::test_election PASSED [ 87%] t/unit/worker/test_consumer.py::test_Gossip::test_call_task PASSED [ 87%] t/unit/worker/test_consumer.py::test_Gossip::test_on_elect PASSED [ 87%] t/unit/worker/test_consumer.py::test_Gossip::test_on_elect_ack_win PASSED [ 87%] t/unit/worker/test_consumer.py::test_Gossip::test_on_elect_ack_lose PASSED [ 87%] t/unit/worker/test_consumer.py::test_Gossip::test_on_elect_ack_win_but_no_action PASSED [ 87%] t/unit/worker/test_consumer.py::test_Gossip::test_on_node_join PASSED [ 87%] t/unit/worker/test_consumer.py::test_Gossip::test_on_node_leave PASSED [ 87%] t/unit/worker/test_consumer.py::test_Gossip::test_on_node_lost PASSED [ 87%] t/unit/worker/test_consumer.py::test_Gossip::test_register_timer PASSED [ 87%] t/unit/worker/test_consumer.py::test_Gossip::test_periodic PASSED [ 87%] t/unit/worker/test_consumer.py::test_Gossip::test_on_message__task PASSED [ 88%] t/unit/worker/test_consumer.py::test_Gossip::test_on_message PASSED [ 88%] t/unit/worker/test_control.py::test_Pidbox::test_shutdown PASSED [ 88%] t/unit/worker/test_control.py::test_Pidbox_green::test_stop PASSED [ 88%] t/unit/worker/test_control.py::test_Pidbox_green::test_resets PASSED [ 88%] t/unit/worker/test_control.py::test_Pidbox_green::test_loop PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_enable_events PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_disable_events PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_clock PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_hello PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_hello_does_not_send_expired_revoked_items PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_conf PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_election PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_election__no_gossip PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_heartbeat PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_time_limit PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_active_queues PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_active_queues__empty PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_dump_tasks PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_dump_tasks2 PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_stats PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_report PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_active PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_active_safe PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_pool_grow PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_add__cancel_consumer PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_revoked PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_dump_schedule PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_dump_reserved PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_rate_limit_invalid_rate_limit_string PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_rate_limit PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_rate_limit_nonexistant_task PASSED [ 88%] t/unit/worker/test_control.py::test_ControlPanel::test_unexposed_command PASSED [ 89%] t/unit/worker/test_control.py::test_ControlPanel::test_revoke_with_name PASSED [ 89%] t/unit/worker/test_control.py::test_ControlPanel::test_revoke_with_name_not_in_registry PASSED [ 89%] t/unit/worker/test_control.py::test_ControlPanel::test_revoke PASSED [ 89%] t/unit/worker/test_control.py::test_ControlPanel::test_revoke_terminate PASSED [ 89%] t/unit/worker/test_control.py::test_ControlPanel::test_revoke_by_stamped_headers_terminate[True] PASSED [ 89%] t/unit/worker/test_control.py::test_ControlPanel::test_revoke_by_stamped_headers_terminate[False] PASSED [ 89%] t/unit/worker/test_control.py::test_ControlPanel::test_revoke_by_stamped_headers[header_to_revoke0] PASSED [ 89%] t/unit/worker/test_control.py::test_ControlPanel::test_revoke_by_stamped_headers[header_to_revoke1] PASSED [ 89%] t/unit/worker/test_control.py::test_ControlPanel::test_revoke_by_stamped_headers[header_to_revoke2] PASSED [ 89%] t/unit/worker/test_control.py::test_ControlPanel::test_revoke_by_stamped_headers[header_to_revoke3] PASSED [ 89%] t/unit/worker/test_control.py::test_ControlPanel::test_revoke_by_stamped_headers[header_to_revoke4] PASSED [ 89%] t/unit/worker/test_control.py::test_ControlPanel::test_revoke_return_value_terminate_true PASSED [ 89%] t/unit/worker/test_control.py::test_ControlPanel::test_autoscale PASSED [ 89%] t/unit/worker/test_control.py::test_ControlPanel::test_ping PASSED [ 89%] t/unit/worker/test_control.py::test_ControlPanel::test_shutdown PASSED [ 89%] t/unit/worker/test_control.py::test_ControlPanel::test_panel_reply PASSED [ 89%] t/unit/worker/test_control.py::test_ControlPanel::test_pool_restart PASSED [ 89%] t/unit/worker/test_control.py::test_ControlPanel::test_pool_restart_import_modules PASSED [ 89%] t/unit/worker/test_control.py::test_ControlPanel::test_pool_restart_reload_modules PASSED [ 89%] t/unit/worker/test_control.py::test_ControlPanel::test_query_task PASSED [ 89%] t/unit/worker/test_heartbeat.py::test_Heart::test_start_stop PASSED [ 89%] t/unit/worker/test_heartbeat.py::test_Heart::test_send_sends_signal PASSED [ 89%] t/unit/worker/test_heartbeat.py::test_Heart::test_start_when_disabled PASSED [ 89%] t/unit/worker/test_heartbeat.py::test_Heart::test_stop_when_disabled PASSED [ 89%] t/unit/worker/test_heartbeat.py::test_Heart::test_message_retries PASSED [ 89%] t/unit/worker/test_loops.py::test_asynloop::test_drain_after_consume PASSED [ 89%] t/unit/worker/test_loops.py::test_asynloop::test_pool_did_not_start_at_startup PASSED [ 89%] t/unit/worker/test_loops.py::test_asynloop::test_setup_heartbeat PASSED [ 89%] t/unit/worker/test_loops.py::test_asynloop::test_on_task_received PASSED [ 89%] t/unit/worker/test_loops.py::test_asynloop::test_on_task_received_executes_on_task_message PASSED [ 89%] t/unit/worker/test_loops.py::test_asynloop::test_on_task_message_missing_name PASSED [ 89%] t/unit/worker/test_loops.py::test_asynloop::test_on_task_pool_raises PASSED [ 89%] t/unit/worker/test_loops.py::test_asynloop::test_on_task_InvalidTaskError PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_on_task_DecodeError PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_should_terminate[None] PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_should_terminate[False] PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_should_terminate[True] PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_should_terminate[0] PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_should_terminate_hub_close_raises PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_should_stop PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_updates_qos PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_poll_empty PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_poll_readable PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_poll_readable_raises_Empty PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_poll_writable PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_poll_writable_none_registered PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_poll_unknown_event PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_poll_keep_draining_disabled PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_poll_err_writable PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_poll_write_generator PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_poll_write_generator_stopped PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_poll_write_generator_raises PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_poll_err_readable PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_poll_raises_ValueError PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_heartbeat_error PASSED [ 90%] t/unit/worker/test_loops.py::test_asynloop::test_no_heartbeat_support PASSED [ 90%] t/unit/worker/test_loops.py::test_synloop::test_timeout_ignored PASSED [ 90%] t/unit/worker/test_loops.py::test_synloop::test_updates_qos_when_changed PASSED [ 90%] t/unit/worker/test_loops.py::test_synloop::test_ignores_socket_errors_when_closed PASSED [ 90%] t/unit/worker/test_loops.py::test_synloop::test_no_connection PASSED [ 90%] t/unit/worker/test_loops.py::test_synloop::test_heartbeat_error PASSED [ 90%] t/unit/worker/test_loops.py::test_synloop::test_no_heartbeat_support PASSED [ 90%] t/unit/worker/test_loops.py::test_quick_drain::test_drain PASSED [ 90%] t/unit/worker/test_loops.py::test_quick_drain::test_drain_error PASSED [ 90%] t/unit/worker/test_loops.py::test_quick_drain::test_drain_error_EAGAIN PASSED [ 90%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_include_if_no_quorum_queues_detected PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_include_if_quorum_queues_detected PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_start_native_delayed_delivery_direct_exchange PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_start_native_delayed_delivery_topic_exchange PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_start_native_delayed_delivery_fanout_exchange PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_validate_broker_urls_valid[amqp://-expected_result0] PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_validate_broker_urls_valid[amqp://;redis://-expected_result1] PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_validate_broker_urls_valid[broker_urls2-expected_result2] PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_validate_broker_urls_invalid[-ValueError-broker_url configuration is empty] PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_validate_broker_urls_invalid[None-ValueError-broker_url configuration is empty] PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_validate_broker_urls_invalid[broker_urls2-ValueError-broker_url configuration is empty] PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_validate_broker_urls_invalid[123-ValueError-broker_url must be a string or list] PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_validate_broker_urls_invalid[broker_urls4-ValueError-All broker URLs must be strings] PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_validate_queue_type_empty PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_validate_queue_type_invalid PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_validate_queue_type_valid PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_start_retry_on_connection_error PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_on_retry_logging PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_on_retry_argument_types PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_start_with_no_queues PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_start_configuration_validation_error PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_setup_declare_error PASSED [ 91%] t/unit/worker/test_native_delayed_delivery.py::test_DelayedDelivery::test_setup_bind_error PASSED [ 91%] t/unit/worker/test_request.py::test_mro_lookup::test_order PASSED [ 91%] t/unit/worker/test_request.py::test_Retry::test_retry_semipredicate PASSED [ 91%] t/unit/worker/test_request.py::test_trace_task::test_process_cleanup_fails PASSED [ 91%] t/unit/worker/test_request.py::test_trace_task::test_process_cleanup_BaseException PASSED [ 91%] t/unit/worker/test_request.py::test_trace_task::test_execute_jail_success PASSED [ 91%] t/unit/worker/test_request.py::test_trace_task::test_marked_as_started PASSED [ 91%] t/unit/worker/test_request.py::test_trace_task::test_execute_jail_failure PASSED [ 91%] t/unit/worker/test_request.py::test_trace_task::test_execute_task_ignore_result PASSED [ 91%] t/unit/worker/test_request.py::test_trace_task::test_execute_request_ignore_result PASSED [ 91%] t/unit/worker/test_request.py::test_Request::test_shadow PASSED [ 91%] t/unit/worker/test_request.py::test_Request::test_args PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_kwargs PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_info_function PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_no_shadow_header PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_invalid_eta_raises_InvalidTaskError PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_invalid_expires_raises_InvalidTaskError PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_valid_expires_with_utc_makes_aware PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_maybe_expire_when_expires_is_None PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_on_retry_acks_if_late PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_on_failure_Terminated PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_on_failure_propagates_MemoryError PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_on_failure_Ignore_acknowledges PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_on_failure_Reject_rejects PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_on_failure_Reject_rejects_with_requeue PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_on_failure_WorkerLostError_rejects_with_requeue PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_on_failure_WorkerLostError_redelivered_None PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_on_failure_WorkerLostError_redelivered_True PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_on_failure_TimeLimitExceeded_acks PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_on_failure_TimeLimitExceeded_rejects_with_requeue PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_tzlocal_is_cached PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_task_wrapper_repr PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_sets_store_errors PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_send_event PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_send_events__disabled_at_task_level PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_on_retry PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_compat_properties PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_terminate__pool_ref PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_terminate__task_started PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_cancel__pool_ref PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_terminate__task_reserved PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_cancel__task_started PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_cancel__task_reserved PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_revoked_expires_expired PASSED [ 92%] t/unit/worker/test_request.py::test_Request::test_revoked_expires_not_expired PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_revoked_expires_ignore_result PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_already_revoked PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_revoked PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_revoked_by_stamped_headers[header_to_revoke0] PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_revoked_by_stamped_headers[header_to_revoke1] PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_revoked_by_stamped_headers[header_to_revoke2] PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_revoked_by_stamped_headers[header_to_revoke3] PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_revoked_by_stamped_headers[header_to_revoke4] PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_execute_does_not_execute_revoked PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_execute_acks_late PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_execute_using_pool_does_not_execute_revoked PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_on_accepted_acks_early PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_on_accepted_acks_late PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_on_accepted_terminates PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_on_accepted_time_start PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_on_success_acks_early PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_on_success_BaseException PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_on_success_eventer PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_on_success_when_failure PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_on_success_acks_late PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_on_failure_WorkerLostError PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_on_failure_acks_late_reject_on_worker_lost_enabled PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_on_failure_acks_late PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_on_failure_acks_on_failure_or_timeout_disabled_for_task PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_on_failure_acks_on_failure_or_timeout_enabled_for_task PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_on_failure_acks_on_failure_or_timeout_disabled PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_on_failure_acks_on_failure_or_timeout_enabled PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_on_failure_task_cancelled PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_from_message_invalid_kwargs PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_on_hard_timeout_acks_late PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_on_hard_timeout_acks_on_failure_or_timeout PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_on_soft_timeout PASSED [ 93%] t/unit/worker/test_request.py::test_Request::test_fast_trace_task PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_trace_task_ret PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_trace_task_ret__no_trace PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_trace_catches_exception PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_worker_task_trace_handle_retry PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_worker_task_trace_handle_failure PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_from_message PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_from_message_empty_args PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_from_message_missing_required_fields PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_from_message_nonexistant_task PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_execute PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_execute_backend_error_acks_late PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_execute_success_no_kwargs PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_execute_ack PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_execute_fail PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_execute_using_pool PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_execute_using_pool_fast_trace_task PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_on_failure PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_on_failure__unicode_exception PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_on_failure__utf8_exception PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_on_failure__WorkerLostError PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_on_failure__return_ok PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_reject PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_group PASSED [ 94%] t/unit/worker/test_request.py::test_Request::test_group_index PASSED [ 94%] t/unit/worker/test_request.py::test_create_request_class::test_on_success PASSED [ 94%] t/unit/worker/test_request.py::test_create_request_class::test_on_success__SystemExit PASSED [ 94%] t/unit/worker/test_request.py::test_create_request_class::test_on_success__calls_failure PASSED [ 94%] t/unit/worker/test_request.py::test_create_request_class::test_on_success__acks_late_enabled PASSED [ 94%] t/unit/worker/test_request.py::test_create_request_class::test_on_success__acks_late_disabled PASSED [ 94%] t/unit/worker/test_request.py::test_create_request_class::test_on_success__no_events PASSED [ 94%] t/unit/worker/test_request.py::test_create_request_class::test_on_success__with_events PASSED [ 94%] t/unit/worker/test_request.py::test_create_request_class::test_execute_using_pool__revoked PASSED [ 95%] t/unit/worker/test_request.py::test_create_request_class::test_execute_using_pool__expired PASSED [ 95%] t/unit/worker/test_request.py::test_create_request_class::test_execute_using_pool PASSED [ 95%] t/unit/worker/test_request.py::test_create_request_class::test_execute_using_pool_with_use_fast_trace_task PASSED [ 95%] t/unit/worker/test_request.py::test_create_request_class::test_execute_using_pool_with_none_timelimit_header PASSED [ 95%] t/unit/worker/test_request.py::test_create_request_class::test_execute_using_pool__defaults_of_hybrid_to_proto2 PASSED [ 95%] t/unit/worker/test_revoke.py::test_revoked::test_is_working PASSED [ 95%] t/unit/worker/test_state.py::test_maybe_shutdown::test_should_stop PASSED [ 95%] t/unit/worker/test_state.py::test_maybe_shutdown::test_should_terminate[None] PASSED [ 95%] t/unit/worker/test_state.py::test_maybe_shutdown::test_should_terminate[False] PASSED [ 95%] t/unit/worker/test_state.py::test_maybe_shutdown::test_should_terminate[True] PASSED [ 95%] t/unit/worker/test_state.py::test_maybe_shutdown::test_should_terminate[0] PASSED [ 95%] t/unit/worker/test_state.py::test_Persistent::test_close_twice PASSED [ 95%] t/unit/worker/test_state.py::test_Persistent::test_constructor PASSED [ 95%] t/unit/worker/test_state.py::test_Persistent::test_save PASSED [ 95%] t/unit/worker/test_state.py::test_Persistent::test_merge PASSED [ 95%] t/unit/worker/test_state.py::test_Persistent::test_merge_dict PASSED [ 95%] t/unit/worker/test_state.py::test_Persistent::test_sync_clock_and_purge PASSED [ 95%] t/unit/worker/test_state.py::test_Persistent::test_sync PASSED [ 95%] t/unit/worker/test_state.py::test_state::test_accepted PASSED [ 95%] t/unit/worker/test_state.py::test_state::test_ready PASSED [ 95%] t/unit/worker/test_state.py::test_state_configuration::test_custom_configuration PASSED [ 95%] t/unit/worker/test_state.py::test_state_configuration::test_default_configuration PASSED [ 95%] t/unit/worker/test_strategy.py::test_proto1_to_proto2::test_message_without_args PASSED [ 95%] t/unit/worker/test_strategy.py::test_proto1_to_proto2::test_message_without_kwargs PASSED [ 95%] t/unit/worker/test_strategy.py::test_proto1_to_proto2::test_message_kwargs_not_mapping PASSED [ 95%] t/unit/worker/test_strategy.py::test_proto1_to_proto2::test_message_no_taskset_id PASSED [ 95%] t/unit/worker/test_strategy.py::test_proto1_to_proto2::test_message PASSED [ 95%] t/unit/worker/test_strategy.py::test_default_strategy_proto2::test_when_logging_disabled PASSED [ 95%] t/unit/worker/test_strategy.py::test_default_strategy_proto2::test_task_strategy PASSED [ 95%] t/unit/worker/test_strategy.py::test_default_strategy_proto2::test_callbacks PASSED [ 95%] t/unit/worker/test_strategy.py::test_default_strategy_proto2::test_log_task_received PASSED [ 95%] t/unit/worker/test_strategy.py::test_default_strategy_proto2::test_log_eta_task_received PASSED [ 95%] t/unit/worker/test_strategy.py::test_default_strategy_proto2::test_log_task_received_custom PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto2::test_log_task_arguments PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto2::test_signal_task_received PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto2::test_when_events_disabled PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto2::test_eta_task PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto2::test_eta_task_utc_disabled PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto2::test_when_rate_limited PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto2::test_when_rate_limited_with_eta PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto2::test_when_rate_limited__limits_disabled PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto2::test_when_revoked PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1::test_when_logging_disabled PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1::test_task_strategy PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1::test_callbacks PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1::test_log_task_received PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1::test_log_eta_task_received PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1::test_log_task_received_custom PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1::test_log_task_arguments PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1::test_signal_task_received PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1::test_when_events_disabled PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1::test_eta_task PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1::test_eta_task_utc_disabled PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1::test_when_rate_limited PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1::test_when_rate_limited_with_eta PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1::test_when_rate_limited__limits_disabled PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1::test_when_revoked PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1__no_utc::test_when_logging_disabled PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1__no_utc::test_task_strategy PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1__no_utc::test_callbacks PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1__no_utc::test_log_task_received PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1__no_utc::test_log_eta_task_received PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1__no_utc::test_log_task_received_custom PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1__no_utc::test_log_task_arguments PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1__no_utc::test_signal_task_received PASSED [ 96%] t/unit/worker/test_strategy.py::test_default_strategy_proto1__no_utc::test_when_events_disabled PASSED [ 97%] t/unit/worker/test_strategy.py::test_default_strategy_proto1__no_utc::test_eta_task PASSED [ 97%] t/unit/worker/test_strategy.py::test_default_strategy_proto1__no_utc::test_eta_task_utc_disabled PASSED [ 97%] t/unit/worker/test_strategy.py::test_default_strategy_proto1__no_utc::test_when_rate_limited PASSED [ 97%] t/unit/worker/test_strategy.py::test_default_strategy_proto1__no_utc::test_when_rate_limited_with_eta PASSED [ 97%] t/unit/worker/test_strategy.py::test_default_strategy_proto1__no_utc::test_when_rate_limited__limits_disabled PASSED [ 97%] t/unit/worker/test_strategy.py::test_default_strategy_proto1__no_utc::test_when_revoked PASSED [ 97%] t/unit/worker/test_strategy.py::test_custom_request_for_default_strategy::test_when_logging_disabled PASSED [ 97%] t/unit/worker/test_strategy.py::test_custom_request_for_default_strategy::test_task_strategy PASSED [ 97%] t/unit/worker/test_strategy.py::test_custom_request_for_default_strategy::test_callbacks PASSED [ 97%] t/unit/worker/test_strategy.py::test_custom_request_for_default_strategy::test_log_task_received PASSED [ 97%] t/unit/worker/test_strategy.py::test_custom_request_for_default_strategy::test_log_eta_task_received PASSED [ 97%] t/unit/worker/test_strategy.py::test_custom_request_for_default_strategy::test_log_task_received_custom PASSED [ 97%] t/unit/worker/test_strategy.py::test_custom_request_for_default_strategy::test_log_task_arguments PASSED [ 97%] t/unit/worker/test_strategy.py::test_custom_request_for_default_strategy::test_signal_task_received PASSED [ 97%] t/unit/worker/test_strategy.py::test_custom_request_for_default_strategy::test_when_events_disabled PASSED [ 97%] t/unit/worker/test_strategy.py::test_custom_request_for_default_strategy::test_eta_task PASSED [ 97%] t/unit/worker/test_strategy.py::test_custom_request_for_default_strategy::test_eta_task_utc_disabled PASSED [ 97%] t/unit/worker/test_strategy.py::test_custom_request_for_default_strategy::test_when_rate_limited PASSED [ 97%] t/unit/worker/test_strategy.py::test_custom_request_for_default_strategy::test_when_rate_limited_with_eta PASSED [ 97%] t/unit/worker/test_strategy.py::test_custom_request_for_default_strategy::test_when_rate_limited__limits_disabled PASSED [ 97%] t/unit/worker/test_strategy.py::test_custom_request_for_default_strategy::test_when_revoked PASSED [ 97%] t/unit/worker/test_strategy.py::test_custom_request_for_default_strategy::test_custom_request_gets_instantiated PASSED [ 97%] t/unit/worker/test_strategy.py::test_hybrid_to_proto2::test_retries_default_value PASSED [ 97%] t/unit/worker/test_strategy.py::test_hybrid_to_proto2::test_retries_custom_value PASSED [ 97%] t/unit/worker/test_strategy.py::test_hybrid_to_proto2::test_custom_headers PASSED [ 97%] t/unit/worker/test_worker.py::test_Consumer::test_info PASSED [ 97%] t/unit/worker/test_worker.py::test_Consumer::test_start_when_closed PASSED [ 97%] t/unit/worker/test_worker.py::test_Consumer::test_connection PASSED [ 97%] t/unit/worker/test_worker.py::test_Consumer::test_close_connection PASSED [ 97%] t/unit/worker/test_worker.py::test_Consumer::test_close_connection__heart_shutdown PASSED [ 97%] t/unit/worker/test_worker.py::test_Consumer::test_receive_message_unknown PASSED [ 97%] t/unit/worker/test_worker.py::test_Consumer::test_receive_message_eta_OverflowError PASSED [ 97%] t/unit/worker/test_worker.py::test_Consumer::test_receive_message_InvalidTaskError PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_on_decode_error PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_receieve_message PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_start_channel_error PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_start_connection_error PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_loop_ignores_socket_timeout PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_loop_when_socket_error PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_loop PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_ignore_errors PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_apply_eta_task PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_receieve_message_eta_isoformat PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_pidbox_callback PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_revoke PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_receieve_message_not_registered PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_receieve_message_ack_raises PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_receive_message_eta PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_reset_pidbox_node PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_reset_pidbox_node_green PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_green_pidbox_node PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_connect_errback PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_stop_pidbox_node PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_start__loop PASSED [ 98%] t/unit/worker/test_worker.py::test_Consumer::test_reset_connection_with_no_node PASSED [ 98%] t/unit/worker/test_worker.py::test_WorkController::test_on_consumer_ready PASSED [ 98%] t/unit/worker/test_worker.py::test_WorkController::test_setup_queues_worker_direct PASSED [ 98%] t/unit/worker/test_worker.py::test_WorkController::test_setup_queues__missing_queue PASSED [ 98%] t/unit/worker/test_worker.py::test_WorkController::test_send_worker_shutdown PASSED [ 98%] t/unit/worker/test_worker.py::test_WorkController::test_process_shutdown_on_worker_shutdown SKIPPED [ 98%] t/unit/worker/test_worker.py::test_WorkController::test_process_task_revoked_release_semaphore PASSED [ 98%] t/unit/worker/test_worker.py::test_WorkController::test_shutdown_no_blueprint PASSED [ 98%] t/unit/worker/test_worker.py::test_WorkController::test_use_pidfile PASSED [ 98%] t/unit/worker/test_worker.py::test_WorkController::test_attrs PASSED [ 98%] t/unit/worker/test_worker.py::test_WorkController::test_with_embedded_beat PASSED [ 98%] t/unit/worker/test_worker.py::test_WorkController::test_with_autoscaler PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_with_autoscaler_file_descriptor_safety FAILED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_with_file_descriptor_safety FAILED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_dont_stop_or_terminate PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_on_timer_error PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_on_timer_tick PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_process_task PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_process_task_raise_base PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_process_task_raise_WorkerTerminate PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_process_task_raise_regular PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_start_catches_base_exceptions PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_statedb PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_process_task_sem PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_signal_consumer_close PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_rusage__no_resource PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_repr PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_str PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_start__stop PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_start__KeyboardInterrupt PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_register_with_event_loop PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_step_raises PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_state PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_start__terminate PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_Hub_create PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_Pool_create_threaded PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_Pool_pool_no_sem PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_Pool_create PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_wait_for_soft_shutdown PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_wait_for_soft_shutdown_no_tasks PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_wait_for_soft_shutdown_no_wait PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkController::test_wait_for_soft_shutdown_no_wait_no_tasks PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkerApp::test_safe_say_defaults_to_stderr PASSED [ 99%] t/unit/worker/test_worker.py::test_WorkerApp::test_safe_say_writes_to_std_out PASSED [100%] =================================== FAILURES =================================== _ test_AsynPool.test_schedule_writes_hub_remove_writer_ready_fd_not_in_all_inqueues _ self = @t.skip.if_pypy def test_schedule_writes_hub_remove_writer_ready_fd_not_in_all_inqueues(self): > pool = asynpool.AsynPool(threads=False) t/unit/concurrency/test_prefork.py:383: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ celery/concurrency/asynpool.py:473: in __init__ super().__init__(processes, *args, **kwargs) /usr/lib/python3.12/site-packages/billiard/pool.py:1046: in __init__ self._create_worker_process(i) celery/concurrency/asynpool.py:491: in _create_worker_process return super()._create_worker_process(i) /usr/lib/python3.12/site-packages/billiard/pool.py:1142: in _create_worker_process on_ready_counter = self._ctx.Value('i') /usr/lib/python3.12/site-packages/billiard/context.py:179: in Value return Value(typecode_or_type, *args, lock=lock, /usr/lib/python3.12/site-packages/billiard/sharedctypes.py:81: in Value lock = ctx.RLock() /usr/lib/python3.12/site-packages/billiard/context.py:108: in RLock return RLock(ctx=self.get_context()) /usr/lib/python3.12/site-packages/billiard/synchronize.py:206: in __init__ SemLock.__init__(self, RECURSIVE_MUTEX, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 0, value = 1, maxvalue = 1 ctx = def __init__(self, kind, value, maxvalue, ctx=None): if ctx is None: ctx = context._default_context.get_context() name = ctx.get_start_method() unlink_now = sys.platform == 'win32' or name == 'fork' if sem_unlink: for i in range(100): try: > sl = self._semlock = _billiard.SemLock( kind, value, maxvalue, self._make_name(), unlink_now, ) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/site-packages/billiard/synchronize.py:70: PermissionError _ test_AsynPool.test_schedule_writes_hub_remove_writers_from_active_writers_when_get_index_error _ self = @t.skip.if_pypy def test_schedule_writes_hub_remove_writers_from_active_writers_when_get_index_error(self): > pool = asynpool.AsynPool(threads=False) t/unit/concurrency/test_prefork.py:402: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ celery/concurrency/asynpool.py:473: in __init__ super().__init__(processes, *args, **kwargs) /usr/lib/python3.12/site-packages/billiard/pool.py:1046: in __init__ self._create_worker_process(i) celery/concurrency/asynpool.py:491: in _create_worker_process return super()._create_worker_process(i) /usr/lib/python3.12/site-packages/billiard/pool.py:1142: in _create_worker_process on_ready_counter = self._ctx.Value('i') /usr/lib/python3.12/site-packages/billiard/context.py:179: in Value return Value(typecode_or_type, *args, lock=lock, /usr/lib/python3.12/site-packages/billiard/sharedctypes.py:81: in Value lock = ctx.RLock() /usr/lib/python3.12/site-packages/billiard/context.py:108: in RLock return RLock(ctx=self.get_context()) /usr/lib/python3.12/site-packages/billiard/synchronize.py:206: in __init__ SemLock.__init__(self, RECURSIVE_MUTEX, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 0, value = 1, maxvalue = 1 ctx = def __init__(self, kind, value, maxvalue, ctx=None): if ctx is None: ctx = context._default_context.get_context() name = ctx.get_start_method() unlink_now = sys.platform == 'win32' or name == 'fork' if sem_unlink: for i in range(100): try: > sl = self._semlock = _billiard.SemLock( kind, value, maxvalue, self._make_name(), unlink_now, ) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/site-packages/billiard/synchronize.py:70: PermissionError _______ test_WorkController.test_with_autoscaler_file_descriptor_safety ________ self = sleepdeprived = None @t.skip.if_win32 @pytest.mark.sleepdeprived_patched_module(autoscale) def test_with_autoscaler_file_descriptor_safety(self, sleepdeprived): # Given: a test celery worker instance with auto scaling worker = self.create_worker( autoscale=[10, 5], use_eventloop=True, timer_cls='celery.utils.timer2.Timer', threads=False, ) # Given: This test requires a QoS defined on the worker consumer worker.consumer.qos = qos = QoS(lambda prefetch_count: prefetch_count, 2) qos.update() # Given: We have started the worker pool > worker.pool.start() t/unit/worker/test_worker.py:820: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ celery/concurrency/base.py:130: in start self.on_start() celery/concurrency/prefork.py:109: in on_start P = self._pool = Pool(processes=self.limit, celery/concurrency/asynpool.py:473: in __init__ super().__init__(processes, *args, **kwargs) /usr/lib/python3.12/site-packages/billiard/pool.py:1046: in __init__ self._create_worker_process(i) celery/concurrency/asynpool.py:491: in _create_worker_process return super()._create_worker_process(i) /usr/lib/python3.12/site-packages/billiard/pool.py:1142: in _create_worker_process on_ready_counter = self._ctx.Value('i') /usr/lib/python3.12/site-packages/billiard/context.py:179: in Value return Value(typecode_or_type, *args, lock=lock, /usr/lib/python3.12/site-packages/billiard/sharedctypes.py:81: in Value lock = ctx.RLock() /usr/lib/python3.12/site-packages/billiard/context.py:108: in RLock return RLock(ctx=self.get_context()) /usr/lib/python3.12/site-packages/billiard/synchronize.py:206: in __init__ SemLock.__init__(self, RECURSIVE_MUTEX, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 0, value = 1, maxvalue = 1 ctx = def __init__(self, kind, value, maxvalue, ctx=None): if ctx is None: ctx = context._default_context.get_context() name = ctx.get_start_method() unlink_now = sys.platform == 'win32' or name == 'fork' if sem_unlink: for i in range(100): try: > sl = self._semlock = _billiard.SemLock( kind, value, maxvalue, self._make_name(), unlink_now, ) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/site-packages/billiard/synchronize.py:70: PermissionError _____________ test_WorkController.test_with_file_descriptor_safety _____________ self = sleepdeprived = None @t.skip.if_win32 @pytest.mark.sleepdeprived_patched_module(autoscale) def test_with_file_descriptor_safety(self, sleepdeprived): # Given: a test celery worker instance worker = self.create_worker( autoscale=[10, 5], use_eventloop=True, timer_cls='celery.utils.timer2.Timer', threads=False, ) # Given: This test requires a QoS defined on the worker consumer worker.consumer.qos = qos = QoS(lambda prefetch_count: prefetch_count, 2) qos.update() # Given: We have started the worker pool > worker.pool.start() t/unit/worker/test_worker.py:870: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ celery/concurrency/base.py:130: in start self.on_start() celery/concurrency/prefork.py:109: in on_start P = self._pool = Pool(processes=self.limit, celery/concurrency/asynpool.py:473: in __init__ super().__init__(processes, *args, **kwargs) /usr/lib/python3.12/site-packages/billiard/pool.py:1046: in __init__ self._create_worker_process(i) celery/concurrency/asynpool.py:491: in _create_worker_process return super()._create_worker_process(i) /usr/lib/python3.12/site-packages/billiard/pool.py:1142: in _create_worker_process on_ready_counter = self._ctx.Value('i') /usr/lib/python3.12/site-packages/billiard/context.py:179: in Value return Value(typecode_or_type, *args, lock=lock, /usr/lib/python3.12/site-packages/billiard/sharedctypes.py:81: in Value lock = ctx.RLock() /usr/lib/python3.12/site-packages/billiard/context.py:108: in RLock return RLock(ctx=self.get_context()) /usr/lib/python3.12/site-packages/billiard/synchronize.py:206: in __init__ SemLock.__init__(self, RECURSIVE_MUTEX, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 0, value = 1, maxvalue = 1 ctx = def __init__(self, kind, value, maxvalue, ctx=None): if ctx is None: ctx = context._default_context.get_context() name = ctx.get_start_method() unlink_now = sys.platform == 'win32' or name == 'fork' if sem_unlink: for i in range(100): try: > sl = self._semlock = _billiard.SemLock( kind, value, maxvalue, self._make_name(), unlink_now, ) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/site-packages/billiard/synchronize.py:70: PermissionError =============================== warnings summary =============================== t/unit/app/test_beat.py::test_Scheduler::test_ticks_microseconds /home/udu/aports/community/celery/src/celery-5.5.3/t/unit/app/test_beat.py:417: 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.12/site-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/events/test_dumper.py::test_on_event_task_received t/unit/events/test_dumper.py::test_on_event_non_task /home/udu/aports/community/celery/src/celery-5.5.3/celery/events/dumper.py:51: 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). timestamp = datetime.utcfromtimestamp(ev.pop('timestamp')) 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 /home/udu/aports/community/celery/src/celery-5.5.3/celery/canvas.py:2301: 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 /home/udu/aports/community/celery/src/celery-5.5.3/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 /home/udu/aports/community/celery/src/celery-5.5.3/celery/app/trace.py:662: RuntimeWarning: Exception raised outside body: Exception(): Traceback (most recent call last): File "/home/udu/aports/community/celery/src/celery-5.5.3/celery/app/trace.py", line 520, in trace_task task.backend.mark_as_done( File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ return self._mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call return self._execute_mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1198, 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 /home/udu/aports/community/celery/src/celery-5.5.3/celery/app/trace.py:662: RuntimeWarning: Exception raised outside body: Exception(): Traceback (most recent call last): File "/home/udu/aports/community/celery/src/celery-5.5.3/celery/app/trace.py", line 520, in trace_task task.backend.mark_as_done( File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ return self._mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call return self._execute_mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call raise effect Exception During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/udu/aports/community/celery/src/celery-5.5.3/celery/app/trace.py", line 586, in trace_task return task.__trace__(uuid, args, kwargs, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/celery/src/celery-5.5.3/celery/app/trace.py", line 574, in trace_task I, _, _, _ = on_error(task_request, exc) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/celery/src/celery-5.5.3/celery/app/trace.py", line 381, in on_error R = I.handle_error_state( ^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/celery/src/celery-5.5.3/celery/app/trace.py", line 175, in handle_error_state return { ^ File "/home/udu/aports/community/celery/src/celery-5.5.3/celery/app/trace.py", line 227, in handle_failure task.backend.mark_as_failure( File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ return self._mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call return self._execute_mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call raise effect Exception warn(RuntimeWarning( t/unit/utils/test_iso8601.py: 14 warnings t/unit/utils/test_time.py: 4 warnings /home/udu/aports/community/celery/src/celery-5.5.3/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 /home/udu/aports/community/celery/src/celery-5.5.3/celery/worker/consumer/consumer.py:392: 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 /home/udu/aports/community/celery/src/celery-5.5.3/celery/worker/consumer/consumer.py:511: 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 refrain from retrying connections on startup, you should set broker_connection_retry_on_startup to False instead. warnings.warn( t/unit/worker/test_request.py::test_Request::test_from_message_invalid_kwargs /home/udu/aports/community/celery/src/celery-5.5.3/celery/app/trace.py:662: RuntimeWarning: Exception raised outside body: InvalidTaskError('Task keyword arguments is not a mapping'): Traceback (most recent call last): File "/home/udu/aports/community/celery/src/celery-5.5.3/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 "/home/udu/aports/community/celery/src/celery-5.5.3/celery/app/trace.py", line 405, in trace_task raise InvalidTaskError( 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/concurrency/test_prefork.py::test_AsynPool::test_schedule_writes_hub_remove_writer_ready_fd_not_in_all_inqueues FAILED t/unit/concurrency/test_prefork.py::test_AsynPool::test_schedule_writes_hub_remove_writers_from_active_writers_when_get_index_error FAILED t/unit/worker/test_worker.py::test_WorkController::test_with_autoscaler_file_descriptor_safety FAILED t/unit/worker/test_worker.py::test_WorkController::test_with_file_descriptor_safety = 4 failed, 3257 passed, 27 skipped, 2 deselected, 3 xfailed, 82 warnings, 28958 subtests passed in 74.90s (0:01:14) = >>> ERROR: celery: check failed >>> celery: Uninstalling dependencies... (1/170) Purging .makedepends-celery (20251009.005304) (2/170) Purging py3-billiard-pyc (4.2.1-r0) (3/170) Purging py3-billiard (4.2.1-r0) (4/170) Purging py3-click-didyoumean-pyc (0.3.1-r1) (5/170) Purging py3-click-didyoumean (0.3.1-r1) (6/170) Purging py3-click-plugins-pyc (1.1.1-r6) (7/170) Purging py3-click-plugins (1.1.1-r6) (8/170) Purging py3-click-repl-pyc (0.3.0-r4) (9/170) Purging py3-click-repl (0.3.0-r4) (10/170) Purging py3-prompt_toolkit-pyc (3.0.47-r0) (11/170) Purging py3-prompt_toolkit (3.0.47-r0) (12/170) Purging py3-wcwidth-pyc (0.2.13-r1) (13/170) Purging py3-wcwidth (0.2.13-r1) (14/170) Purging py3-kombu-pyc (5.5.4-r0) (15/170) Purging py3-kombu (5.5.4-r0) (16/170) Purging py3-amqp-pyc (5.3.1-r0) (17/170) Purging py3-amqp (5.3.1-r0) (18/170) Purging py3-tz-pyc (2025.2-r0) (19/170) Purging py3-tz (2025.2-r0) (20/170) Purging py3-tzdata-pyc (2025.2-r0) (21/170) Purging py3-tzdata (2025.2-r0) (22/170) Purging py3-vine-pyc (5.1.0-r0) (23/170) Purging py3-vine (5.1.0-r0) (24/170) Purging python3-dev (3.12.11-r0) (25/170) Purging py3-gpep517-pyc (19-r0) (26/170) Purging py3-gpep517 (19-r0) (27/170) Purging py3-installer-pyc (0.7.0-r2) (28/170) Purging py3-installer (0.7.0-r2) (29/170) Purging py3-wheel-pyc (0.46.1-r0) (30/170) Purging py3-wheel (0.46.1-r0) (31/170) Purging pre-commit-pyc (4.2.0-r0) (32/170) Purging pre-commit (4.2.0-r0) (33/170) Purging py3-cfgv-pyc (3.4.0-r1) (34/170) Purging py3-cfgv (3.4.0-r1) (35/170) Purging py3-identify-pyc (2.6.12-r0) (36/170) Purging py3-identify (2.6.12-r0) (37/170) Purging py3-ukkonen-pyc (1.0.1-r4) (38/170) Purging py3-ukkonen (1.0.1-r4) (39/170) Purging py3-nodeenv-pyc (1.9.1-r0) (40/170) Purging py3-nodeenv (1.9.1-r0) (41/170) Purging py3-virtualenv-pyc (20.31.2-r0) (42/170) Purging py3-virtualenv (20.31.2-r0) (43/170) Purging py3-distlib-pyc (0.3.9-r0) (44/170) Purging py3-distlib (0.3.9-r0) (45/170) Purging py3-filelock-pyc (3.16.1-r1) (46/170) Purging py3-filelock (3.16.1-r1) (47/170) Purging py3-platformdirs-pyc (4.3.8-r0) (48/170) Purging py3-platformdirs (4.3.8-r0) (49/170) Purging py3-greenlet-pyc (3.2.1-r0) (50/170) Purging py3-greenlet (3.2.1-r0) (51/170) Purging py3-mongo-pyc (4.6.0-r1) (52/170) Purging py3-mongo (4.6.0-r1) (53/170) Purging py3-dnspython-pyc (2.7.0-r0) (54/170) Purging py3-dnspython (2.7.0-r0) (55/170) Purging py3-pytest-celery-pyc (1.2.1-r0) (56/170) Purging py3-pytest-celery (1.2.1-r0) (57/170) Purging py3-redis-pyc (6.1.0-r0) (58/170) Purging py3-redis (6.1.0-r0) (59/170) Purging py3-hiredis-pyc (3.2.1-r0) (60/170) Purging py3-hiredis (3.2.1-r0) (61/170) Purging py3-python-memcached-pyc (1.62-r3) (62/170) Purging py3-python-memcached (1.62-r3) (63/170) Purging py3-pytest-docker-tools-pyc (3.1.9-r0) (64/170) Purging py3-pytest-docker-tools (3.1.9-r0) (65/170) Purging py3-docker-py-pyc (7.1.0-r0) (66/170) Purging py3-docker-py (7.1.0-r0) (67/170) Purging py3-hatch-vcs-pyc (0.4.0-r2) (68/170) Purging py3-hatch-vcs (0.4.0-r2) (69/170) Purging py3-hatchling-pyc (1.27.0-r0) (70/170) Purging py3-hatchling (1.27.0-r0) (71/170) Purging py3-editables-pyc (0.5-r2) (72/170) Purging py3-editables (0.5-r2) (73/170) Purging py3-pathspec-pyc (0.12.1-r2) (74/170) Purging py3-pathspec (0.12.1-r2) (75/170) Purging py3-trove-classifiers-pyc (2025.9.11.17-r0) (76/170) Purging py3-trove-classifiers (2025.9.11.17-r0) (77/170) Purging py3-setuptools_scm-pyc (8.3.1-r0) (78/170) Purging py3-setuptools_scm (8.3.1-r0) (79/170) Purging py3-setuptools-pyc (80.9.0-r0) (80/170) Purging py3-setuptools (80.9.0-r0) (81/170) Purging py3-websocket-client-pyc (1.8.0-r0) (82/170) Purging py3-websocket-client (1.8.0-r0) (83/170) Purging py3-tenacity-pyc (8.3.0-r1) (84/170) Purging py3-tenacity (8.3.0-r1) (85/170) Purging py3-psutil-pyc (7.0.0-r0) (86/170) Purging py3-psutil (7.0.0-r0) (87/170) Purging py3-pytest-subtests-pyc (0.11.0-r1) (88/170) Purging py3-pytest-subtests (0.11.0-r1) (89/170) Purging py3-attrs-pyc (25.3.0-r0) (90/170) Purging py3-attrs (25.3.0-r0) (91/170) Purging py3-pytest-timeout-pyc (2.3.1-r1) (92/170) Purging py3-pytest-timeout (2.3.1-r1) (93/170) Purging py3-pytest-click-pyc (1.1.0-r0) (94/170) Purging py3-pytest-click (1.1.0-r0) (95/170) Purging py3-click-pyc (8.1.8-r1) (96/170) Purging py3-click (8.1.8-r1) (97/170) Purging py3-pytest-pyc (8.3.5-r0) (98/170) Purging py3-pytest (8.3.5-r0) (99/170) Purging py3-iniconfig-pyc (2.1.0-r0) (100/170) Purging py3-iniconfig (2.1.0-r0) (101/170) Purging py3-packaging-pyc (25.0-r0) (102/170) Purging py3-packaging (25.0-r0) (103/170) Purging py3-parsing-pyc (3.2.3-r0) (104/170) Purging py3-parsing (3.2.3-r0) (105/170) Purging py3-pluggy-pyc (1.5.0-r0) (106/170) Purging py3-pluggy (1.5.0-r0) (107/170) Purging py3-py-pyc (1.11.0-r4) (108/170) Purging py3-py (1.11.0-r4) (109/170) Purging py3-pydantic-pyc (2.10.4-r0) (110/170) Purging py3-pydantic (2.10.4-r0) (111/170) Purging py3-annotated-types-pyc (0.7.0-r0) (112/170) Purging py3-annotated-types (0.7.0-r0) (113/170) Purging py3-pydantic-core-pyc (2.27.2-r0) (114/170) Purging py3-pydantic-core (2.27.2-r0) (115/170) Purging py3-typing-extensions-pyc (4.13.2-r0) (116/170) Purging py3-typing-extensions (4.13.2-r0) (117/170) Purging py3-moto-pyc (5.1.9-r0) (118/170) Purging py3-moto (5.1.9-r0) (119/170) Purging py3-boto3-pyc (1.38.23-r0) (120/170) Purging py3-boto3 (1.38.23-r0) (121/170) Purging py3-s3transfer-pyc (0.10.1-r0) (122/170) Purging py3-s3transfer (0.10.1-r0) (123/170) Purging py3-botocore-pyc (1.38.23-r0) (124/170) Purging py3-botocore (1.38.23-r0) (125/170) Purging py3-jmespath-pyc (1.0.1-r4) (126/170) Purging py3-jmespath (1.0.1-r4) (127/170) Purging py3-cryptography-pyc (44.0.3-r0) (128/170) Purging py3-cryptography (44.0.3-r0) (129/170) Purging py3-cffi-pyc (1.17.1-r1) (130/170) Purging py3-cffi (1.17.1-r1) (131/170) Purging py3-cparser-pyc (2.22-r1) (132/170) Purging py3-cparser (2.22-r1) (133/170) Purging py3-xmltodict-pyc (0.13.0-r5) (134/170) Purging py3-xmltodict (0.13.0-r5) (135/170) Purging py3-werkzeug-pyc (3.1.3-r0) (136/170) Purging py3-werkzeug (3.1.3-r0) (137/170) Purging py3-dateutil-pyc (2.9.0-r1) (138/170) Purging py3-dateutil (2.9.0-r1) (139/170) Purging py3-six-pyc (1.17.0-r0) (140/170) Purging py3-six (1.17.0-r0) (141/170) Purging py3-responses-pyc (0.25.0-r1) (142/170) Purging py3-responses (0.25.0-r1) (143/170) Purging py3-requests-pyc (2.32.5-r0) (144/170) Purging py3-requests (2.32.5-r0) (145/170) Purging py3-certifi-pyc (2025.4.26-r0) (146/170) Purging py3-certifi (2025.4.26-r0) (147/170) Purging py3-charset-normalizer-pyc (3.4.2-r0) (148/170) Purging py3-charset-normalizer (3.4.2-r0) (149/170) Purging py3-idna-pyc (3.10-r0) (150/170) Purging py3-idna (3.10-r0) (151/170) Purging py3-toml-pyc (0.10.2-r7) (152/170) Purging py3-toml (0.10.2-r7) (153/170) Purging py3-urllib3-pyc (1.26.20-r0) (154/170) Purging py3-urllib3 (1.26.20-r0) (155/170) Purging py3-jinja2-pyc (3.1.6-r0) (156/170) Purging py3-jinja2 (3.1.6-r0) (157/170) Purging py3-markupsafe-pyc (3.0.2-r0) (158/170) Purging py3-markupsafe (3.0.2-r0) (159/170) Purging py3-jsonpath-ng-pyc (1.7.0-r0) (160/170) Purging py3-jsonpath-ng (1.7.0-r0) (161/170) Purging py3-ply-pyc (3.11-r11) (162/170) Purging py3-ply (3.11-r11) (163/170) Purging py3-pyaml-pyc (25.1.0-r0) (164/170) Purging py3-pyaml (25.1.0-r0) (165/170) Purging py3-yaml-pyc (6.0.2-r0) (166/170) Purging py3-yaml (6.0.2-r0) (167/170) Purging py3-msgpack-pyc (1.0.8-r1) (168/170) Purging py3-msgpack (1.0.8-r1) (169/170) Purging hiredis (1.3.0-r0) (170/170) Purging yaml (0.2.5-r2) Executing busybox-1.37.0-r19.trigger OK: 296 MiB in 89 packages