Files
kefu/deploy/loading-performance-20260917/target-final.log
T
2026-09-21 10:34:06 +08:00

357 lines
47 KiB
Plaintext

test_completed_result_is_not_reused_for_later_explicit_refresh (test_database_loading_performance.KeyAcquisitionSingleFlightTest.test_completed_result_is_not_reused_for_later_explicit_refresh) ... ok
test_failure_is_shared_and_does_not_poison_later_retry (test_database_loading_performance.KeyAcquisitionSingleFlightTest.test_failure_is_shared_and_does_not_poison_later_retry) ... ok
test_simultaneous_browser_and_protocol_initialization_start_one_worker (test_database_loading_performance.KeyAcquisitionSingleFlightTest.test_simultaneous_browser_and_protocol_initialization_start_one_worker) ... ok
test_busy_navigation_is_coalesced_to_latest_account_conversation_and_query (test_database_loading_performance.LocalFirstLoaderTest.test_busy_navigation_is_coalesced_to_latest_account_conversation_and_query) ... ok
test_local_chat_arrives_before_remote_lookup_begins (test_database_loading_performance.LocalFirstLoaderTest.test_local_chat_arrives_before_remote_lookup_begins) ... ok
test_old_patient_result_never_replaces_new_selection_and_only_latest_is_queued (test_database_loading_performance.LocalFirstLoaderTest.test_old_patient_result_never_replaces_new_selection_and_only_latest_is_queued) ... ok
test_remote_timeout_keeps_local_chat_visible_and_not_setup_error (test_database_loading_performance.LocalFirstLoaderTest.test_remote_timeout_keeps_local_chat_visible_and_not_setup_error) ... ok
test_repeated_refresh_during_load_does_not_queue_another_initialization (test_database_loading_performance.LocalFirstLoaderTest.test_repeated_refresh_during_load_does_not_queue_another_initialization) ... ok
test_stale_database_result_is_ignored (test_database_loading_performance.LocalFirstLoaderTest.test_stale_database_result_is_ignored) ... ok
test_busy_refresh_does_not_start_a_second_scan (test_wechat_database_flow.AutomaticDatabaseFlowTest.test_busy_refresh_does_not_start_a_second_scan) ... ok
test_first_load_automates_and_tab_return_does_not_retry_failure (test_wechat_database_flow.AutomaticDatabaseFlowTest.test_first_load_automates_and_tab_return_does_not_retry_failure) ... ok
test_manual_acquire_does_not_trigger_a_second_automatic_scan (test_wechat_database_flow.AutomaticDatabaseFlowTest.test_manual_acquire_does_not_trigger_a_second_automatic_scan) ... ok
test_worker_error_exposes_manual_fallback (test_wechat_database_flow.AutomaticDatabaseFlowTest.test_worker_error_exposes_manual_fallback) ... ok
test_empty_cache_returns_actionable_error (test_wxwork_message_browser.WeChatMessageBrowserTests.test_empty_cache_returns_actionable_error) ... ok
test_lists_databases_conversations_and_messages (test_wxwork_message_browser.WeChatMessageBrowserTests.test_lists_databases_conversations_and_messages) ... ok
test_selects_conversation_and_filters (test_wxwork_message_browser.WeChatMessageBrowserTests.test_selects_conversation_and_filters) ... ok
test_cached_message_page_makes_no_sqlite_queries (test_wxwork_browser_performance.BrowserPerformanceTest.test_cached_message_page_makes_no_sqlite_queries) ... ok
test_concurrent_account_switches_cannot_leak_another_accounts_page (test_wxwork_browser_performance.BrowserPerformanceTest.test_concurrent_account_switches_cannot_leak_another_accounts_page) ... ok
test_concurrent_navigation_uses_consistent_cache (test_wxwork_browser_performance.BrowserPerformanceTest.test_concurrent_navigation_uses_consistent_cache) ... ok
test_content_search_checks_all_conversations (test_wxwork_browser_performance.BrowserPerformanceTest.test_content_search_checks_all_conversations) ... ok
test_conversation_and_message_offsets_are_stable_with_timestamp_ties (test_wxwork_browser_performance.BrowserPerformanceTest.test_conversation_and_message_offsets_are_stable_with_timestamp_ties) ... ok
test_database_replace_with_preserved_mtime_and_size_invalidates_inode (test_wxwork_browser_performance.BrowserPerformanceTest.test_database_replace_with_preserved_mtime_and_size_invalidates_inode) ... ok
test_database_replaced_between_index_and_message_read_cannot_leak_conversation (test_wxwork_browser_performance.BrowserPerformanceTest.test_database_replaced_between_index_and_message_read_cannot_leak_conversation) ... ok
test_database_replaced_between_index_and_preview_read_cannot_leak_conversation (test_wxwork_browser_performance.BrowserPerformanceTest.test_database_replaced_between_index_and_preview_read_cannot_leak_conversation) ... ok
test_deletion_invalidates_message_and_conversation_counts (test_wxwork_browser_performance.BrowserPerformanceTest.test_deletion_invalidates_message_and_conversation_counts) ... ok
test_multiple_accounts_do_not_rebuild_unselected_indexes (test_wxwork_browser_performance.BrowserPerformanceTest.test_multiple_accounts_do_not_rebuild_unselected_indexes) ... ok
test_new_message_invalidates_counts_order_and_cached_page (test_wxwork_browser_performance.BrowserPerformanceTest.test_new_message_invalidates_counts_order_and_cached_page) ... ok
test_reader_never_changes_source_database_or_adds_indexes (test_wxwork_browser_performance.BrowserPerformanceTest.test_reader_never_changes_source_database_or_adds_indexes) ... ok
test_refresh_explicitly_invalidates_even_unchanged_metadata (test_wxwork_browser_performance.BrowserPerformanceTest.test_refresh_explicitly_invalidates_even_unchanged_metadata) ... ok
test_rename_invalidates_names_without_touching_messages (test_wxwork_browser_performance.BrowserPerformanceTest.test_rename_invalidates_names_without_touching_messages) ... ok
test_search_finds_conversations_older_than_the_newest_thousand (test_wxwork_browser_performance.BrowserPerformanceTest.test_search_finds_conversations_older_than_the_newest_thousand) ... ok
test_search_offset_is_applied_after_filtering (test_wxwork_browser_performance.BrowserPerformanceTest.test_search_offset_is_applied_after_filtering) ... ok
test_snapshots_do_not_expose_mutable_cache_objects (test_wxwork_browser_performance.BrowserPerformanceTest.test_snapshots_do_not_expose_mutable_cache_objects) ... ok
test_system_conversations_are_excluded_but_total_message_count_is_exact (test_wxwork_browser_performance.BrowserPerformanceTest.test_system_conversations_are_excluded_but_total_message_count_is_exact) ... ok
test_wal_only_commit_invalidates_without_main_db_change (test_wxwork_browser_performance.BrowserPerformanceTest.test_wal_only_commit_invalidates_without_main_db_change) ... ok
test_warm_conversation_navigation_does_not_repeat_full_aggregates (test_wxwork_browser_performance.BrowserPerformanceTest.test_warm_conversation_navigation_does_not_repeat_full_aggregates) ... ok
test_auto_failure_exposes_manual_fallback_and_refresh_retries (test_wxwork_local_setup.LocalDatabaseSetupTest.test_auto_failure_exposes_manual_fallback_and_refresh_retries) ... ok
test_corrupt_fresh_cache_is_rebuilt_without_scanning (test_wxwork_local_setup.LocalDatabaseSetupTest.test_corrupt_fresh_cache_is_rebuilt_without_scanning) ... ok
test_database_notice_keeps_specific_failure (test_wxwork_local_setup.LocalDatabaseSetupTest.test_database_notice_keeps_specific_failure) ... ok
test_directory_choice_preserves_other_settings (test_wxwork_local_setup.LocalDatabaseSetupTest.test_directory_choice_preserves_other_settings) ... ok
test_existing_key_and_plain_database_do_not_scan_processes (test_wxwork_local_setup.LocalDatabaseSetupTest.test_existing_key_and_plain_database_do_not_scan_processes) ... ok
test_first_install_auto_discovers_and_decrypts_without_manual_input (test_wxwork_local_setup.LocalDatabaseSetupTest.test_first_install_auto_discovers_and_decrypts_without_manual_input) ... ok
test_frozen_key_worker_uses_executable_without_python_script (test_wxwork_local_setup.LocalDatabaseSetupTest.test_frozen_key_worker_uses_executable_without_python_script) ... ok
test_import_then_refresh_reads_encrypted_message (test_wxwork_local_setup.LocalDatabaseSetupTest.test_import_then_refresh_reads_encrypted_message) ... ok
test_invalid_keys_produce_actionable_error_without_secret (test_wxwork_local_setup.LocalDatabaseSetupTest.test_invalid_keys_produce_actionable_error_without_secret) ... ok
test_key_worker_only_persists_verified_keys (test_wxwork_local_setup.LocalDatabaseSetupTest.test_key_worker_only_persists_verified_keys) ... ok
test_key_worker_timeout_and_no_process_are_actionable (test_wxwork_local_setup.LocalDatabaseSetupTest.test_key_worker_timeout_and_no_process_are_actionable) ... ok
test_missing_directory_falls_back_without_scanning_processes (test_wxwork_local_setup.LocalDatabaseSetupTest.test_missing_directory_falls_back_without_scanning_processes) ... ok
test_missing_key_is_not_reported_as_missing_database (test_wxwork_local_setup.LocalDatabaseSetupTest.test_missing_key_is_not_reported_as_missing_database) ... ok
test_onedrive_directory_is_found_without_saved_config (test_wxwork_local_setup.LocalDatabaseSetupTest.test_onedrive_directory_is_found_without_saved_config) ... ok
test_partial_accounts_trigger_auto_acquisition_and_manual_fallback (test_wxwork_local_setup.LocalDatabaseSetupTest.test_partial_accounts_trigger_auto_acquisition_and_manual_fallback) ... ok
test_registry_documents_expands_environment_variables (test_wxwork_local_setup.LocalDatabaseSetupTest.test_registry_documents_expands_environment_variables) ... ok
test_saved_custom_path_is_used_after_install (test_wxwork_local_setup.LocalDatabaseSetupTest.test_saved_custom_path_is_used_after_install) ... ok
test_scanner_success_without_usable_key_is_still_a_failure (test_wxwork_local_setup.LocalDatabaseSetupTest.test_scanner_success_without_usable_key_is_still_a_failure) ... ok
test_stale_or_malformed_key_automatically_recovers (test_wxwork_local_setup.LocalDatabaseSetupTest.test_stale_or_malformed_key_automatically_recovers) ... ok
test_wrong_key_does_not_overwrite_saved_key (test_wxwork_local_setup.LocalDatabaseSetupTest.test_wrong_key_does_not_overwrite_saved_key) ... ok
test_a_blank_name_leaves_the_current_one_alone (test_qt_console_bridge.ConsoleBridgeTest.test_a_blank_name_leaves_the_current_one_alone)
空名字是"没填",不是"改成空"——改成空会让提示词里出现一个没有名字的客服。 ... ok
test_a_failed_connection_says_why_in_the_log (test_qt_console_bridge.ConsoleBridgeTest.test_a_failed_connection_says_why_in_the_log)
失败必须留下原因。只说"连接失败"的话,人不知道是地址错了还是后台没起。 ... ok
test_an_over_long_agent_name_is_truncated (test_qt_console_bridge.ConsoleBridgeTest.test_an_over_long_agent_name_is_truncated)
昵称会拼进系统提示词,不能让它无限长。 ... ok
test_approve_task_reaches_the_host_with_the_exact_key (test_qt_console_bridge.ConsoleBridgeTest.test_approve_task_reaches_the_host_with_the_exact_key)
「通过并发送」必须真的连到后端。 ... ok
test_approving_a_task_that_left_the_queue_sends_nothing (test_qt_console_bridge.ConsoleBridgeTest.test_approving_a_task_that_left_the_queue_sends_nothing)
任务已经不在队列里就别再放行——否则可能把草稿发到别的会话去。 ... ok
test_archive_date_button_uses_real_business_filter (test_qt_console_bridge.ConsoleBridgeTest.test_archive_date_button_uses_real_business_filter) ... ok
test_archive_selection_only_commits_an_existing_visible_key (test_qt_console_bridge.ConsoleBridgeTest.test_archive_selection_only_commits_an_existing_visible_key) ... ok
test_auto_send_header_selects_auto_mode_before_starting (test_qt_console_bridge.ConsoleBridgeTest.test_auto_send_header_selects_auto_mode_before_starting) ... ok
test_canvas_uses_available_logical_space_without_design_minimum (test_qt_console_bridge.ConsoleBridgeTest.test_canvas_uses_available_logical_space_without_design_minimum) ... ok
test_connect_backend_forwards_the_url_to_the_host (test_qt_console_bridge.ConsoleBridgeTest.test_connect_backend_forwards_the_url_to_the_host)
控制台上填的后台地址要真的到得了后端。 ... ok
test_console_html_and_javascript_assets_are_packaged_together (test_qt_console_bridge.ConsoleBridgeTest.test_console_html_and_javascript_assets_are_packaged_together) ... ok
test_console_push_timer_coalesces_against_earliest_deadline (test_qt_console_bridge.ConsoleBridgeTest.test_console_push_timer_coalesces_against_earliest_deadline) ... ok
test_editable_fields_look_editable (test_qt_console_bridge.ConsoleBridgeTest.test_editable_fields_look_editable)
能改的地方要看得出来能改。 ... ok
test_every_html_navigation_schedules_authoritative_state (test_qt_console_bridge.ConsoleBridgeTest.test_every_html_navigation_schedules_authoritative_state) ... ok
test_every_save_button_gives_the_user_feedback (test_qt_console_bridge.ConsoleBridgeTest.test_every_save_button_gives_the_user_feedback)
点了保存必须看得见反馈。 ... ok
test_handoff_only_reports_tasks_the_backend_accepted (test_qt_console_bridge.ConsoleBridgeTest.test_handoff_only_reports_tasks_the_backend_accepted) ... ok
test_long_pages_scroll_without_shrinking_text (test_qt_console_bridge.ConsoleBridgeTest.test_long_pages_scroll_without_shrinking_text) ... ok
test_no_layout_container_keeps_a_hard_coded_height (test_qt_console_bridge.ConsoleBridgeTest.test_no_layout_container_keeps_a_hard_coded_height)
去掉滚动条之后,"装不下"不再表现为滚动条,而是内容画到别的面板身上。 ... ok
test_number_fields_tell_you_the_allowed_range (test_qt_console_bridge.ConsoleBridgeTest.test_number_fields_tell_you_the_allowed_range) ... ok
test_page_grids_use_proportional_columns (test_qt_console_bridge.ConsoleBridgeTest.test_page_grids_use_proportional_columns)
各栏必须按比例分配宽度。写死像素的话,舞台变宽它们也不会跟着变宽, ... ok
test_queue_actions_select_exact_key_before_forwarding (test_qt_console_bridge.ConsoleBridgeTest.test_queue_actions_select_exact_key_before_forwarding) ... ok
test_ready_state_delivery_updates_cache_only_after_emit (test_qt_console_bridge.ConsoleBridgeTest.test_ready_state_delivery_updates_cache_only_after_emit) ... ok
test_request_state_forces_webchannel_handshake_payload (test_qt_console_bridge.ConsoleBridgeTest.test_request_state_forces_webchannel_handshake_payload) ... ok
test_responsive_styles_are_bundled_after_reference_styles (test_qt_console_bridge.ConsoleBridgeTest.test_responsive_styles_are_bundled_after_reference_styles) ... ok
test_same_view_state_push_preserves_sidebar_and_main_dom_identity (test_qt_console_bridge.ConsoleBridgeTest.test_same_view_state_push_preserves_sidebar_and_main_dom_identity) ... ok
test_save_ai_only_applies_the_agent_name (test_qt_console_bridge.ConsoleBridgeTest.test_save_ai_only_applies_the_agent_name)
AI 设置页现在只有客服昵称是真正的本机设置。 ... ok
test_set_view_waits_for_loaded_document_and_replays_once (test_qt_console_bridge.ConsoleBridgeTest.test_set_view_waits_for_loaded_document_and_replays_once) ... ok
test_sidebar_orb_is_wired_to_the_listen_toggle (test_qt_console_bridge.ConsoleBridgeTest.test_sidebar_orb_is_wired_to_the_listen_toggle)
侧栏那颗球是用户最常点的开关,HTML 上必须真的绑着动作。 ... ok
test_stale_queue_key_never_mutates_previous_selection (test_qt_console_bridge.ConsoleBridgeTest.test_stale_queue_key_never_mutates_previous_selection) ... ok
test_state_is_not_cached_before_webchannel_handshake (test_qt_console_bridge.ConsoleBridgeTest.test_state_is_not_cached_before_webchannel_handshake) ... ok
test_the_console_script_handles_that_action (test_qt_console_bridge.ConsoleBridgeTest.test_the_console_script_handles_that_action) ... ok
test_the_feedback_helper_covers_pending_result_and_failure (test_qt_console_bridge.ConsoleBridgeTest.test_the_feedback_helper_covers_pending_result_and_failure)
反馈要三段齐全:立刻响应、真实结果、失败也要说清。 ... ok
test_the_save_slots_report_their_result_back (test_qt_console_bridge.ConsoleBridgeTest.test_the_save_slots_report_their_result_back)
Qt 侧的保存槽必须把结果回传,否则网页那边永远只能瞎猜。 ... ok
test_the_scale_never_depends_on_page_height_or_device_pixel_ratio (test_qt_console_bridge.ConsoleBridgeTest.test_the_scale_never_depends_on_page_height_or_device_pixel_ratio) ... ok
test_the_side_rail_height_does_not_follow_page_content (test_qt_console_bridge.ConsoleBridgeTest.test_the_side_rail_height_does_not_follow_page_content)
侧栏在每一页必须一样高。 ... ok
test_toggle_listen_starts_and_stops_the_host (test_qt_console_bridge.ConsoleBridgeTest.test_toggle_listen_starts_and_stops_the_host) ... ok
test_async_protocol_check_retains_explicit_approval_request (test_desktop_review_visibility.DesktopReviewTest.test_async_protocol_check_retains_explicit_approval_request) ... ok
test_explicit_approval_reaches_thread_with_exact_key_and_refreshes (test_desktop_review_visibility.DesktopReviewTest.test_explicit_approval_reaches_thread_with_exact_key_and_refreshes) ... ok
test_human_filter_includes_unknown_receipt_and_no_empty_send (test_desktop_review_visibility.DesktopReviewTest.test_human_filter_includes_unknown_receipt_and_no_empty_send) ... ok
test_legacy_receipt_states_are_visible_but_not_sendable (test_desktop_review_visibility.DesktopReviewTest.test_legacy_receipt_states_are_visible_but_not_sendable) ... ok
test_real_queue_snapshot_renders_review_and_handoff_in_embedded_browser (test_desktop_review_visibility.DesktopReviewTest.test_real_queue_snapshot_renders_review_and_handoff_in_embedded_browser) ... ok
test_review_counts_remain_visible_under_an_unrelated_filter (test_desktop_review_visibility.DesktopReviewTest.test_review_counts_remain_visible_under_an_unrelated_filter) ... ok
test_review_filter_surfaces_protocol_draft_and_reason (test_desktop_review_visibility.DesktopReviewTest.test_review_filter_surfaces_protocol_draft_and_reason) ... ok
test_stale_snapshot_requires_explicit_confirmation_before_backend_handoff (test_desktop_review_visibility.DesktopReviewTest.test_stale_snapshot_requires_explicit_confirmation_before_backend_handoff) ... ok
test_stopped_handoff_uses_offline_resolution_and_preserves_seen (test_desktop_review_visibility.DesktopReviewTest.test_stopped_handoff_uses_offline_resolution_and_preserves_seen) ... ok
test_unknown_receipt_handoff_requires_confirmation_and_never_calls_approve (test_desktop_review_visibility.DesktopReviewTest.test_unknown_receipt_handoff_requires_confirmation_and_never_calls_approve) ... ok
test_generation_failure_is_retryable_but_not_sendable (test_desktop_review_visibility.ReviewStateTest.test_generation_failure_is_retryable_but_not_sendable) ... ok
test_media_without_draft_cannot_be_approved (test_desktop_review_visibility.ReviewStateTest.test_media_without_draft_cannot_be_approved) ... ok
test_protocol_and_visual_reviews_have_the_same_action_contract (test_desktop_review_visibility.ReviewStateTest.test_protocol_and_visual_reviews_have_the_same_action_contract) ... ok
test_uncertain_delivery_cannot_be_approved_or_retried_even_with_stale_review_flag (test_desktop_review_visibility.ReviewStateTest.test_uncertain_delivery_cannot_be_approved_or_retried_even_with_stale_review_flag) ... ok
test_actual_send_mode_never_uses_probe_hash_cache (test_protocol_probe_performance.BuildHashReuseTests.test_actual_send_mode_never_uses_probe_hash_cache) ... ok
test_changed_binary_is_not_reused_with_same_process (test_protocol_probe_performance.BuildHashReuseTests.test_changed_binary_is_not_reused_with_same_process) ... ok
test_file_change_during_hash_fails_closed (test_protocol_probe_performance.BuildHashReuseTests.test_file_change_during_hash_fails_closed) ... ok
test_native_client_still_validates_live_identity_each_time (test_protocol_probe_performance.BuildHashReuseTests.test_native_client_still_validates_live_identity_each_time) ... ok
test_new_pid_and_reused_pid_with_new_creation_time_rehash (test_protocol_probe_performance.BuildHashReuseTests.test_new_pid_and_reused_pid_with_new_creation_time_rehash) ... ok
test_one_probe_reads_same_process_build_once_but_next_probe_rechecks (test_protocol_probe_performance.BuildHashReuseTests.test_one_probe_reads_same_process_build_once_but_next_probe_rechecks) ... ok
test_unavailable_process_start_time_does_not_enable_cache (test_protocol_probe_performance.BuildHashReuseTests.test_unavailable_process_start_time_does_not_enable_cache) ... ok
test_change_after_database_check_is_never_hidden_by_static_reuse (test_protocol_probe_performance.ProbeFreshnessTests.test_change_after_database_check_is_never_hidden_by_static_reuse) ... ok
test_repeated_probes_revalidate_account_and_database (test_protocol_probe_performance.ProbeFreshnessTests.test_repeated_probes_revalidate_account_and_database) ... ok
test_actual_reply_startup_loads_current_account_metadata (test_protocol_probe_performance.ScopedDatabaseTests.test_actual_reply_startup_loads_current_account_metadata) ... ok
test_default_database_keeps_all_account_and_metadata_behavior (test_protocol_probe_performance.ScopedDatabaseTests.test_default_database_keeps_all_account_and_metadata_behavior) ... ok
test_other_account_cache_cannot_prove_current_account_ready (test_protocol_probe_performance.ScopedDatabaseTests.test_other_account_cache_cannot_prove_current_account_ready) ... ok
test_probe_prepares_only_current_message_database_without_metadata (test_protocol_probe_performance.ScopedDatabaseTests.test_probe_prepares_only_current_message_database_without_metadata) ... ok
test_schema_check_is_preserved_in_lightweight_probe (test_protocol_probe_performance.ScopedDatabaseTests.test_schema_check_is_preserved_in_lightweight_probe) ... ok
test_unsafe_account_or_database_name_is_rejected (test_protocol_probe_performance.ScopedDatabaseTests.test_unsafe_account_or_database_name_is_rejected) ... ok
test_only_success_resumes_pending_start (test_protocol_cross_machine.GuiTests.test_only_success_resumes_pending_start) ... ok
test_saved_protocol_gets_auto_probe_and_recent_report_is_reused (test_protocol_cross_machine.GuiTests.test_saved_protocol_gets_auto_probe_and_recent_report_is_reused) ... ok
test_start_waits_without_constructing_sender (test_protocol_cross_machine.GuiTests.test_start_waits_without_constructing_sender) ... ok
test_stop_cancels_delayed_start (test_protocol_cross_machine.GuiTests.test_stop_cancels_delayed_start) ... ok
test_account_change_and_exit_during_initialization_are_blocked (test_protocol_cross_machine.ProbeTests.test_account_change_and_exit_during_initialization_are_blocked) ... ok
test_custom_install_path_needs_no_sdk (test_protocol_cross_machine.ProbeTests.test_custom_install_path_needs_no_sdk) ... ok
test_database_failure_cannot_report_ready (test_protocol_cross_machine.ProbeTests.test_database_failure_cannot_report_ready) ... ok
test_missing_database_flag_never_enables_sender (test_protocol_cross_machine.ProbeTests.test_missing_database_flag_never_enables_sender) ... ok
test_not_running_still_reports_custom_install (test_protocol_cross_machine.ProbeTests.test_not_running_still_reports_custom_install) ... ok
test_real_failure_is_visible_instead_of_sdk_message (test_protocol_cross_machine.ProbeTests.test_real_failure_is_visible_instead_of_sdk_message) ... ok
test_unsupported_version_or_architecture_does_not_access_sender (test_protocol_cross_machine.ProbeTests.test_unsupported_version_or_architecture_does_not_access_sender) ... ok
test_current_account_ignores_stale_saved_directory (test_protocol_cross_machine.StorageTests.test_current_account_ignores_stale_saved_directory) ... ok
test_encrypted_first_install_initializes_only_current_machine_keys (test_protocol_cross_machine.StorageTests.test_encrypted_first_install_initializes_only_current_machine_keys) ... ok
test_fresh_account_with_plain_db_needs_no_key_worker (test_protocol_cross_machine.StorageTests.test_fresh_account_with_plain_db_needs_no_key_worker) ... ok
test_historical_account_and_empty_sqlite_cannot_prove_readiness (test_protocol_cross_machine.StorageTests.test_historical_account_and_empty_sqlite_cannot_prove_readiness) ... ok
test_passive_check_does_not_acquire_keys (test_protocol_cross_machine.StorageTests.test_passive_check_does_not_acquire_keys) ... ok
test_registered_data_directory_takes_effect (test_protocol_cross_machine.StorageTests.test_registered_data_directory_takes_effect) ... ok
test_registry_uses_both_views_and_ignores_numeric_data_flag (test_protocol_cross_machine.StorageTests.test_registry_uses_both_views_and_ignores_numeric_data_flag) ... ok
test_root_account_data_and_file_paths_with_unicode_spaces (test_protocol_cross_machine.StorageTests.test_root_account_data_and_file_paths_with_unicode_spaces) ... ok
test_exact_hash_required_and_versions_do_not_share_layouts (test_native_builds.BuildTests.test_exact_hash_required_and_versions_do_not_share_layouts) ... ok
test_new_version_detection_reports_validation_state (test_native_builds.BuildTests.test_new_version_detection_reports_validation_state) ... ok
test_unverified_build_cannot_be_enabled_by_report_flags (test_native_builds.BuildTests.test_unverified_build_cannot_be_enabled_by_report_flags) ... ok
test_account_change_while_opening_write_handle_cancels (test_native_evidence.ClientGateTests.test_account_change_while_opening_write_handle_cancels) ... ok
test_confirmed_evidence_allows_write_after_readonly_identity_check (test_native_evidence.ClientGateTests.test_confirmed_evidence_allows_write_after_readonly_identity_check) ... ok
test_pending_build_cannot_even_acquire_write_handle_without_evidence (test_native_evidence.ClientGateTests.test_pending_build_cannot_even_acquire_write_handle_without_evidence) ... ok
test_confirmed_evidence_is_account_build_and_revision_bound (test_native_evidence.EvidenceTests.test_confirmed_evidence_is_account_build_and_revision_bound) ... ok
test_failed_incomplete_or_wrong_receipt_cannot_enable (test_native_evidence.EvidenceTests.test_failed_incomplete_or_wrong_receipt_cannot_enable) ... ok
test_no_evidence_does_not_create_database_or_enable_sending (test_native_evidence.EvidenceTests.test_no_evidence_does_not_create_database_or_enable_sending) ... ok
test_only_fixed_manual_test_with_matching_fingerprint_counts (test_native_evidence.EvidenceTests.test_only_fixed_manual_test_with_matching_fingerprint_counts) ... ok
test_probe_moves_to_ready_only_after_confirmed_journal (test_native_evidence.EvidenceTests.test_probe_moves_to_ready_only_after_confirmed_journal) ... ok
test_report_flags_and_exported_json_do_not_enable_without_journal (test_native_evidence.EvidenceTests.test_report_flags_and_exported_json_do_not_enable_without_journal) ... ok
test_cancel_during_generation_does_not_send (test_native_protocol_pipeline.EngineTests.test_cancel_during_generation_does_not_send) ... [协议收信] 同名客户 · 已加入回复队列
[协议处理] 同名客户 · 根据当前会话生成回复
ok
test_crash_in_sending_becomes_uncertain (test_native_protocol_pipeline.EngineTests.test_crash_in_sending_becomes_uncertain) ... [协议收信] 同名客户 · 已加入回复队列
ok
test_database_read_failure_never_announces_healthy_listener (test_native_protocol_pipeline.EngineTests.test_database_read_failure_never_announces_healthy_listener) ... ok
test_duplicate_event_only_sent_once (test_native_protocol_pipeline.EngineTests.test_duplicate_event_only_sent_once) ... [协议收信] 同名客户 · 已加入回复队列
[协议处理] 同名客户 · 根据当前会话生成回复
[协议处理] 同名客户 · 原账号单聊发送
[协议发送成功] 同名客户 · 服务器消息 999
ok
test_manual_reply_during_generation_cancels_send (test_native_protocol_pipeline.EngineTests.test_manual_reply_during_generation_cancels_send) ... [协议收信] 同名客户 · 已加入回复队列
[协议处理] 同名客户 · 根据当前会话生成回复
ok
test_media_is_left_for_manual_handling (test_native_protocol_pipeline.EngineTests.test_media_is_left_for_manual_handling) ... [协议收信] 同名客户 · 已加入回复队列
[协议处理] 同名客户 · 当前消息需要人工处理;当前未回复消息包含图片、语音或其他非文本内容,协议版需人工处理
ok
test_memory_setting_preserves_only_unanswered_batch_when_disabled (test_native_protocol_pipeline.EngineTests.test_memory_setting_preserves_only_unanswered_batch_when_disabled) ... ok
test_model_control_tokens_are_not_sent (test_native_protocol_pipeline.EngineTests.test_model_control_tokens_are_not_sent) ... [协议收信] 同名客户 · 已加入回复队列
[协议处理] 同名客户 · 根据当前会话生成回复
[协议处理] 同名客户 · 模型生成失败,可重试;模型未返回有效文本
ok
test_model_error_can_retry_before_send (test_native_protocol_pipeline.EngineTests.test_model_error_can_retry_before_send) ... [协议收信] 同名客户 · 已加入回复队列
[协议处理] 同名客户 · 根据当前会话生成回复
[协议处理] 同名客户 · 模型生成失败,可重试;offline
[协议处理] 同名客户 · 根据当前会话生成回复
[协议处理] 同名客户 · 原账号单聊发送
[协议发送成功] 同名客户 · 服务器消息 999
ok
test_new_incoming_during_generation_discards_old_answer (test_native_protocol_pipeline.EngineTests.test_new_incoming_during_generation_discards_old_answer) ... [协议收信] 同名客户 · 已加入回复队列
[协议处理] 同名客户 · 根据当前会话生成回复
[协议收信] 同名客户 · 已加入回复队列
ok
test_new_message_invalidates_approved_draft (test_native_protocol_pipeline.EngineTests.test_new_message_invalidates_approved_draft) ... [协议收信] 同名客户 · 已加入回复队列
[协议处理] 同名客户 · 根据当前会话生成回复
[协议处理] 同名客户 · 人工审核
[协议收信] 同名客户 · 已加入回复队列
[协议处理] 同名客户 · 根据当前会话生成回复
[协议处理] 同名客户 · 人工审核
ok
test_only_current_account_processed (test_native_protocol_pipeline.EngineTests.test_only_current_account_processed) ... ok
test_pending_batch_window_is_honored (test_native_protocol_pipeline.EngineTests.test_pending_batch_window_is_honored) ... [协议收信] 同名客户 · 已加入回复队列
ok
test_pending_review_and_errors_do_not_show_idle (test_native_protocol_pipeline.EngineTests.test_pending_review_and_errors_do_not_show_idle) ... ok
test_progress_callback_failure_does_not_repeat_or_block_send (test_native_protocol_pipeline.EngineTests.test_progress_callback_failure_does_not_repeat_or_block_send) ... [协议收信] 同名客户 · 已加入回复队列
[协议处理] 同名客户 · 根据当前会话生成回复
[协议处理] 同名客户 · 原账号单聊发送
[协议发送成功] 同名客户 · 服务器消息 999
ok
test_progress_follows_receive_generate_send_then_waiting (test_native_protocol_pipeline.EngineTests.test_progress_follows_receive_generate_send_then_waiting) ... ok
test_ready_flag_alone_cannot_enable_transport (test_native_protocol_pipeline.EngineTests.test_ready_flag_alone_cannot_enable_transport) ... ok
test_restart_after_confirmed_journal_clears_pending_without_send (test_native_protocol_pipeline.EngineTests.test_restart_after_confirmed_journal_clears_pending_without_send) ... [协议收信] 同名客户 · 已加入回复队列
ok
test_review_requires_approval (test_native_protocol_pipeline.EngineTests.test_review_requires_approval) ... [协议收信] 同名客户 · 已加入回复队列
[协议处理] 同名客户 · 根据当前会话生成回复
[协议处理] 同名客户 · 人工审核
[协议处理] 同名客户 · 原账号单聊发送
[协议发送成功] 同名客户 · 服务器消息 999
ok
test_runtime_uses_protocol_engine_without_visual_construction (test_native_protocol_pipeline.EngineTests.test_runtime_uses_protocol_engine_without_visual_construction) ... ok
test_same_name_conversations_use_distinct_ids (test_native_protocol_pipeline.EngineTests.test_same_name_conversations_use_distinct_ids) ... [协议收信] 同名客户 · 已加入回复队列
[协议收信] 同名客户 · 已加入回复队列
[协议处理] 同名客户 · 根据当前会话生成回复
[协议处理] 同名客户 · 原账号单聊发送
[协议发送成功] 同名客户 · 服务器消息 999
[协议处理] 同名客户 · 根据当前会话生成回复
[协议处理] 同名客户 · 原账号单聊发送
[协议发送成功] 同名客户 · 服务器消息 999
ok
test_stop_during_generation_does_not_send (test_native_protocol_pipeline.EngineTests.test_stop_during_generation_does_not_send) ... [协议收信] 同名客户 · 已加入回复队列
[协议处理] 同名客户 · 根据当前会话生成回复
ok
test_text_pipeline_with_native_receipt_and_no_feedback (test_native_protocol_pipeline.EngineTests.test_text_pipeline_with_native_receipt_and_no_feedback) ... [协议收信] 同名客户 · 已加入回复队列
[协议处理] 同名客户 · 根据当前会话生成回复
[协议处理] 同名客户 · 原账号单聊发送
[协议发送成功] 同名客户 · 服务器消息 999
ok
test_uncertain_send_is_persisted_and_not_retried (test_native_protocol_pipeline.EngineTests.test_uncertain_send_is_persisted_and_not_retried) ... [协议收信] 同名客户 · 已加入回复队列
[协议处理] 同名客户 · 根据当前会话生成回复
[协议处理] 同名客户 · 原账号单聊发送
[协议处理] 同名客户 · 发送结果待人工核对,已暂停监听;timeout
ok
test_unknown_receipt_is_paused_without_healthy_poll_log (test_native_protocol_pipeline.EngineTests.test_unknown_receipt_is_paused_without_healthy_poll_log) ... ok
test_waiting_progress_and_periodic_read_confirmation_are_throttled (test_native_protocol_pipeline.EngineTests.test_waiting_progress_and_periodic_read_confirmation_are_throttled) ... ok
test_cancelled_before_send_does_not_consume_id (test_native_protocol_pipeline.JournalTests.test_cancelled_before_send_does_not_consume_id) ... ok
test_changed_payload_same_event_is_blocked (test_native_protocol_pipeline.JournalTests.test_changed_payload_same_event_is_blocked) ... ok
test_failure_does_not_automatically_retry (test_native_protocol_pipeline.JournalTests.test_failure_does_not_automatically_retry) ... ok
test_invalid_text_rejected (test_native_protocol_pipeline.JournalTests.test_invalid_text_rejected) ... ok
test_missing_conversation_blocks_send (test_native_protocol_pipeline.JournalTests.test_missing_conversation_blocks_send) ... ok
test_reopen_after_success_never_resends (test_native_protocol_pipeline.JournalTests.test_reopen_after_success_never_resends) ... ok
test_success_receipt_and_repeat_returns_saved_result (test_native_protocol_pipeline.JournalTests.test_success_receipt_and_repeat_returns_saved_result) ... ok
test_unknown_blocks_retry (test_native_protocol_pipeline.JournalTests.test_unknown_blocks_retry) ... ok
test_wrong_account_rejected_before_journaling_or_send (test_native_protocol_pipeline.JournalTests.test_wrong_account_rejected_before_journaling_or_send) ... ok
test_bad_or_oversized_history_is_ignored (test_wecom_native_protocol.NativeHistoryTest.test_bad_or_oversized_history_is_ignored) ... ok
test_different_business_results_do_not_imply_open_access (test_wecom_native_protocol.NativeHistoryTest.test_different_business_results_do_not_imply_open_access) ... ok
test_history_cannot_enable_sender_or_export_unknown_fields (test_wecom_native_protocol.NativeHistoryTest.test_history_cannot_enable_sender_or_export_unknown_fields) ... ok
test_version_mismatch_remains_explicit (test_wecom_native_protocol.NativeHistoryTest.test_version_mismatch_remains_explicit) ... ok
test_actual_gray_error_nested_inside_http_200 (test_wecom_native_protocol.NativeReplyTest.test_actual_gray_error_nested_inside_http_200) ... ok
test_error_text_is_not_exposed (test_wecom_native_protocol.NativeReplyTest.test_error_text_is_not_exposed) ... ok
test_incomplete_transport_wrong_id_and_malformed_json_are_rejected (test_wecom_native_protocol.NativeReplyTest.test_incomplete_transport_wrong_id_and_malformed_json_are_rejected) ... ok
test_initialize_and_tools_list_are_transport_results_only (test_wecom_native_protocol.NativeReplyTest.test_initialize_and_tools_list_are_transport_results_only) ... ok
test_nested_malformed_response_and_depth_are_bounded (test_wecom_native_protocol.NativeReplyTest.test_nested_malformed_response_and_depth_are_bounded) ... ok
test_outer_and_tool_errors_are_never_success (test_wecom_native_protocol.NativeReplyTest.test_outer_and_tool_errors_are_never_success) ... ok
test_actual_web_page_protocol_state_buttons_and_visual_return (test_protocol_features.ProtocolGuiTest.test_actual_web_page_protocol_state_buttons_and_visual_return) ... ok
test_detection_state_keeps_binary_paths_out_of_web_payload (test_protocol_features.ProtocolGuiTest.test_detection_state_keeps_binary_paths_out_of_web_payload) ... ok
test_probe_worker_coalesces_clicks_and_delivers_failures (test_protocol_features.ProtocolGuiTest.test_probe_worker_coalesces_clicks_and_delivers_failures) ... ok
test_qt_and_classic_keep_protocol_even_when_other_settings_are_corrupt (test_protocol_features.ProtocolGuiTest.test_qt_and_classic_keep_protocol_even_when_other_settings_are_corrupt) ... ok
test_qt_persists_transport_and_restores_memory_after_disk_failure (test_protocol_features.ProtocolGuiTest.test_qt_persists_transport_and_restores_memory_after_disk_failure) ... ok
test_qt_protocol_start_passes_transport_to_background_thread (test_protocol_features.ProtocolGuiTest.test_qt_protocol_start_passes_transport_to_background_thread) ... ok
test_transport_change_is_saved_and_rejected_while_running (test_protocol_features.ProtocolGuiTest.test_transport_change_is_saved_and_rejected_while_running) ... ok
test_duplicate_names_and_server_ids_remain_isolated_by_exact_account_conversation (test_protocol_features.ProtocolIdContextTest.test_duplicate_names_and_server_ids_remain_isolated_by_exact_account_conversation) ... ok
test_missing_account_unknown_conversation_and_group_never_guess (test_protocol_features.ProtocolIdContextTest.test_missing_account_unknown_conversation_and_group_never_guess) ... ok
test_atomic_export_does_not_destroy_existing_report_on_failure (test_protocol_features.ProtocolProbeTest.test_atomic_export_does_not_destroy_existing_report_on_failure) ... ok
test_installed_client_and_bundled_sdk_never_imply_send_or_login (test_protocol_features.ProtocolProbeTest.test_installed_client_and_bundled_sdk_never_imply_send_or_login) ... ok
test_no_client_and_inaccessible_client (test_protocol_features.ProtocolProbeTest.test_no_client_and_inaccessible_client) ... ok
test_pe_architecture_and_corrupt_header (test_protocol_features.ProtocolProbeTest.test_pe_architecture_and_corrupt_header) ... ok
test_database_failure_is_propagated_and_request_identity_includes_limit (test_protocol_features.ProtocolRoutingTest.test_database_failure_is_propagated_and_request_identity_includes_limit) ... ok
test_invalid_explicit_transport_never_defaults_to_visual (test_protocol_features.ProtocolRoutingTest.test_invalid_explicit_transport_never_defaults_to_visual) ... ok
test_protocol_start_never_constructs_visual_sender_even_with_true_flag (test_protocol_features.ProtocolRoutingTest.test_protocol_start_never_constructs_visual_sender_even_with_true_flag) ... ok
test_context_failure_returns_none_and_can_recover (test_database_reply_priority.BackgroundDatabaseTests.test_context_failure_returns_none_and_can_recover) ... ok
test_polling_during_retry_cooldown_does_not_extend_it (test_database_reply_priority.BackgroundDatabaseTests.test_polling_during_retry_cooldown_does_not_extend_it) ... ok
test_slow_key_setup_does_not_block_and_late_poll_result_is_retained (test_database_reply_priority.BackgroundDatabaseTests.test_slow_key_setup_does_not_block_and_late_poll_result_is_retained) ... ok
test_active_task_receives_followup_instead_of_only_merging_tag (test_database_reply_priority.DatabaseDetectionTests.test_active_task_receives_followup_instead_of_only_merging_tag) ... [引擎B] 已登记新消息 → 客户甲
[引擎B] 已登记新消息 → 客户甲
ok
test_duplicate_message_and_ambiguous_name_are_not_queued (test_database_reply_priority.DatabaseDetectionTests.test_duplicate_message_and_ambiguous_name_are_not_queued) ... [引擎B] 已登记新消息 → 客户甲
ok
test_failed_enqueue_is_retried_without_new_database_row (test_database_reply_priority.DatabaseDetectionTests.test_failed_enqueue_is_retried_without_new_database_row) ... [引擎B] [!] 投递未执行: busy
[引擎B] 已登记新消息 → 客户甲
ok
test_last_outgoing_is_not_queued_and_failure_changes_health (test_database_reply_priority.DatabaseDetectionTests.test_last_outgoing_is_not_queued_and_failure_changes_health) ... [引擎B] DB 直读失败: unreadable,备用检测继续运行
ok
test_accounts_keep_independent_cursors_and_accept_late_writes (test_database_reply_priority.DatabaseFixture.test_accounts_keep_independent_cursors_and_accept_late_writes) ... ok
test_closed_database_reports_failure (test_database_reply_priority.DatabaseFixture.test_closed_database_reports_failure) ... ok
test_context_has_sender_direction_and_media_placeholder (test_database_reply_priority.DatabaseFixture.test_context_has_sender_direction_and_media_placeholder) ... ok
test_cross_thread_reads_and_wal_only_messages (test_database_reply_priority.DatabaseFixture.test_cross_thread_reads_and_wal_only_messages) ... ok
test_duplicate_titles_never_select_another_account (test_database_reply_priority.DatabaseFixture.test_duplicate_titles_never_select_another_account) ... ok
test_initial_history_boundary_ms_and_new_account (test_database_reply_priority.DatabaseFixture.test_initial_history_boundary_ms_and_new_account) ... ok
test_large_batch_and_same_second_insertion_do_not_skip (test_database_reply_priority.DatabaseFixture.test_large_batch_and_same_second_insertion_do_not_skip) ... ok
test_schema_failure_does_not_advance_valid_account_cursor (test_database_reply_priority.DatabaseFixture.test_schema_failure_does_not_advance_valid_account_cursor) ... ok
test_service_reconnect_preserves_consumed_database_rows (test_database_reply_priority.DatabaseFixture.test_service_reconnect_preserves_consumed_database_rows) ... ok
test_actual_generation_uses_database_text_without_clipboard_or_remote_vision (test_database_reply_priority.PriorityReplyTests.test_actual_generation_uses_database_text_without_clipboard_or_remote_vision) ... [档案] 首次遇到该会话,已暂存(2 行可见历史)
[档案] 旧会话档案归属无法唯一证明,已保留但不会自动用于当前会话。
[AI] 本次提取的新内容:
客户甲 2026/09/14 10:00:00
你好
[AI] 回复内容: 有什么可以帮您?
ok
test_ambiguous_or_unverified_database_names_cannot_map_visual_contacts (test_database_reply_priority.PriorityReplyTests.test_ambiguous_or_unverified_database_names_cannot_map_visual_contacts) ... ok
test_current_database_context_overrides_stale_pre_copied_text (test_database_reply_priority.PriorityReplyTests.test_current_database_context_overrides_stale_pre_copied_text) ... [档案] 首次遇到该会话,已建档(2 行可见历史)
ok
test_database_direction_beats_old_visible_outgoing_bubble (test_database_reply_priority.PriorityReplyTests.test_database_direction_beats_old_visible_outgoing_bubble) ... ok
test_database_event_merges_into_existing_external_visual_task (test_database_reply_priority.PriorityReplyTests.test_database_event_merges_into_existing_external_visual_task) ... ok
test_database_success_never_touches_clipboard_or_geometry (test_database_reply_priority.PriorityReplyTests.test_database_success_never_touches_clipboard_or_geometry) ... ok
test_empty_database_uses_copy_fallback (test_database_reply_priority.PriorityReplyTests.test_empty_database_uses_copy_fallback) ... [档案] 首次遇到该会话,已建档(1 行可见历史)
ok
test_external_label_maps_to_unique_database_task_without_changing_hashes (test_database_reply_priority.PriorityReplyTests.test_external_label_maps_to_unique_database_task_without_changing_hashes) ... ok
test_failed_active_task_yields_to_new_customer (test_database_reply_priority.PriorityReplyTests.test_failed_active_task_yields_to_new_customer) ... ok
test_followup_invalidates_reply_generated_for_old_message (test_database_reply_priority.PriorityReplyTests.test_followup_invalidates_reply_generated_for_old_message) ... ok
test_followup_preserves_inflight_stage_and_wakes_worker (test_database_reply_priority.PriorityReplyTests.test_followup_preserves_inflight_stage_and_wakes_worker) ... ok
test_new_message_arriving_before_send_rejects_stale_reply (test_database_reply_priority.PriorityReplyTests.test_new_message_arriving_before_send_rejects_stale_reply) ... ok
test_new_task_does_not_bind_foreground_identity (test_database_reply_priority.PriorityReplyTests.test_new_task_does_not_bind_foreground_identity) ... ok
test_uncertain_send_is_not_reset_by_followup (test_database_reply_priority.PriorityReplyTests.test_uncertain_send_is_not_reset_by_followup) ... ok
test_wrong_title_or_missing_latest_id_does_not_use_database (test_database_reply_priority.PriorityReplyTests.test_wrong_title_or_missing_latest_id_does_not_use_database) ... ok
test_bad_rows_do_not_crash_context_or_skip_later_valid_messages (test_database_timestamp_audit.DatabaseTimestampAudit.test_bad_rows_do_not_crash_context_or_skip_later_valid_messages) ... ok
test_nonfinite_timestamps_are_not_messages (test_database_timestamp_audit.DatabaseTimestampAudit.test_nonfinite_timestamps_are_not_messages) ... ok
test_out_of_range_timestamps_are_not_messages (test_database_timestamp_audit.DatabaseTimestampAudit.test_out_of_range_timestamps_are_not_messages) ... ok
test_seconds_and_milliseconds_preserve_chronology (test_database_timestamp_audit.DatabaseTimestampAudit.test_seconds_and_milliseconds_preserve_chronology) ... ok
test_cloud_failure_is_recorded_for_retry (test_archive_upload_flow.ArchiveUploadFlowTest.test_cloud_failure_is_recorded_for_retry) ... ok
test_desktop_keys_allow_upload_without_legacy_key_file (test_archive_upload_flow.ArchiveUploadFlowTest.test_desktop_keys_allow_upload_without_legacy_key_file) ... ok
test_disabled_cloud_policy_never_launches_upload (test_archive_upload_flow.ArchiveUploadFlowTest.test_disabled_cloud_policy_never_launches_upload) ... ok
test_disabled_policy_overrides_old_success (test_archive_upload_flow.ArchiveUploadFlowTest.test_disabled_policy_overrides_old_success) ... ok
test_encrypted_database_to_cloud_client_and_checkpoint (test_archive_upload_flow.ArchiveUploadFlowTest.test_encrypted_database_to_cloud_client_and_checkpoint) ... [引擎B] 已登记新消息 → test
ok
test_installed_build_ignores_stale_override (test_archive_upload_flow.ArchiveUploadFlowTest.test_installed_build_ignores_stale_override) ... ok
test_key_acquisition_failure_is_recorded_without_upload (test_archive_upload_flow.ArchiveUploadFlowTest.test_key_acquisition_failure_is_recorded_without_upload) ... ok
test_missing_keys_are_acquired_once_then_decryption_retried (test_archive_upload_flow.ArchiveUploadFlowTest.test_missing_keys_are_acquired_once_then_decryption_retried) ... ok
test_source_local_legacy_port_fallback (test_archive_upload_flow.ArchiveUploadFlowTest.test_source_local_legacy_port_fallback) ... ok
test_source_retains_explicit_development_endpoint (test_archive_upload_flow.ArchiveUploadFlowTest.test_source_retains_explicit_development_endpoint) ... ok
test_source_uses_configured_cloud_without_local_fallback (test_archive_upload_flow.ArchiveUploadFlowTest.test_source_uses_configured_cloud_without_local_fallback) ... ok
test_startup_uploads_immediately_then_respects_interval (test_archive_upload_flow.ArchiveUploadFlowTest.test_startup_uploads_immediately_then_respects_interval) ... ok
test_status_handles_missing_and_malformed_file (test_archive_upload_flow.ArchiveUploadFlowTest.test_status_handles_missing_and_malformed_file) ... ok
test_status_removes_signed_storage_url_query (test_archive_upload_flow.ArchiveUploadFlowTest.test_status_removes_signed_storage_url_query) ... ok
test_status_shows_success_and_running_without_raw_fields (test_archive_upload_flow.ArchiveUploadFlowTest.test_status_shows_success_and_running_without_raw_fields) ... ok
----------------------------------------------------------------------
Ran 263 tests in 13.052s
OK