242 lines
37 KiB
Plaintext
242 lines
37 KiB
Plaintext
test_programming_error_is_visible_and_does_not_terminate_visual_listener (test_listener_continuity.ListenerContinuityTests.test_programming_error_is_visible_and_does_not_terminate_visual_listener) ... ok
|
||
test_recovery_backoff_is_bounded_and_repeated_errors_do_not_flood_logs (test_listener_continuity.ListenerContinuityTests.test_recovery_backoff_is_bounded_and_repeated_errors_do_not_flood_logs) ... ok
|
||
test_user_stop_interrupts_connection_backoff_without_polling (test_listener_continuity.ListenerContinuityTests.test_user_stop_interrupts_connection_backoff_without_polling) ... ok
|
||
test_verification_capture_failure_keeps_guard_and_no_further_polls (test_listener_continuity.ListenerContinuityTests.test_verification_capture_failure_keeps_guard_and_no_further_polls) ... ok
|
||
test_verification_requires_consecutive_clean_captures (test_listener_continuity.ListenerContinuityTests.test_verification_requires_consecutive_clean_captures) ... ok
|
||
test_verification_resumes_only_after_two_clean_workspace_captures (test_listener_continuity.ListenerContinuityTests.test_verification_resumes_only_after_two_clean_workspace_captures) ... ok
|
||
test_visual_initial_connection_waits_then_recovers (test_listener_continuity.ListenerContinuityTests.test_visual_initial_connection_waits_then_recovers) ... ok
|
||
test_visual_temporary_poll_failure_recovers_same_bot_and_preserves_protected_state (test_listener_continuity.ListenerContinuityTests.test_visual_temporary_poll_failure_recovers_same_bot_and_preserves_protected_state) ... ok
|
||
test_attention_does_not_stop_listener_or_clear_review_and_delivery_protection (test_listener_continuity.ProtocolListenerContinuityTests.test_attention_does_not_stop_listener_or_clear_review_and_delivery_protection) ... ok
|
||
test_protocol_database_errors_retry_same_account_bot_without_reconstruction (test_listener_continuity.ProtocolListenerContinuityTests.test_protocol_database_errors_retry_same_account_bot_without_reconstruction) ... ok
|
||
test_protocol_startup_unavailable_waits_without_polling_then_recovers (test_listener_continuity.ProtocolListenerContinuityTests.test_protocol_startup_unavailable_waits_without_polling_then_recovers) ... ok
|
||
test_stop_during_protocol_backoff_closes_resources_and_never_repolls (test_listener_continuity.ProtocolListenerContinuityTests.test_stop_during_protocol_backoff_closes_resources_and_never_repolls) ... ok
|
||
test_stop_during_unsupported_build_wait_never_constructs_bot (test_listener_continuity.ProtocolListenerContinuityTests.test_stop_during_unsupported_build_wait_never_constructs_bot) ... ok
|
||
test_unsupported_build_waits_and_never_constructs_sender_until_preflight_passes (test_listener_continuity.ProtocolListenerContinuityTests.test_unsupported_build_waits_and_never_constructs_sender_until_preflight_passes) ... ok
|
||
test_capsule_preserves_verification_progress (test_listener_ui_continuity.ListenerUIContinuityTests.test_capsule_preserves_verification_progress) ... ok
|
||
test_explicit_stop_still_finishes_worker (test_listener_ui_continuity.ListenerUIContinuityTests.test_explicit_stop_still_finishes_worker) ... ok
|
||
test_protocol_task_attention_does_not_disconnect_healthy_listener (test_listener_ui_continuity.ListenerUIContinuityTests.test_protocol_task_attention_does_not_disconnect_healthy_listener) ... ok
|
||
test_recoverable_wait_does_not_mark_queue_as_stopped (test_listener_ui_continuity.ListenerUIContinuityTests.test_recoverable_wait_does_not_mark_queue_as_stopped) ... ok
|
||
test_sidebar_waiting_keeps_stop_button_active (test_listener_ui_continuity.ListenerUIContinuityTests.test_sidebar_waiting_keeps_stop_button_active) ... ok
|
||
test_waiting_states_keep_running_and_stop_control_available (test_listener_ui_continuity.ListenerUIContinuityTests.test_waiting_states_keep_running_and_stop_control_available) ... ok
|
||
test_web_labels_distinguish_waiting_from_stopped (test_listener_ui_continuity.ListenerUIContinuityTests.test_web_labels_distinguish_waiting_from_stopped) ... ok
|
||
test_database_poll_failure_recovers_without_recreating_pending_tasks (test_listener_continuity_integration.ListenerContinuityIntegrationTests.test_database_poll_failure_recovers_without_recreating_pending_tasks) ... ok
|
||
test_receipt_unknown_and_review_do_not_stop_other_conversations (test_listener_continuity_integration.ListenerContinuityIntegrationTests.test_receipt_unknown_and_review_do_not_stop_other_conversations) ... ok
|
||
test_database_wide_failure_propagates_without_healthy_claim_or_send (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_database_wide_failure_propagates_without_healthy_claim_or_send) ... ok
|
||
test_explicit_pre_send_unavailable_stays_error_and_peers_continue (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_explicit_pre_send_unavailable_stays_error_and_peers_continue) ... ok
|
||
test_foreign_account_task_cannot_send_while_current_account_continues (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_foreign_account_task_cannot_send_while_current_account_continues) ... ok
|
||
test_generation_error_does_not_stop_another_conversation (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_generation_error_does_not_stop_another_conversation) ... ok
|
||
test_malformed_message_row_does_not_drop_valid_rows (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_malformed_message_row_does_not_drop_valid_rows) ... ok
|
||
test_malformed_task_timing_does_not_block_peers (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_malformed_task_timing_does_not_block_peers) ... ok
|
||
test_media_manual_handling_only_blocks_its_own_conversation (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_media_manual_handling_only_blocks_its_own_conversation) ... ok
|
||
test_new_messages_and_contact_notices_cannot_replace_unknown_send (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_new_messages_and_contact_notices_cannot_replace_unknown_send) ... ok
|
||
test_pending_review_only_blocks_its_own_conversation (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_pending_review_only_blocks_its_own_conversation) ... ok
|
||
test_restart_keeps_unknown_and_failed_tasks_isolated (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_restart_keeps_unknown_and_failed_tasks_isolated) ... ok
|
||
test_sending_persistence_error_preserves_no_replay_and_peer_processing (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_sending_persistence_error_preserves_no_replay_and_peer_processing) ... ok
|
||
test_task_context_read_error_is_recorded_without_stopping_peers (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_task_context_read_error_is_recorded_without_stopping_peers) ... ok
|
||
test_unexpected_sender_exception_is_unknown_not_automatic_retry (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_unexpected_sender_exception_is_unknown_not_automatic_retry) ... ok
|
||
test_unknown_receipt_does_not_stop_same_poll_or_future_peer_tasks (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_unknown_receipt_does_not_stop_same_poll_or_future_peer_tasks) ... ok
|
||
test_activation_before_primary_acquires_is_not_lost (test_desktop_instance.DesktopInstanceTests.test_activation_before_primary_acquires_is_not_lost) ... ok
|
||
test_activation_survives_sender_exit_and_waits_for_ui (test_desktop_instance.DesktopInstanceTests.test_activation_survives_sender_exit_and_waits_for_ui) ... ok
|
||
test_clean_exit_allows_existing_contender_to_take_over (test_desktop_instance.DesktopInstanceTests.test_clean_exit_allows_existing_contender_to_take_over) ... ok
|
||
test_close_on_wrong_thread_preserves_live_primary (test_desktop_instance.DesktopInstanceTests.test_close_on_wrong_thread_preserves_live_primary) ... ok
|
||
test_closed_guard_is_idempotent_but_cannot_reopen (test_desktop_instance.DesktopInstanceTests.test_closed_guard_is_idempotent_but_cannot_reopen) ... ok
|
||
test_closing_secondary_keeps_owner_exclusive (test_desktop_instance.DesktopInstanceTests.test_closing_secondary_keeps_owner_exclusive) ... ok
|
||
test_different_test_namespaces_do_not_interfere (test_desktop_instance.DesktopInstanceTests.test_different_test_namespaces_do_not_interfere) ... ok
|
||
test_killed_owner_releases_mutex_even_with_secondary_handle_open (test_desktop_instance.DesktopInstanceTests.test_killed_owner_releases_mutex_even_with_secondary_handle_open) ... ok
|
||
test_multiple_clicks_coalesce_and_secondary_cannot_steal_event (test_desktop_instance.DesktopInstanceTests.test_multiple_clicks_coalesce_and_secondary_cannot_steal_event) ... ok
|
||
test_mutex_creation_failure_is_not_treated_as_primary (test_desktop_instance.DesktopInstanceTests.test_mutex_creation_failure_is_not_treated_as_primary) ... ok
|
||
test_other_working_directory_uses_same_identity (test_desktop_instance.DesktopInstanceTests.test_other_working_directory_uses_same_identity) ... ok
|
||
test_same_thread_second_guard_cannot_recursively_become_primary (test_desktop_instance.DesktopInstanceTests.test_same_thread_second_guard_cannot_recursively_become_primary) ... ok
|
||
test_six_concurrent_processes_elect_exactly_one_primary (test_desktop_instance.DesktopInstanceTests.test_six_concurrent_processes_elect_exactly_one_primary) ... ok
|
||
test_windows_handle_signatures_are_pointer_sized (test_desktop_instance.DesktopInstanceTests.test_windows_handle_signatures_are_pointer_sized) ... ok
|
||
test_activation_is_polled_on_tk_ui_thread (test_classic_instance.ClassicInstanceTests.test_activation_is_polled_on_tk_ui_thread) ... ok
|
||
test_guard_constructor_failure_is_visible_and_does_not_launch (test_classic_instance.ClassicInstanceTests.test_guard_constructor_failure_is_visible_and_does_not_launch) ... ok
|
||
test_primary_holds_guard_until_session_returns (test_classic_instance.ClassicInstanceTests.test_primary_holds_guard_until_session_returns) ... ok
|
||
test_rejected_update_does_not_create_main_window (test_classic_instance.ClassicInstanceTests.test_rejected_update_does_not_create_main_window) ... ok
|
||
test_secondary_only_activates_existing_instance (test_classic_instance.ClassicInstanceTests.test_secondary_only_activates_existing_instance) ... ok
|
||
test_startup_failure_still_releases_guard (test_classic_instance.ClassicInstanceTests.test_startup_failure_still_releases_guard) ... ok
|
||
test_activation_waits_until_ui_exists (test_qt_tray_lifecycle.InstanceActivationTest.test_activation_waits_until_ui_exists) ... ok
|
||
test_guard_constructor_failure_is_reported_without_login (test_qt_tray_lifecycle.InstanceActivationTest.test_guard_constructor_failure_is_reported_without_login) ... ok
|
||
test_guard_failure_never_starts_unguarded_client (test_qt_tray_lifecycle.InstanceActivationTest.test_guard_failure_never_starts_unguarded_client) ... ok
|
||
test_login_modal_activated_before_main_window (test_qt_tray_lifecycle.InstanceActivationTest.test_login_modal_activated_before_main_window) ... ok
|
||
test_no_signal_does_not_change_window (test_qt_tray_lifecycle.InstanceActivationTest.test_no_signal_does_not_change_window) ... ok
|
||
test_packaging_selfcheck_does_not_contact_real_instance (test_qt_tray_lifecycle.InstanceActivationTest.test_packaging_selfcheck_does_not_contact_real_instance) ... ok
|
||
test_primary_enters_session_and_releases_guard (test_qt_tray_lifecycle.InstanceActivationTest.test_primary_enters_session_and_releases_guard) ... ok
|
||
test_secondary_does_not_enter_login_or_construct_main_window (test_qt_tray_lifecycle.InstanceActivationTest.test_secondary_does_not_enter_login_or_construct_main_window) ... ok
|
||
test_session_exception_releases_guard (test_qt_tray_lifecycle.InstanceActivationTest.test_session_exception_releases_guard) ... ok
|
||
test_smoke_test_does_not_contact_real_instance (test_qt_tray_lifecycle.InstanceActivationTest.test_smoke_test_does_not_contact_real_instance) ... ok
|
||
test_about_to_quit_is_wired_to_cleanup (test_qt_tray_lifecycle.TrayLifecycleTest.test_about_to_quit_is_wired_to_cleanup) ... ok
|
||
test_application_quit_marks_window_for_real_close (test_qt_tray_lifecycle.TrayLifecycleTest.test_application_quit_marks_window_for_real_close) ... ok
|
||
test_capsule_closes_to_tray_and_restores_original_geometry (test_qt_tray_lifecycle.TrayLifecycleTest.test_capsule_closes_to_tray_and_restores_original_geometry) ... ok
|
||
test_cleanup_stops_listener_and_backup_once (test_qt_tray_lifecycle.TrayLifecycleTest.test_cleanup_stops_listener_and_backup_once) ... ok
|
||
test_console_interrupt_uses_real_exit_not_window_close (test_qt_tray_lifecycle.TrayLifecycleTest.test_console_interrupt_uses_real_exit_not_window_close) ... ok
|
||
test_exit_menu_bypasses_close_to_tray (test_qt_tray_lifecycle.TrayLifecycleTest.test_exit_menu_bypasses_close_to_tray) ... ok
|
||
test_explicit_disable_close_to_tray_quits (test_qt_tray_lifecycle.TrayLifecycleTest.test_explicit_disable_close_to_tray_quits) ... ok
|
||
test_forced_relogin_restores_tray_hidden_web_surface (test_qt_tray_lifecycle.TrayLifecycleTest.test_forced_relogin_restores_tray_hidden_web_surface) ... ok
|
||
test_no_tray_fallback_restores_capsule_hidden_surfaces (test_qt_tray_lifecycle.TrayLifecycleTest.test_no_tray_fallback_restores_capsule_hidden_surfaces) ... ok
|
||
test_no_tray_falls_back_to_taskbar_even_when_running (test_qt_tray_lifecycle.TrayLifecycleTest.test_no_tray_falls_back_to_taskbar_even_when_running) ... ok
|
||
test_repeated_activation_keeps_current_visible_geometry (test_qt_tray_lifecycle.TrayLifecycleTest.test_repeated_activation_keeps_current_visible_geometry) ... ok
|
||
test_running_status_does_not_reopen_capsule_after_tray_close (test_qt_tray_lifecycle.TrayLifecycleTest.test_running_status_does_not_reopen_capsule_after_tray_close) ... ok
|
||
test_running_window_closes_to_tray_without_capsule_or_stop (test_qt_tray_lifecycle.TrayLifecycleTest.test_running_window_closes_to_tray_without_capsule_or_stop) ... ok
|
||
test_save_failure_does_not_prevent_worker_shutdown (test_qt_tray_lifecycle.TrayLifecycleTest.test_save_failure_does_not_prevent_worker_shutdown) ... ok
|
||
test_single_and_double_click_restore_but_context_menu_does_not (test_qt_tray_lifecycle.TrayLifecycleTest.test_single_and_double_click_restore_but_context_menu_does_not) ... ok
|
||
test_stopped_window_closes_to_tray_without_stopping_worker (test_qt_tray_lifecycle.TrayLifecycleTest.test_stopped_window_closes_to_tray_without_stopping_worker) ... ok
|
||
test_system_logoff_does_not_close_to_tray (test_qt_tray_lifecycle.TrayLifecycleTest.test_system_logoff_does_not_close_to_tray) ... ok
|
||
test_taskbar_native_restore_clears_fallback_mode (test_qt_tray_lifecycle.TrayLifecycleTest.test_taskbar_native_restore_clears_fallback_mode) ... ok
|
||
test_tray_menu_has_explicit_open_and_exit_actions (test_qt_tray_lifecycle.TrayLifecycleTest.test_tray_menu_has_explicit_open_and_exit_actions) ... ok
|
||
test_tray_restore_preserves_maximized_window (test_qt_tray_lifecycle.TrayLifecycleTest.test_tray_restore_preserves_maximized_window) ... ok
|
||
test_tray_restore_reopens_without_restarting_listener (test_qt_tray_lifecycle.TrayLifecycleTest.test_tray_restore_reopens_without_restarting_listener) ... ok
|
||
test_tray_setting_outweighs_legacy_keep_background_false (test_qt_tray_lifecycle.TrayLifecycleTest.test_tray_setting_outweighs_legacy_keep_background_false) ... ok
|
||
test_a_long_nickname_is_shortened_instead_of_overflowing (test_qt_capsule.CapsuleWindowTest.test_a_long_nickname_is_shortened_instead_of_overflowing) ... ok
|
||
test_compact_layout_has_no_horizontal_overlap (test_qt_capsule.CapsuleWindowTest.test_compact_layout_has_no_horizontal_overlap) ... ok
|
||
test_running_keeps_the_progress_line_alone (test_qt_capsule.CapsuleWindowTest.test_running_keeps_the_progress_line_alone) ... ok
|
||
test_running_replaces_stale_connection_or_window_waiting_progress (test_qt_capsule.CapsuleWindowTest.test_running_replaces_stale_connection_or_window_waiting_progress) ... ok
|
||
test_running_without_a_task_still_shows_a_real_process (test_qt_capsule.CapsuleWindowTest.test_running_without_a_task_still_shows_a_real_process) ... ok
|
||
test_status_copy_and_actions_remain_connected (test_qt_capsule.CapsuleWindowTest.test_status_copy_and_actions_remain_connected) ... ok
|
||
test_stopping_clears_a_stale_progress_line (test_qt_capsule.CapsuleWindowTest.test_stopping_clears_a_stale_progress_line) ... ok
|
||
test_the_progress_line_says_who_is_being_answered (test_qt_capsule.CapsuleWindowTest.test_the_progress_line_says_who_is_being_answered) ... ok
|
||
test_the_timer_sits_above_the_full_width_progress_line (test_qt_capsule.CapsuleWindowTest.test_the_timer_sits_above_the_full_width_progress_line) ... ok
|
||
test_timer_and_longest_copy_fit_their_widgets (test_qt_capsule.CapsuleWindowTest.test_timer_and_longest_copy_fit_their_widgets) ... ok
|
||
test_window_flags_and_position_keep_capsule_non_intrusive (test_qt_capsule.CapsuleWindowTest.test_window_flags_and_position_keep_capsule_non_intrusive) ... ok
|
||
test_entering_capsule_twice_is_harmless (test_qt_capsule.MainWindowMinimizeTest.test_entering_capsule_twice_is_harmless) ... ok
|
||
test_minimize_from_maximized_restores_maximized_console (test_qt_capsule.MainWindowMinimizeTest.test_minimize_from_maximized_restores_maximized_console) ... ok
|
||
test_minimize_while_running_switches_to_capsule_and_can_expand (test_qt_capsule.MainWindowMinimizeTest.test_minimize_while_running_switches_to_capsule_and_can_expand) ... ok
|
||
test_minimize_while_stopped_keeps_normal_taskbar_behavior (test_qt_capsule.MainWindowMinimizeTest.test_minimize_while_stopped_keeps_normal_taskbar_behavior) ... ok
|
||
test_starting_the_listener_switches_to_capsule_by_itself (test_qt_capsule.MainWindowMinimizeTest.test_starting_the_listener_switches_to_capsule_by_itself)
|
||
开始监听就收进胶囊:控制台不该挡在企业微信前面。 ... ok
|
||
test_delete_action_emits_the_full_untruncated_task_key (test_qt_capsule.QueuePageDeleteTest.test_delete_action_emits_the_full_untruncated_task_key) ... ok
|
||
test_retry_action_emits_only_a_real_retry_wait_task (test_qt_capsule.QueuePageDeleteTest.test_retry_action_emits_only_a_real_retry_wait_task) ... ok
|
||
test_builtin_risk_categories_are_read_only_and_rule_management_emits (test_qt_capsule.SettingsSendModeTest.test_builtin_risk_categories_are_read_only_and_rule_management_emits) ... ok
|
||
test_mode_buttons_are_exclusive_reflect_settings_and_emit_values (test_qt_capsule.SettingsSendModeTest.test_mode_buttons_are_exclusive_reflect_settings_and_emit_values) ... ok
|
||
test_rule_management_navigation_targets_ai_security_policy (test_qt_capsule.SettingsSendModeTest.test_rule_management_navigation_targets_ai_security_policy) ... ok
|
||
test_window_redetection_reports_the_real_detected_handle (test_qt_capsule.SettingsSendModeTest.test_window_redetection_reports_the_real_detected_handle) ... ok
|
||
test_clicking_the_orb_toggles_the_same_way (test_qt_capsule.SidebarMonitorToggleTest.test_clicking_the_orb_toggles_the_same_way) ... ok
|
||
test_clicking_the_status_text_starts_the_listener (test_qt_capsule.SidebarMonitorToggleTest.test_clicking_the_status_text_starts_the_listener) ... ok
|
||
test_clicking_the_status_text_while_running_pauses (test_qt_capsule.SidebarMonitorToggleTest.test_clicking_the_status_text_while_running_pauses) ... ok
|
||
test_intermediate_states_count_as_running (test_qt_capsule.SidebarMonitorToggleTest.test_intermediate_states_count_as_running) ... ok
|
||
test_one_click_never_fires_both_signals (test_qt_capsule.SidebarMonitorToggleTest.test_one_click_never_fires_both_signals)
|
||
旧实现每次都 disconnect 再 connect;少断一次就会自相抵消。 ... ok
|
||
test_the_tooltip_says_what_the_click_will_do (test_qt_capsule.SidebarMonitorToggleTest.test_the_tooltip_says_what_the_click_will_do) ... ok
|
||
test_customer_parentheses_and_personal_wechat_title_are_not_groups (test_reply_session_policy.SessionPolicyTests.test_customer_parentheses_and_personal_wechat_title_are_not_groups) ... ok
|
||
test_exact_application_titles_include_spacing_variants (test_reply_session_policy.SessionPolicyTests.test_exact_application_titles_include_spacing_variants) ... ok
|
||
test_explicit_member_units_identify_group_header (test_reply_session_policy.SessionPolicyTests.test_explicit_member_units_identify_group_header) ... ok
|
||
test_explicit_metadata_and_nested_db_event_are_supported (test_reply_session_policy.SessionPolicyTests.test_explicit_metadata_and_nested_db_event_are_supported) ... ok
|
||
test_false_string_and_single_chat_types_do_not_block_customers (test_reply_session_policy.SessionPolicyTests.test_false_string_and_single_chat_types_do_not_block_customers) ... ok
|
||
test_list_unread_count_or_word_group_is_insufficient (test_reply_session_policy.SessionPolicyTests.test_list_unread_count_or_word_group_is_insufficient) ... ok
|
||
test_message_text_and_other_people_names_are_not_filters (test_reply_session_policy.SessionPolicyTests.test_message_text_and_other_people_names_are_not_filters) ... ok
|
||
test_opened_title_has_additional_member_count (test_reply_session_policy.SessionPolicyTests.test_opened_title_has_additional_member_count) ... ok
|
||
test_structured_group_ids_are_skipped (test_reply_session_policy.SessionPolicyTests.test_structured_group_ids_are_skipped) ... ok
|
||
test_context_reloaded_for_generation_can_exclude_group (test_protocol_session_exclusions.ProtocolSessionExclusions.test_context_reloaded_for_generation_can_exclude_group) ... ok
|
||
test_database_existing_direct_filter_rejects_group_before_content_read (test_protocol_session_exclusions.ProtocolSessionExclusions.test_database_existing_direct_filter_rejects_group_before_content_read) ... ok
|
||
test_duplicate_excluded_event_does_not_rewrite_queue_or_repeat_log (test_protocol_session_exclusions.ProtocolSessionExclusions.test_duplicate_excluded_event_does_not_rewrite_queue_or_repeat_log) ... ok
|
||
test_excluded_legacy_manual_or_error_tasks_are_removed_before_review (test_protocol_session_exclusions.ProtocolSessionExclusions.test_excluded_legacy_manual_or_error_tasks_are_removed_before_review) ... ok
|
||
test_excluded_sessions_do_not_block_other_personal_session (test_protocol_session_exclusions.ProtocolSessionExclusions.test_excluded_sessions_do_not_block_other_personal_session) ... ok
|
||
test_final_native_guard_cancels_then_clears_only_unsent_draft (test_protocol_session_exclusions.ProtocolSessionExclusions.test_final_native_guard_cancels_then_clears_only_unsent_draft) ... ok
|
||
test_foreign_account_draft_is_never_cleared_by_current_account_policy (test_protocol_session_exclusions.ProtocolSessionExclusions.test_foreign_account_draft_is_never_cleared_by_current_account_policy) ... ok
|
||
test_group_ids_and_structured_kinds_never_generate (test_protocol_session_exclusions.ProtocolSessionExclusions.test_group_ids_and_structured_kinds_never_generate) ... ok
|
||
test_identity_changed_during_generation_drops_draft_before_review_or_send (test_protocol_session_exclusions.ProtocolSessionExclusions.test_identity_changed_during_generation_drops_draft_before_review_or_send) ... ok
|
||
test_latest_context_identity_is_checked_before_generation (test_protocol_session_exclusions.ProtocolSessionExclusions.test_latest_context_identity_is_checked_before_generation) ... ok
|
||
test_latest_last_message_metadata_is_checked_even_without_context_kind (test_protocol_session_exclusions.ProtocolSessionExclusions.test_latest_last_message_metadata_is_checked_even_without_context_kind) ... ok
|
||
test_named_system_sessions_never_generate_or_enter_review (test_protocol_session_exclusions.ProtocolSessionExclusions.test_named_system_sessions_never_generate_or_enter_review) ... ok
|
||
test_new_excluded_message_cannot_replace_unknown_send (test_protocol_session_exclusions.ProtocolSessionExclusions.test_new_excluded_message_cannot_replace_unknown_send) ... ok
|
||
test_personal_message_mentions_of_groups_or_application_are_not_filtered (test_protocol_session_exclusions.ProtocolSessionExclusions.test_personal_message_mentions_of_groups_or_application_are_not_filtered) ... ok
|
||
test_personal_name_containing_group_word_is_not_group_identity (test_protocol_session_exclusions.ProtocolSessionExclusions.test_personal_name_containing_group_word_is_not_group_identity) ... ok
|
||
test_restart_discards_old_drafts_and_reviews_preserving_dedup (test_protocol_session_exclusions.ProtocolSessionExclusions.test_restart_discards_old_drafts_and_reviews_preserving_dedup) ... ok
|
||
test_restart_keeps_attempted_delivery_evidence (test_protocol_session_exclusions.ProtocolSessionExclusions.test_restart_keeps_attempted_delivery_evidence) ... ok
|
||
test_unknown_delivery_after_excluded_guard_preserves_evidence (test_protocol_session_exclusions.ProtocolSessionExclusions.test_unknown_delivery_after_excluded_guard_preserves_evidence) ... ok
|
||
test_application_exact_name_rejects_queue_before_model_or_window_read (test_visual_session_exclusions.VisualSessionExclusionTests.test_application_exact_name_rejects_queue_before_model_or_window_read) ... [会话过滤] 企小码系统会话不参与自动回复,已跳过
|
||
ok
|
||
test_excluded_application_stops_send_before_any_input (test_visual_session_exclusions.VisualSessionExclusionTests.test_excluded_application_stops_send_before_any_input) ... [会话过滤] 企小码系统会话不参与自动回复,已跳过
|
||
ok
|
||
test_expired_group_cache_is_rechecked_instead_of_permanent_blacklist (test_visual_session_exclusions.VisualSessionExclusionTests.test_expired_group_cache_is_rechecked_instead_of_permanent_blacklist) ... ok
|
||
test_external_group_identity_cannot_enqueue (test_visual_session_exclusions.VisualSessionExclusionTests.test_external_group_identity_cannot_enqueue) ... [会话过滤] 群聊不参与自动回复,已跳过
|
||
ok
|
||
test_group_metadata_stops_model_wrapper_without_generating (test_visual_session_exclusions.VisualSessionExclusionTests.test_group_metadata_stops_model_wrapper_without_generating) ... [会话过滤] 群聊不参与自动回复,已跳过
|
||
ok
|
||
test_header_identity_change_between_frames_is_not_group_proof (test_visual_session_exclusions.VisualSessionExclusionTests.test_header_identity_change_between_frames_is_not_group_proof) ... ok
|
||
test_known_personal_database_id_does_not_use_title_heuristics_or_old_group_cache (test_visual_session_exclusions.VisualSessionExclusionTests.test_known_personal_database_id_does_not_use_title_heuristics_or_old_group_cache) ... ok
|
||
test_member_like_personal_nickname_is_not_excluded (test_visual_session_exclusions.VisualSessionExclusionTests.test_member_like_personal_nickname_is_not_excluded) ... ok
|
||
test_mixed_unread_list_skips_application_and_group_then_selects_next_customer (test_visual_session_exclusions.VisualSessionExclusionTests.test_mixed_unread_list_skips_application_and_group_then_selects_next_customer) ... [视觉队列] 已跳过系统入口:企小码会话管理
|
||
[会话过滤] 群聊不参与自动回复,已跳过
|
||
ok
|
||
test_no_group_inference_from_body_or_customer_name_containing_group_word (test_visual_session_exclusions.VisualSessionExclusionTests.test_no_group_inference_from_body_or_customer_name_containing_group_word) ... ok
|
||
test_ocr_failure_is_not_a_reason_to_drop_customer (test_visual_session_exclusions.VisualSessionExclusionTests.test_ocr_failure_is_not_a_reason_to_drop_customer) ... ok
|
||
test_partial_legacy_fingerprint_does_not_prove_unrelated_current_title (test_visual_session_exclusions.VisualSessionExclusionTests.test_partial_legacy_fingerprint_does_not_prove_unrelated_current_title) ... ok
|
||
test_post_click_exclusion_continues_current_round_to_next_customer (test_visual_session_exclusions.VisualSessionExclusionTests.test_post_click_exclusion_continues_current_round_to_next_customer) ...
|
||
[新消息] 正在处理 row0(坐标: 0, 20)
|
||
|
||
[新消息] 正在处理 row0(坐标: 0, 20)
|
||
[完成] 回复完成,红点已消失 → row0
|
||
ok
|
||
test_post_click_queue_exclusion_continues_current_round_to_next_customer (test_visual_session_exclusions.VisualSessionExclusionTests.test_post_click_queue_exclusion_continues_current_round_to_next_customer) ...
|
||
[新消息] 正在处理 row0(坐标: 0, 20)
|
||
[会话过滤] 群聊不参与自动回复,已跳过
|
||
|
||
[新消息] 正在处理 row0(坐标: 0, 20)
|
||
[完成] 回复完成,红点已消失 → row0
|
||
ok
|
||
test_protected_delivery_evidence_is_preserved_for_every_exclusion (test_visual_session_exclusions.VisualSessionExclusionTests.test_protected_delivery_evidence_is_preserved_for_every_exclusion) ... [会话过滤] 企小码系统会话不参与自动回复,已跳过
|
||
ok
|
||
test_selected_identity_mismatch_does_not_remove_previous_task (test_visual_session_exclusions.VisualSessionExclusionTests.test_selected_identity_mismatch_does_not_remove_previous_task) ... ok
|
||
test_stable_group_title_requires_two_headers_then_skips_without_reopening (test_visual_session_exclusions.VisualSessionExclusionTests.test_stable_group_title_requires_two_headers_then_skips_without_reopening) ... [会话过滤] 群聊不参与自动回复,已跳过
|
||
ok
|
||
test_startup_system_purge_keeps_uncertain_transaction (test_visual_session_exclusions.VisualSessionExclusionTests.test_startup_system_purge_keeps_uncertain_transaction) ... ok
|
||
test_task_replacement_during_header_confirmation_is_not_removed_or_cached (test_visual_session_exclusions.VisualSessionExclusionTests.test_task_replacement_during_header_confirmation_is_not_removed_or_cached) ... ok
|
||
test_title_change_between_frames_does_not_remove_previous_task (test_visual_session_exclusions.VisualSessionExclusionTests.test_title_change_between_frames_does_not_remove_previous_task) ... ok
|
||
test_unknown_task_name_reads_list_before_explicit_member_suffix (test_visual_session_exclusions.VisualSessionExclusionTests.test_unknown_task_name_reads_list_before_explicit_member_suffix) ... ok
|
||
test_vanished_selection_rebinds_second_header_before_excluding (test_visual_session_exclusions.VisualSessionExclusionTests.test_vanished_selection_rebinds_second_header_before_excluding) ... ok
|
||
test_vanished_selection_with_other_application_header_keeps_customer (test_visual_session_exclusions.VisualSessionExclusionTests.test_vanished_selection_with_other_application_header_keeps_customer) ... ok
|
||
test_vanished_selection_with_other_group_member_header_keeps_customer (test_visual_session_exclusions.VisualSessionExclusionTests.test_vanished_selection_with_other_group_member_header_keeps_customer) ... ok
|
||
test_vanished_unread_row_requires_separate_list_name_and_stable_header (test_visual_session_exclusions.VisualSessionExclusionTests.test_vanished_unread_row_requires_separate_list_name_and_stable_header) ... [会话过滤] 群聊不参与自动回复,已跳过
|
||
ok
|
||
test_wechat_label_does_not_count_as_group_even_with_member_suffix (test_visual_session_exclusions.VisualSessionExclusionTests.test_wechat_label_does_not_count_as_group_even_with_member_suffix) ... ok
|
||
test_counts_are_disjoint_and_count_conversations_not_messages (test_review_badges.AttentionBadgeTests.test_counts_are_disjoint_and_count_conversations_not_messages) ... ok
|
||
test_hidden_queue_refreshes_counts_without_rebuilding_widgets (test_review_badges.AttentionBadgeTests.test_hidden_queue_refreshes_counts_without_rebuilding_widgets) ... ok
|
||
test_native_badge_scales_and_preserves_exact_accessible_count (test_review_badges.AttentionBadgeTests.test_native_badge_scales_and_preserves_exact_accessible_count) ... ok
|
||
test_queue_refresh_updates_both_native_entrances_under_unrelated_filter (test_review_badges.AttentionBadgeTests.test_queue_refresh_updates_both_native_entrances_under_unrelated_filter) ... ok
|
||
test_web_badges_update_while_editing_and_hide_when_resolved (test_review_badges.AttentionBadgeTests.test_web_badges_update_while_editing_and_hide_when_resolved) ... ok
|
||
test_current_shadow_plan_releases_legacy_high_risk_once (test_review_policy_integration.ProtocolPolicyIntegration.test_current_shadow_plan_releases_legacy_high_risk_once) ... ok
|
||
test_gateway_shadow_verdict_is_recorded_and_sent_without_approval (test_review_policy_integration.ProtocolPolicyIntegration.test_gateway_shadow_verdict_is_recorded_and_sent_without_approval) ... ok
|
||
test_gateway_strict_verdict_overrides_stale_shadow_cache (test_review_policy_integration.ProtocolPolicyIntegration.test_gateway_strict_verdict_overrides_stale_shadow_cache) ... ok
|
||
test_score_only_high_risk_still_requires_approval (test_review_policy_integration.ProtocolPolicyIntegration.test_score_only_high_risk_still_requires_approval) ... ok
|
||
test_disabling_keyword_rule_releases_existing_draft (test_review_policy_integration.VisualPolicyIntegration.test_disabling_keyword_rule_releases_existing_draft) ... [待回复恢复] 已从磁盘恢复 1 个未完成任务。
|
||
ok
|
||
test_new_strict_verdict_overrides_old_shadow_config (test_review_policy_integration.VisualPolicyIntegration.test_new_strict_verdict_overrides_old_shadow_config) ... ok
|
||
test_old_judge_callback_cannot_modify_new_turn (test_review_policy_integration.VisualPolicyIntegration.test_old_judge_callback_cannot_modify_new_turn) ... ok
|
||
test_shadow_mode_survives_restart_and_releases_obsolete_review (test_review_policy_integration.VisualPolicyIntegration.test_shadow_mode_survives_restart_and_releases_obsolete_review) ... [待回复恢复] 已从磁盘恢复 1 个未完成任务。
|
||
ok
|
||
test_shadow_never_clears_unknown_receipt (test_review_policy_integration.VisualPolicyIntegration.test_shadow_never_clears_unknown_receipt) ... ok
|
||
test_explicit_approval_survives_restart_but_is_consumed_on_next_turn (test_visual_review_visibility.VisualReviewVisibilityTest.test_explicit_approval_survives_restart_but_is_consumed_on_next_turn) ... [待回复恢复] 已从磁盘恢复 1 个未完成任务。
|
||
ok
|
||
test_failed_approval_save_keeps_review_visible_and_unapproved (test_visual_review_visibility.VisualReviewVisibilityTest.test_failed_approval_save_keeps_review_visible_and_unapproved) ... ok
|
||
test_known_global_review_still_honors_explicit_mode_change (test_visual_review_visibility.VisualReviewVisibilityTest.test_known_global_review_still_honors_explicit_mode_change) ... [待回复恢复] 已从磁盘恢复 1 个未完成任务。
|
||
ok
|
||
test_legacy_manual_review_stage_without_boolean_is_restored (test_visual_review_visibility.VisualReviewVisibilityTest.test_legacy_manual_review_stage_without_boolean_is_restored) ... [待回复恢复] 已从磁盘恢复 1 个未完成任务。
|
||
ok
|
||
test_legacy_review_recovers_rule_reason_from_stage_detail (test_visual_review_visibility.VisualReviewVisibilityTest.test_legacy_review_recovers_rule_reason_from_stage_detail) ... [待回复恢复] 已从磁盘恢复 1 个未完成任务。
|
||
ok
|
||
test_legacy_review_with_lost_reason_stays_actionable (test_visual_review_visibility.VisualReviewVisibilityTest.test_legacy_review_with_lost_reason_stays_actionable) ... [待回复恢复] 已从磁盘恢复 1 个未完成任务。
|
||
ok
|
||
test_next_customer_turn_does_not_inherit_previous_judge_risk (test_visual_review_visibility.VisualReviewVisibilityTest.test_next_customer_turn_does_not_inherit_previous_judge_risk) ... ok
|
||
test_review_outcome_preserves_specific_reason_for_desktop_and_log (test_visual_review_visibility.VisualReviewVisibilityTest.test_review_outcome_preserves_specific_reason_for_desktop_and_log) ... ok
|
||
test_review_without_unread_badge_does_not_expire_during_downtime (test_visual_review_visibility.VisualReviewVisibilityTest.test_review_without_unread_badge_does_not_expire_during_downtime) ... [待回复恢复] 已从磁盘恢复 1 个未完成任务。
|
||
ok
|
||
test_rule_reason_and_judge_survive_restart_and_auto_mode (test_visual_review_visibility.VisualReviewVisibilityTest.test_rule_reason_and_judge_survive_restart_and_auto_mode) ... [待回复恢复] 已从磁盘恢复 1 个未完成任务。
|
||
ok
|
||
test_user_can_cancel_restored_review_without_sending (test_visual_review_visibility.VisualReviewVisibilityTest.test_user_can_cancel_restored_review_without_sending) ... [待回复恢复] 已从磁盘恢复 1 个未完成任务。
|
||
ok
|
||
test_foreign_account_task_cannot_be_approved_deleted_or_retried (test_protocol_review_visibility.ProtocolReviewVisibilityTests.test_foreign_account_task_cannot_be_approved_deleted_or_retried) ... ok
|
||
test_high_risk_reason_available_in_automatic_mode (test_protocol_review_visibility.ProtocolReviewVisibilityTests.test_high_risk_reason_available_in_automatic_mode) ... ok
|
||
test_media_batch_is_visible_manual_work_without_approvable_draft (test_protocol_review_visibility.ProtocolReviewVisibilityTests.test_media_batch_is_visible_manual_work_without_approvable_draft) ... ok
|
||
test_next_valid_batch_discards_old_manual_requirement (test_protocol_review_visibility.ProtocolReviewVisibilityTests.test_next_valid_batch_discards_old_manual_requirement) ... ok
|
||
test_old_saved_review_and_manual_tasks_restore_metadata_only (test_protocol_review_visibility.ProtocolReviewVisibilityTests.test_old_saved_review_and_manual_tasks_restore_metadata_only) ... ok
|
||
test_overlong_batch_cannot_be_approved_as_a_draft (test_protocol_review_visibility.ProtocolReviewVisibilityTests.test_overlong_batch_cannot_be_approved_as_a_draft) ... ok
|
||
test_retry_clears_old_metadata_then_rechecks_media_without_sending (test_protocol_review_visibility.ProtocolReviewVisibilityTests.test_retry_clears_old_metadata_then_rechecks_media_without_sending) ... ok
|
||
test_review_draft_reason_persists_then_explicit_approval_sends_once (test_protocol_review_visibility.ProtocolReviewVisibilityTests.test_review_draft_reason_persists_then_explicit_approval_sends_once) ... ok
|
||
test_unknown_receipt_cannot_be_approved_or_retried (test_protocol_review_visibility.ProtocolReviewVisibilityTests.test_unknown_receipt_cannot_be_approved_or_retried) ... ok
|
||
|
||
----------------------------------------------------------------------
|
||
Ran 204 tests in 10.024s
|
||
|
||
OK
|