Skip to content

test: unit test failure #176

@unive3sal

Description

@unive3sal

Desc

The unit test should be involved in the CI loop check. For now, there are 3 persistent issue and a bunch of intermittent issue (it is probably cause by concurrence race condition)

Test Report (100 runs)

CARGO TEST FAILURE STATISTICS (100 Runs)

Test: cli::tui::app::tests::tests::prompt_create_runtime_clears_filter_when_new_prompt_is_not_visible
Fail Count: 100/100 (100.0%)
Type: 必现 (Always)
Most Common Reason:
thread 'cli::tui::app::tests::tests::prompt_create_runtime_clears_filter_when_new_prompt_is_not_visible' (3725744) panicked at src/cli/tui/app/tests.rs:8023:9:
assertion left == right failed
left: 36
right: 1

Test: cli::tui::app::tests::tests::prompt_rename_runtime_clears_filter_when_renamed_prompt_is_not_visible
Fail Count: 100/100 (100.0%)
Type: 必现 (Always)
Most Common Reason:
thread 'cli::tui::app::tests::tests::prompt_rename_runtime_clears_filter_when_renamed_prompt_is_not_visible' (3725964) panicked at src/cli/tui/app/tests.rs:8070:9:
assertion left == right failed
left: 36
right: 1

Test: store::tests::import_default_config_runs_when_only_official_seed_exists
Fail Count: 100/100 (100.0%)
Type: 必现 (Always)
Most Common Reason:
thread 'store::tests::import_default_config_runs_when_only_official_seed_exists' (3736513) panicked at src/store.rs:682:9:
assertion failed: imported

Test: services::provider::tests::provider_update_clears_invalid_local_current_override_and_falls_back_to_stored_current
Fail Count: 83/100 (83.0%)
Type: 偶现 (Intermittent) - failed in runs: [1, 2, 3, 4, 5, 6, 7, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 48, 50, 52, 53, 54, 56, 57, 58, 59, 60, 61, 62, 63, 65, 66, 68, 69, 71, 72, 73, 74, 75, 76, 78, 79, 80, 81, 82, 83, 84, 86, 87, 88, 90, 91, 93, 94, 95, 96, 97, 98, 99]
Most Common Reason:
thread 'services::provider::tests::provider_update_clears_invalid_local_current_override_and_falls_back_to_stored_current' (3734723) panicked at src/services/provider/tests.rs:2323:5:
assertion left == right failed: update should fall back to stored current provider when local override is invalid
left: Some("token2")
right: Some("token1-updated")

Test: services::provider::tests::provider_update_treats_settings_effective_current_as_current_for_live_write
Fail Count: 82/100 (82.0%)
Type: 偶现 (Intermittent) - failed in runs: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 22, 23, 24, 26, 27, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 41, 42, 44, 45, 46, 47, 48, 49, 52, 53, 54, 55, 56, 57, 58, 59, 61, 63, 65, 66, 68, 69, 71, 72, 73, 74, 75, 76, 78, 79, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 95, 96, 98, 99, 100]
Most Common Reason:
thread 'services::provider::tests::provider_update_treats_settings_effective_current_as_current_for_live_write' (3734812) panicked at src/services/provider/tests.rs:2225:5:
assertion left == right failed: update should treat settings effective current (p2) as current and rewrite live settings
left: Some("token1")
right: Some("token2-updated")

Test: store::tests::startup_imports_existing_claude_live_config_as_default_provider
Fail Count: 77/100 (77.0%)
Type: 偶现 (Intermittent) - failed in runs: [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 48, 50, 51, 52, 54, 57, 58, 61, 62, 63, 65, 66, 68, 71, 72, 73, 74, 75, 76, 77, 79, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 99, 100]
Most Common Reason:
thread 'store::tests::startup_imports_existing_claude_live_config_as_default_provider' (3767653) panicked at src/store.rs:555:9:
assertion left == right failed
left: Null
right: String("live-key")

Test: services::provider::tests::updating_common_snippet_removes_stale_fields_from_other_claude_provider_snapshots
Fail Count: 76/100 (76.0%)
Type: 偶现 (Intermittent) - failed in runs: [1, 2, 3, 5, 6, 8, 9, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 32, 35, 36, 37, 38, 39, 41, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 57, 59, 60, 61, 63, 67, 68, 69, 71, 72, 73, 74, 75, 76, 78, 80, 81, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 98, 99, 100]
Most Common Reason:
thread 'services::provider::tests::updating_common_snippet_removes_stale_fields_from_other_claude_provider_snapshots' (3735462) panicked at src/services/provider/tests.rs:2518:5:
assertion left == right failed: current live settings should reflect the new common snippet
left: None
right: Some(true)

Test: proxy::forwarder::tests::request_building::codex_oauth_prepare_request_injects_bound_account_headers
Fail Count: 75/100 (75.0%)
Type: 偶现 (Intermittent) - failed in runs: [1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 20, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 39, 41, 43, 44, 45, 46, 47, 49, 50, 51, 53, 54, 57, 59, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 73, 74, 75, 77, 79, 80, 81, 82, 83, 84, 87, 88, 89, 91, 92, 95, 97, 98, 99, 100]
Most Common Reason:
thread 'proxy::forwarder::tests::request_building::codex_oauth_prepare_request_injects_bound_account_headers' (3733897) panicked at src/proxy/forwarder/tests/request_building.rs:363:10:
prepare request: AuthError("Codex OAuth 认证失败: 账号不存在: acc-bound")

Test: services::provider::tests::common_config_snippet_is_merged_into_claude_settings_on_write
Fail Count: 75/100 (75.0%)
Type: 偶现 (Intermittent) - failed in runs: [1, 3, 4, 6, 7, 9, 11, 12, 13, 14, 15, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 49, 51, 52, 54, 55, 56, 58, 59, 60, 62, 63, 65, 66, 67, 68, 71, 73, 74, 75, 76, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 91, 93, 94, 95, 98, 99]
Most Common Reason:
thread 'services::provider::tests::common_config_snippet_is_merged_into_claude_settings_on_write' (3734135) panicked at src/services/provider/tests.rs:1608:5:
assertion left == right failed: common snippet should be merged into settings.json
left: Some(true)
right: Some(false)

Test: services::provider::tests::sync_current_to_live_prefers_effective_current_from_local_settings
Fail Count: 75/100 (75.0%)
Type: 偶现 (Intermittent) - failed in runs: [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 14, 15, 16, 18, 19, 21, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 48, 49, 51, 52, 53, 54, 57, 58, 59, 60, 62, 63, 65, 66, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 82, 83, 84, 85, 87, 88, 91, 93, 94, 95, 98, 99]
Most Common Reason:
thread 'services::provider::tests::sync_current_to_live_prefers_effective_current_from_local_settings' (3735432) panicked at src/services/provider/tests.rs:1300:5:
assertion left == right failed: sync_current_to_live should refresh live settings from the effective current provider
left: Some("token1")
right: Some("token2")

Test: services::provider::tests::common_config_snippet_is_not_persisted_into_provider_snapshot_on_switch
Fail Count: 74/100 (74.0%)
Type: 偶现 (Intermittent) - failed in runs: [1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 56, 59, 60, 61, 62, 63, 65, 66, 68, 72, 73, 74, 75, 76, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 91, 92, 93, 95, 97]
Most Common Reason:
thread 'services::provider::tests::common_config_snippet_is_not_persisted_into_provider_snapshot_on_switch' (3734223) panicked at src/services/provider/tests.rs:2382:5:
common top-level keys should not be persisted into provider snapshot

Test: services::provider::tests::updating_common_snippet_uses_db_current_without_fallback_healing_config
Fail Count: 74/100 (74.0%)
Type: 偶现 (Intermittent) - failed in runs: [1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 33, 34, 35, 37, 38, 39, 41, 42, 43, 44, 45, 46, 48, 50, 52, 53, 54, 57, 58, 59, 60, 61, 62, 65, 66, 69, 70, 71, 73, 74, 75, 76, 81, 83, 84, 86, 87, 88, 91, 92, 93, 94, 95, 96, 97, 98, 99]
Most Common Reason:
thread 'services::provider::tests::updating_common_snippet_uses_db_current_without_fallback_healing_config' (3735626) panicked at src/services/provider/tests.rs:1432:5:
assertion left == right failed: new common snippet should be applied to the healed current live settings
left: None
right: Some(false)

Test: services::auth::tests::auth_status_marks_default_account
Fail Count: 73/100 (73.0%)
Type: 偶现 (Intermittent) - failed in runs: [1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 20, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 41, 43, 44, 45, 46, 48, 49, 50, 51, 53, 54, 57, 59, 60, 61, 63, 65, 66, 67, 68, 69, 70, 71, 73, 74, 75, 77, 79, 81, 82, 83, 84, 87, 88, 89, 91, 92, 97, 98, 99]
Most Common Reason:
thread 'services::auth::tests::auth_status_marks_default_account' (3734050) panicked at src/services/auth.rs:237:14:
set default account: "账号不存在: acc-456"

Test: services::provider::tests::common_config_snippet_can_be_disabled_per_provider_for_claude
Fail Count: 73/100 (73.0%)
Type: 偶现 (Intermittent) - failed in runs: [1, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 27, 28, 29, 30, 34, 35, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 49, 50, 54, 55, 56, 59, 60, 61, 62, 65, 66, 67, 68, 69, 71, 73, 75, 76, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 95, 96, 97, 98, 99]
Most Common Reason:
thread 'services::provider::tests::common_config_snippet_can_be_disabled_per_provider_for_claude' (3734090) panicked at src/services/provider/tests.rs:1931:5:
assertion left == right failed: provider env should still be written
left: Some("PROXY_MANAGED")
right: Some("token")

Test: services::provider::tests::updating_common_snippet_uses_db_current_when_config_snapshot_is_missing_current_provider
Fail Count: 73/100 (73.0%)
Type: 偶现 (Intermittent) - failed in runs: [2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 15, 19, 20, 21, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 47, 48, 49, 51, 53, 54, 56, 57, 58, 59, 60, 61, 62, 63, 65, 66, 69, 70, 72, 74, 75, 77, 79, 81, 83, 85, 87, 88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
Most Common Reason:
thread 'services::provider::tests::updating_common_snippet_uses_db_current_when_config_snapshot_is_missing_current_provider' (3749319) panicked at src/services/provider/tests.rs:1538:5:
assertion left == right failed: new common snippet should be applied to live settings
left: Some(true)
right: Some(false)

Test: cli::tui::runtime_actions::providers::tests::provider_import_live_config_adds_and_selects_default_provider
Fail Count: 71/100 (71.0%)
Type: 偶现 (Intermittent) - failed in runs: [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 19, 20, 21, 22, 25, 26, 27, 29, 30, 31, 33, 34, 35, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 52, 53, 54, 55, 56, 58, 59, 60, 61, 65, 66, 67, 68, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 92, 93, 95, 97, 100]
Most Common Reason:
thread 'cli::tui::runtime_actions::providers::tests::provider_import_live_config_adds_and_selects_default_provider' (3728671) panicked at src/cli/tui/runtime_actions/providers.rs:1612:9:
assertion failed: data.providers.rows.iter().any(|row|
{
row.id == "default" &&
row.provider.settings_config.get("permissions").and_then(|value|
value.get("allow")).is_some()
})

Test: cli::commands::config_common::tests::set_accepts_codex_toml_common_snippet_without_enabling_provider_live_config
Fail Count: 64/100 (64.0%)
Type: 偶现 (Intermittent) - failed in runs: [1, 2, 3, 4, 6, 7, 10, 12, 13, 14, 15, 16, 18, 19, 21, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 43, 46, 47, 49, 50, 51, 52, 54, 55, 56, 61, 65, 66, 68, 71, 73, 74, 75, 77, 78, 79, 80, 81, 83, 85, 87, 88, 89, 91, 94, 95, 98, 100]
Most Common Reason:
thread 'cli::commands::config_common::tests::set_accepts_codex_toml_common_snippet_without_enabling_provider_live_config' (3720819) panicked at src/cli/commands/config_common.rs:326:64:
seed codex provider: Localized { key: "config.save.rollback_failed", zh: "保存配置失败: 数据库错误: database is locked;回滚失败: 数据库错误: database is locked", en: "Failed to save config: 数据库错误: database is locked; rollback failed: 数据库错误: database is locked" }

Test: services::provider::tests::clearing_claude_common_snippet_tolerates_invalid_stored_snippet
Fail Count: 64/100 (64.0%)
Type: 偶现 (Intermittent) - failed in runs: [2, 4, 5, 6, 7, 9, 10, 13, 14, 15, 20, 21, 22, 23, 24, 25, 30, 31, 32, 35, 37, 39, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 53, 54, 55, 56, 58, 59, 60, 61, 63, 67, 71, 73, 74, 75, 78, 79, 80, 81, 82, 83, 85, 86, 87, 91, 92, 93, 95, 96, 97, 98, 99, 100]
Most Common Reason:
thread 'services::provider::tests::clearing_claude_common_snippet_tolerates_invalid_stored_snippet' (3745299) panicked at src/services/provider/tests.rs:2911:5:
clearing should rewrite live settings from the provider snapshot even when the old snippet is invalid

Test: cli::commands::config_common::tests::clear_updates_live_config_even_without_apply_flag
Fail Count: 61/100 (61.0%)
Type: 偶现 (Intermittent) - failed in runs: [2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 20, 21, 22, 23, 24, 27, 30, 31, 32, 33, 34, 41, 46, 48, 49, 50, 51, 53, 54, 57, 58, 60, 61, 62, 65, 66, 67, 68, 71, 73, 74, 75, 76, 78, 79, 81, 83, 85, 89, 91, 92, 94, 96, 97, 98, 99, 100]
Most Common Reason:
thread 'cli::commands::config_common::tests::clear_updates_live_config_even_without_apply_flag' (3738076) panicked at src/cli/commands/config_common.rs:290:64:
switch provider: Localized { key: "config.save.rollback_failed", zh: "保存配置失败: 数据库错误: database is locked;回滚失败: 数据库错误: database is locked", en: "Failed to save config: 数据库错误: database is locked; rollback failed: 数据库错误: database is locked" }
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

Test: cli::commands::config_common::tests::set_accepts_codex_toml_common_snippet_and_updates_enabled_provider_live_config
Fail Count: 60/100 (60.0%)
Type: 偶现 (Intermittent) - failed in runs: [1, 2, 4, 5, 7, 11, 12, 13, 14, 18, 19, 20, 21, 23, 24, 25, 30, 31, 34, 39, 42, 43, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 60, 62, 65, 66, 67, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 84, 85, 86, 90, 91, 92, 93, 96, 98, 99, 100]
Most Common Reason:
thread 'cli::commands::config_common::tests::set_accepts_codex_toml_common_snippet_and_updates_enabled_provider_live_config' (3720818) panicked at src/cli/commands/config_common.rs:327:63:
switch provider: Localized { key: "config.save.rollback_failed", zh: "保存配置失败: 数据库错误: database is locked;回滚失败: 数据库错误: database is locked", en: "Failed to save config: 数据库错误: database is locked; rollback failed: 数据库错误: database is locked" }
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

Test: cli::commands::config_common::tests::set_stores_claude_snippet_without_enabling_provider_live_config
Fail Count: 60/100 (60.0%)
Type: 偶现 (Intermittent) - failed in runs: [1, 2, 4, 6, 7, 9, 10, 11, 12, 13, 15, 18, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 43, 49, 50, 52, 53, 55, 60, 61, 62, 63, 66, 67, 68, 69, 71, 72, 75, 76, 77, 78, 80, 81, 82, 83, 84, 88, 92, 94, 96, 97, 98, 100]
Most Common Reason:
thread 'cli::commands::config_common::tests::set_stores_claude_snippet_without_enabling_provider_live_config' (3720821) panicked at src/cli/commands/config_common.rs:289:65:
seed provider: Database("database is locked")

Test: openclaw_config::tests::set_and_remove_provider_only_touch_target_entry
Fail Count: 60/100 (60.0%)
Type: 偶现 (Intermittent) - failed in runs: [3, 4, 5, 8, 9, 12, 13, 14, 15, 20, 22, 24, 25, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 43, 44, 45, 46, 48, 51, 53, 54, 55, 56, 58, 61, 65, 66, 68, 69, 71, 73, 74, 75, 76, 78, 79, 81, 82, 83, 84, 88, 89, 90, 91, 92, 95, 97, 98]
Most Common Reason:
thread 'openclaw_config::tests::set_and_remove_provider_only_touch_target_entry' (3764491) panicked at src/openclaw_config.rs:1126:9:
assertion failed: providers.contains_key("added")

Test: cli::commands::config_common::tests::set_updates_live_config_for_common_config_enabled_claude_provider
Fail Count: 56/100 (56.0%)
Type: 偶现 (Intermittent) - failed in runs: [2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 16, 17, 20, 21, 24, 25, 26, 28, 29, 31, 33, 34, 35, 36, 38, 39, 40, 41, 45, 46, 47, 52, 53, 54, 56, 58, 60, 62, 65, 68, 71, 73, 75, 77, 79, 80, 81, 82, 83, 89, 92, 93, 95, 96, 97, 98]
Most Common Reason:
thread 'cli::commands::config_common::tests::set_updates_live_config_for_common_config_enabled_claude_provider' (3738084) panicked at src/cli/commands/config_common.rs:382:10:
set should succeed: Localized { key: "config.save.rollback_failed", zh: "保存配置失败: 数据库错误: database is locked;回滚失败: 数据库错误: database is locked", en: "Failed to save config: 数据库错误: database is locked; rollback failed: 数据库错误: database is locked" }

Test: proxy::forwarder::tests::request_building::codex_oauth_prepare_request_falls_back_to_default_account
Fail Count: 56/100 (56.0%)
Type: 偶现 (Intermittent) - failed in runs: [3, 4, 5, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 21, 22, 27, 31, 35, 41, 44, 46, 47, 48, 49, 50, 53, 54, 55, 57, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 74, 77, 79, 80, 81, 82, 83, 85, 87, 88, 90, 95, 96, 97, 100]
Most Common Reason:
thread 'proxy::forwarder::tests::request_building::codex_oauth_prepare_request_falls_back_to_default_account' (3764757) panicked at src/proxy/forwarder/tests/request_building.rs:363:10:
prepare request: AuthError("Codex OAuth 认证失败: 账号不存在: 无可用的 ChatGPT 账号")

Test: proxy::handler_context::tests::load_uses_effective_current_provider_from_settings_at_request_start
Fail Count: 51/100 (51.0%)
Type: 偶现 (Intermittent) - failed in runs: [1, 4, 5, 7, 8, 9, 11, 12, 13, 16, 20, 21, 25, 28, 30, 31, 33, 34, 36, 37, 39, 41, 43, 44, 45, 47, 48, 49, 51, 54, 55, 59, 61, 65, 66, 68, 69, 71, 73, 75, 77, 79, 81, 82, 83, 84, 85, 89, 92, 98, 99]
Most Common Reason:
thread 'proxy::handler_context::tests::load_uses_effective_current_provider_from_settings_at_request_start' (3733928) panicked at src/proxy/handler_context.rs:287:9:
assertion left == right failed
left: "claude-current"
right: "claude-failover"

Test: proxy::provider_router::tests::test_failover_disabled_prefers_effective_current_provider_from_settings
Fail Count: 45/100 (45.0%)
Type: 偶现 (Intermittent) - failed in runs: [3, 6, 8, 9, 12, 13, 14, 15, 20, 24, 25, 28, 29, 30, 31, 33, 34, 35, 37, 39, 41, 43, 44, 45, 46, 53, 61, 65, 67, 68, 69, 74, 75, 81, 83, 84, 87, 88, 89, 91, 92, 95, 97, 98, 99]
Most Common Reason:
thread 'proxy::provider_router::tests::test_failover_disabled_prefers_effective_current_provider_from_settings' (3764776) panicked at src/proxy/provider_router/tests.rs:108:5:
assertion left == right failed
left: "a"
right: "b"

Test: openclaw_config::tests::typed_provider_round_trip_preserves_known_and_unknown_fields
Fail Count: 32/100 (32.0%)
Type: 偶现 (Intermittent) - failed in runs: [3, 4, 5, 6, 12, 18, 20, 22, 25, 28, 30, 34, 37, 38, 39, 43, 44, 45, 53, 54, 61, 65, 66, 67, 69, 71, 74, 79, 81, 92, 98, 99]
Most Common Reason:
thread 'openclaw_config::tests::typed_provider_round_trip_preserves_known_and_unknown_fields' (3764506) panicked at src/openclaw_config.rs:1382:46:
typed provider should exist

Test: cli::tui::runtime_actions::claude_temp_launch::tests::launch_uses_effective_snapshot_from_realtime_state
Fail Count: 27/100 (27.0%)
Type: 偶现 (Intermittent) - failed in runs: [2, 3, 7, 20, 28, 29, 31, 34, 40, 43, 48, 50, 51, 58, 60, 68, 69, 70, 72, 74, 79, 81, 85, 93, 95, 96, 100]
Most Common Reason:
thread 'cli::tui::runtime_actions::claude_temp_launch::tests::launch_uses_effective_snapshot_from_realtime_state' (3741080) panicked at src/cli/tui/runtime_actions/claude_temp_launch.rs:428:10:
set common config snippet: Localized { key: "config.save.rollback_failed", zh: "保存配置失败: 数据库错误: database is locked;回滚失败: 数据库错误: database is locked", en: "Failed to save config: 数据库错误: database is locked; rollback failed: 数据库错误: database is locked" }

Test: services::proxy::tests::enabling_claude_takeover_syncs_live_token_back_to_current_provider
Fail Count: 15/100 (15.0%)
Type: 偶现 (Intermittent) - failed in runs: [4, 8, 10, 12, 24, 31, 32, 41, 45, 48, 49, 62, 71, 93, 95]
Most Common Reason:
thread 'services::proxy::tests::enabling_claude_takeover_syncs_live_token_back_to_current_provider' (3783755) panicked at src/services/proxy.rs:2440:9:
assertion left == right failed: enabling takeover should sync the live Claude token back to the current provider before takeover rewrites it
left: Some("stale-provider-token")
right: Some("fresh-live-token")

Test: services::proxy::tests::recover_takeovers_on_startup_cleans_claude_placeholder_only_residue_without_backup
Fail Count: 12/100 (12.0%)
Type: 偶现 (Intermittent) - failed in runs: [8, 10, 16, 24, 32, 33, 58, 62, 78, 83, 84, 86]
Most Common Reason:
thread 'services::proxy::tests::recover_takeovers_on_startup_cleans_claude_placeholder_only_residue_without_backup' (3848414) panicked at src/services/proxy.rs:2364:9:
startup recovery should remove stale proxy placeholder tokens even without loopback base_url

Test: proxy::provider_router::tests::test_failover_disabled_reloads_settings_for_long_lived_router
Fail Count: 8/100 (8.0%)
Type: 偶现 (Intermittent) - failed in runs: [9, 25, 43, 65, 74, 81, 83, 98]
Most Common Reason:
thread 'proxy::provider_router::tests::test_failover_disabled_reloads_settings_for_long_lived_router' (3858740) panicked at src/proxy/provider_router/tests.rs:134:5:
assertion left == right failed: a long-lived proxy router should observe current provider changes without requiring a process restart
left: "a"
right: "b"

Test: cli::tui::runtime_actions::settings::tests::set_openclaw_config_dir_persists_override_and_syncs_live_config
Fail Count: 8/100 (8.0%)
Type: 偶现 (Intermittent) - failed in runs: [16, 44, 46, 47, 57, 63, 69, 95]
Most Common Reason:
thread 'cli::tui::runtime_actions::settings::tests::set_openclaw_config_dir_persists_override_and_syncs_live_config' (3805373) panicked at src/cli/tui/runtime_actions/settings.rs:320:10:
add openclaw provider: Localized { key: "config.save.rollback_failed", zh: "保存配置失败: 数据库错误: database is locked;回滚失败: 数据库错误: database is locked", en: "Failed to save config: 数据库错误: database is locked; rollback failed: 数据库错误: database is locked" }

Test: proxy::response_handler::tests::streaming_success_syncs_failover_state_after_body_drains
Fail Count: 5/100 (5.0%)
Type: 偶现 (Intermittent) - failed in runs: [3, 22, 65, 70, 74]
Most Common Reason:
thread 'proxy::response_handler::tests::streaming_success_syncs_failover_state_after_body_drains' (3764901) panicked at src/proxy/response_handler/tests.rs:343:5:
assertion left == right failed
left: None
right: Some("claude-failover")

Test: proxy::handler_context::tests::load_captures_current_provider_before_later_awaits
Fail Count: 3/100 (3.0%)
Type: 偶现 (Intermittent) - failed in runs: [5, 33, 82]
Most Common Reason:
thread 'proxy::handler_context::tests::load_captures_current_provider_before_later_awaits' (3796817) panicked at src/proxy/handler_context.rs:339:9:
assertion left == right failed
left: "claude-failover"
right: "claude-current"

Test: openclaw_config::tests::remove_last_provider_rewrites_models_section_like_upstream
Fail Count: 1/100 (1.0%)
Type: 偶现 (Intermittent) - failed in runs: [12]
Most Common Reason:
thread 'openclaw_config::tests::remove_last_provider_rewrites_models_section_like_upstream' (3748429) panicked at src/openclaw_config.rs:1205:14:
read config after removing last provider: Os { code: 2, kind: NotFound, message: "No such file or directory" }

Test: cli::tui::app::tests::tests::openclaw_daily_memory_open_existing_file_loads_editor_state
Fail Count: 1/100 (1.0%)
Type: 偶现 (Intermittent) - failed in runs: [17]
Most Common Reason:
thread 'cli::tui::app::tests::tests::openclaw_daily_memory_open_existing_file_loads_editor_state' (3813883) panicked at src/cli/tui/app/tests.rs:3295:57:
load openclaw ui data: Database("database is locked")

Test: proxy::server::tests::sync_successful_provider_selection_skips_backup_update_when_takeover_disabled
Fail Count: 1/100 (1.0%)
Type: 偶现 (Intermittent) - failed in runs: [25]
Most Common Reason:
thread 'proxy::server::tests::sync_successful_provider_selection_skips_backup_update_when_takeover_disabled' (3798983) panicked at src/proxy/server.rs:441:9:
assertion left == right failed
left: None
right: Some("claude-failover")

Test: cli::tui::ui::tests::header_keeps_title_and_right_badges_visible_without_large_gap_in_chinese
Fail Count: 1/100 (1.0%)
Type: 偶现 (Intermittent) - failed in runs: [64]
Most Common Reason:
thread 'cli::tui::ui::tests::header_keeps_title_and_right_badges_visible_without_large_gap_in_chinese' (3770855) panicked at src/cli/tui/ui/tests.rs:1012:5:
expected proxy badge to stay near tabs without a fake blank block: │ cc-switch claude codex 代 理 : 关 供 应 商 : Demo Provider │

Test: cli::tui::ui::tests::header_centers_tabs_when_room_allows
Fail Count: 1/100 (1.0%)
Type: 偶现 (Intermittent) - failed in runs: [68]
Most Common Reason:
thread 'cli::tui::ui::tests::header_centers_tabs_when_room_allows' (3826649) panicked at src/cli/tui/ui/tests.rs:980:10:
openclaw tab should render

Test: proxy::server::tests::sync_successful_provider_selection_updates_state_after_failover
Fail Count: 1/100 (1.0%)
Type: 偶现 (Intermittent) - failed in runs: [100]
Most Common Reason:
thread 'proxy::server::tests::sync_successful_provider_selection_updates_state_after_failover' (3877135) panicked at src/proxy/server.rs:336:9:
assertion left == right failed
left: None
right: Some("claude-failover")

SUMMARY

  • Total test runs: 100
  • Total individual test failures: 1974
  • Unique failing tests: 40
  • Always failing (必现): 3
  • Intermittent (偶现): 37

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions