[INFO] cloning repository https://github.com/goo-yyh/codex-switch [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/goo-yyh/codex-switch" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgoo-yyh%2Fcodex-switch", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgoo-yyh%2Fcodex-switch'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5bd70a8748e0a61ee7ba7ea93fa1385873ebb66e [INFO] testing goo-yyh/codex-switch against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgoo-yyh%2Fcodex-switch" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/goo-yyh/codex-switch [INFO] finished tweaking git repo https://github.com/goo-yyh/codex-switch [INFO] tweaked toml for git repo https://github.com/goo-yyh/codex-switch written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/goo-yyh/codex-switch on toolchain 1.100.0-beta.1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/goo-yyh/codex-switch already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 7e5b0bf416bc5e98e602c41f73c8bf9d1276ee13cefe3a5506803f7b51b110b5 [INFO] running `Command { std: "docker" "start" "7e5b0bf416bc5e98e602c41f73c8bf9d1276ee13cefe3a5506803f7b51b110b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7e5b0bf416bc5e98e602c41f73c8bf9d1276ee13cefe3a5506803f7b51b110b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7e5b0bf416bc5e98e602c41f73c8bf9d1276ee13cefe3a5506803f7b51b110b5" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7e5b0bf416bc5e98e602c41f73c8bf9d1276ee13cefe3a5506803f7b51b110b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7e5b0bf416bc5e98e602c41f73c8bf9d1276ee13cefe3a5506803f7b51b110b5" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.107 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling quote v1.0.47 [INFO] [stderr] Compiling libc v0.2.189 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling smallvec v1.16.1 [INFO] [stderr] Compiling futures-core v0.3.34 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling bytes v1.12.1 [INFO] [stderr] Compiling find-msvc-tools v0.1.12 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling shlex v2.0.1 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling futures-sink v0.3.34 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling memchr v2.8.3 [INFO] [stderr] Compiling futures-channel v0.3.34 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling cc v1.4.6 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling serde_core v1.0.229 [INFO] [stderr] Compiling litemap v0.8.3 [INFO] [stderr] Compiling futures-task v0.3.34 [INFO] [stderr] Compiling futures-io v0.3.34 [INFO] [stderr] Compiling writeable v0.6.4 [INFO] [stderr] Compiling log v0.4.34 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling icu_normalizer_data v2.3.0 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling icu_properties_data v2.3.0 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling zeroize v1.9.0 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling zmij v1.0.23 [INFO] [stderr] Compiling typenum v1.20.1 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling http v1.5.0 [INFO] [stderr] Compiling rustls-pki-types v1.15.1 [INFO] [stderr] Compiling serde v1.0.229 [INFO] [stderr] Compiling try-lock v0.2.5 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling zerocopy v0.8.57 [INFO] [stderr] Compiling hashbrown v0.17.1 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling atomic-waker v1.1.2 [INFO] [stderr] Compiling serde_json v1.0.151 [INFO] [stderr] Compiling rustls v0.23.45 [INFO] [stderr] Compiling bitflags v2.13.2 [INFO] [stderr] Compiling getrandom v0.4.3 [INFO] [stderr] Compiling ipnet v2.12.2 [INFO] [stderr] Compiling http-body v1.1.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling syn v3.0.5 [INFO] [stderr] Compiling syn v2.0.119 [INFO] [stderr] Compiling pkg-config v0.3.34 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling http-body-util v0.1.5 [INFO] [stderr] Compiling indexmap v2.14.2 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling thiserror v2.0.20 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling webpki-roots v1.0.9 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling fastrand v2.5.0 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling fallible-iterator v0.3.0 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling socket2 v0.6.5 [INFO] [stderr] Compiling mio v1.2.3 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling libsqlite3-sys v0.30.1 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling uuid v1.26.1 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerovec-derive v0.11.6 [INFO] [stderr] Compiling displaydoc v0.2.7 [INFO] [stderr] Compiling tokio-macros v2.7.2 [INFO] [stderr] Compiling futures-macro v0.3.34 [INFO] [stderr] Compiling serde_derive v1.0.229 [INFO] [stderr] Compiling thiserror-impl v2.0.20 [INFO] [stderr] Compiling tokio v1.53.1 [INFO] [stderr] Compiling futures-util v0.3.34 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling zerofrom-derive v0.1.7 [INFO] [stderr] Compiling yoke-derive v0.8.2 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling zerofrom v0.1.8 [INFO] [stderr] Compiling yoke v0.8.3 [INFO] [stderr] Compiling hashlink v0.9.1 [INFO] [stderr] Compiling zerovec v0.11.8 [INFO] [stderr] Compiling zerotrie v0.2.5 [INFO] [stderr] Compiling tinystr v0.8.4 [INFO] [stderr] Compiling potential_utf v0.1.6 [INFO] [stderr] Compiling icu_collections v2.3.0 [INFO] [stderr] Compiling icu_locale_core v2.3.0 [INFO] [stderr] Compiling futures-executor v0.3.34 [INFO] [stderr] Compiling futures v0.3.34 [INFO] [stderr] Compiling icu_provider v2.3.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling icu_normalizer v2.3.0 [INFO] [stderr] Compiling icu_properties v2.3.0 [INFO] [stderr] Compiling idna_adapter v1.2.2 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling hyper v1.11.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-util v0.7.19 [INFO] [stderr] Compiling cc-switch-codex v0.1.0 (/opt/rustwide/workdir/crates/cc-switch-codex) [INFO] [stderr] Compiling tower-http v0.6.11 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling rustls-webpki v0.103.15 [INFO] [stderr] Compiling axum v0.8.9 [INFO] [stderr] Compiling tokio-rustls v0.26.5 [INFO] [stderr] Compiling hyper-rustls v0.27.9 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling rusqlite v0.32.1 [INFO] [stderr] Compiling codex-switch-core v0.3.0 (/opt/rustwide/workdir/crates/core) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 3m 22s [INFO] running `Command { std: "docker" "inspect" "7e5b0bf416bc5e98e602c41f73c8bf9d1276ee13cefe3a5506803f7b51b110b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7e5b0bf416bc5e98e602c41f73c8bf9d1276ee13cefe3a5506803f7b51b110b5" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling codex-switch-core v0.3.0 (/opt/rustwide/workdir/crates/core) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 1m 35s [INFO] running `Command { std: "docker" "inspect" "7e5b0bf416bc5e98e602c41f73c8bf9d1276ee13cefe3a5506803f7b51b110b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7e5b0bf416bc5e98e602c41f73c8bf9d1276ee13cefe3a5506803f7b51b110b5" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.39s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/build/codex-switch-core/6c1875cf4c575fac/out/codex_switch_core-6c1875cf4c575fac) [INFO] [stdout] [INFO] [stdout] running 73 tests [INFO] [stdout] test config::tests::invalid_provider_table_returns_error ... ok [INFO] [stdout] test config::tests::preserves_unrelated_fields_and_rejects_external_catalog ... ok [INFO] [stdout] test activation::tests::catalog_write_failure_drops_staged_runtime_without_touching_config ... ok [INFO] [stdout] test config::tests::corrupted_input_never_changes ... ok [INFO] [stdout] test config::tests::exclusive_lock_blocks_a_second_writer ... ok [INFO] [stdout] test activation::tests::failed_first_activation_stops_staged_runtime_and_restores_absence ... ok [INFO] [stdout] test config::tests::absent_file_is_removed_on_disable ... ok [INFO] [stdout] test config::tests::conflict_does_not_clobber_and_forced_restore_backs_up ... ok [INFO] [stdout] test config::tests::automatic_restore_preserves_external_edits_and_original_bytes ... ok [INFO] [stdout] test config::tests::interrupted_reenable_restores_original_baseline ... ok [INFO] [stdout] test config::tests::catalog_cleanup_retains_live_and_baseline_references_and_unowned_files ... ok [INFO] [stdout] test activation::tests::failed_prepare_and_config_conflict_never_commit_or_publish ... ok [INFO] [stdout] test config::tests::failed_reenable_never_replaces_original_backup ... ok [INFO] [stdout] test config::tests::each_cycle_captures_a_fresh_baseline ... ok [INFO] [stdout] test gateway::tests::history_is_bounded_and_evicts_old_references ... ok [INFO] [stdout] test connections::tests::failed_vault_write_is_compensated_without_saving_metadata ... ok [INFO] [stdout] test gateway::tests::cancelled_gateway_rejects_before_any_upstream_request ... ok [INFO] [stdout] test gateway::tests::history_is_scoped_to_route ... ok [INFO] [stdout] test gateway::review_regressions::call_id_fallback_restores_groups_and_rejects_other_routes_expiry_and_collisions ... ok [INFO] [stdout] test connections::tests::existing_credential_is_not_overwritten_on_metadata_save ... ok [INFO] [stdout] test gateway::review_regressions::full_replay_with_previous_id_does_not_duplicate_calls ... ok [INFO] [stdout] test config::tests::symlink_is_not_followed ... ok [INFO] [stdout] test connections::tests::failed_metadata_save_removes_only_new_credential ... ok [INFO] [stdout] test profiles::tests::editing_cannot_change_vendor_even_with_a_fresh_key ... ok [INFO] [stdout] test gateway::tests::repeated_switches_and_restart_aliases_only_use_active_credentials ... ok [INFO] [stdout] test gateway::tests::old_conversation_context_follows_switch_without_sending_old_response_id ... ok [INFO] [stdout] test gateway::tests::unknown_alias_fails_without_network ... ok [INFO] [stdout] test gateway::tests::models_require_token_without_opening_a_port ... ok [INFO] [stdout] test gateway::tests::route_updates_send_old_aliases_to_current_provider_model_and_key ... ok [INFO] [stdout] test profiles::tests::enabled_mode_locks_configuration_changes ... ok [INFO] [stdout] test profiles::tests::full_url_inheritance_and_override_validation_apply_before_requests ... ok [INFO] [stdout] test profiles::tests::model_address_changes_require_a_new_key_but_protocol_changes_do_not ... ok [INFO] [stdout] test gateway::review_regressions::review_stream_tool_replay_restores_reasoning_without_previous_id ... ok [INFO] [stdout] test gateway::tests::model_list_only_exposes_current_models_and_redirects_old_aliases ... ok [INFO] [stdout] test gateway::tests::chat_compact_uses_upstream_chat_bridge_and_releases_request_slot ... ok [INFO] [stdout] test profiles::tests::model_routes_inherit_defaults_or_override_address_protocol_and_url_mode ... ok [INFO] [stdout] test protocol::review_regressions::tool_policy_is_omitted_without_tools_and_sampling_values_survive ... ok [INFO] [stdout] test profiles::tests::models_and_credential_scope_are_validated ... ok [INFO] [stdout] test profiles::tests::two_profiles_for_same_vendor_have_distinct_credentials_and_routes ... ok [INFO] [stdout] test protocol::review_regressions::bounded_names_roundtrip_choices_history_and_common_prefixes ... ok [INFO] [stdout] test profiles::tests::names_are_trimmed_unique_case_insensitively_and_self_edit_is_allowed ... ok [INFO] [stdout] test protocol::review_regressions::review_long_namespace_gets_bounded_reversible_name ... ok [INFO] [stdout] test protocol::review_regressions::review_keeps_explicit_parallel_tool_policy ... ok [INFO] [stdout] test profiles::tests::one_profile_owns_one_key_and_multiple_unique_model_routes ... ok [INFO] [stdout] test profiles::tests::new_key_creates_revision_without_changing_profile_or_old_credentials ... ok [INFO] [stdout] test profiles::tests::rename_reuses_key_and_routes_while_model_edits_only_add_new_routes ... ok [INFO] [stdout] test protocol::tests::custom_tool_roundtrip ... ok [INFO] [stdout] test activation::tests::failed_switch_keeps_previous_runtime_selection_and_baseline ... ok [INFO] [stdout] test protocol::tests::tool_results_require_preceding_unique_calls ... ok [INFO] [stdout] test protocol::tests::text_request_and_response ... ok [INFO] [stdout] test protocol::tests::tools_cannot_be_executed_from_truncated_arguments ... ok [INFO] [stdout] test protocol::tests::utf8_and_crlf_frames ... ok [INFO] [stdout] test providers::tests::registry_has_exactly_five_unique_presets ... ok [INFO] [stdout] test providers::tests::catalog_fills_missing_reasoning_without_overwriting_user_values ... ok [INFO] [stdout] test providers::tests::url_preserves_prefix_without_duplicate_v1 ... ok [INFO] [stdout] test store::tests::batch_insert_failure_rolls_back_earlier_inserts ... ok [INFO] [stdout] test protocol::tests::tool_result_requires_context ... ok [INFO] [stdout] test protocol::tests::token_limit_is_incomplete ... ok [INFO] [stdout] test protocol::tests::explicit_tool_choice_is_respected ... ok [INFO] [stdout] test store::tests::activation_commit_rolls_back_all_metadata_on_failure ... ok [INFO] [stdout] test store::tests::profile_save_rolls_back_metadata_and_routes_on_failure ... ok [INFO] [stdout] test store::tests::activation_metadata_rolls_back_both_settings_on_second_write_failure ... ok [INFO] [stdout] test store::tests::selected_profiles_expand_to_only_their_models_and_keep_distinct_key_mapping ... ok [INFO] [stdout] test store::tests::old_aliases_follow_current_revision_of_same_model_or_current_default ... ok [INFO] [stdout] test store::tests::selected_edits_wait_for_apply_and_deletion_preserves_applied_snapshot ... ok [INFO] [stdout] test store::tests::invalid_selection_and_empty_activation_do_not_change_saved_state ... ok [INFO] [stdout] test store::tests::stores_metadata_and_selection ... ok [INFO] [stdout] test store::tests::never_applied_profiles_are_not_loaded_as_historical_routes ... ok [INFO] [stdout] test providers::tests::catalog_preserves_each_discounted_preset_context_without_rescaling ... ok [INFO] [stdout] test config::tests::restart_can_restore_without_runtime ... ok [INFO] [stdout] test config::tests::exact_restore_including_comments_and_no_auth_changes ... ok [INFO] [stdout] test config::tests::rollback_does_not_overwrite_a_concurrent_external_edit ... ok [INFO] [stdout] test store::tests::migration_is_idempotent_preserves_old_aliases_keys_and_uniquifies_names ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 73 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.29s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/provider-check.rs (/opt/rustwide/target/release/build/codex-switch-core/e99c5d60e91466ca/out/provider_check-e99c5d60e91466ca) [INFO] [stderr] Running unittests src/bin/provider-compact-check.rs (/opt/rustwide/target/release/build/codex-switch-core/d96ee0280027c415/out/provider_compact_check-d96ee0280027c415) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test tests::recall_requires_exact_values_and_a_complete_response ... ok [INFO] [stdout] test tests::fixture_is_long_and_answers_do_not_leak_into_query_or_user_messages ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stderr] Running unittests src/bin/provider-responses-check.rs (/opt/rustwide/target/release/build/codex-switch-core/50d0b627228db519/out/provider_responses_check-50d0b627228db519) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stderr] Running tests/cc_switch_integration.rs (/opt/rustwide/target/release/build/codex-switch-core/1f25d209f8908322/out/cc_switch_integration-1f25d209f8908322) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 18 tests [INFO] [stdout] test failures_do_not_guess_another_protocol ... ok [INFO] [stdout] test empty_stream_returns_an_error_without_switching_provider ... ok [INFO] [stdout] test local_summary_stays_a_normal_chat_request_but_remote_items_cannot_be_silently_dropped ... ok [INFO] [stdout] test malformed_and_truncated_streams_never_complete_successfully ... ok [INFO] [stdout] test stream_rejects_unknown_tools ... ok [INFO] [stdout] test streaming_preserves_early_text_and_usage ... ok [INFO] [stdout] test truncated_tool_arguments_are_never_published_as_executable_calls ... ok [INFO] [stdout] test native_compact_is_exact_passthrough_at_full_url_with_query ... ok [INFO] [stdout] test remote_v2_sse_compaction_item_is_passed_through_without_rewriting ... ok [INFO] [stdout] test presets_are_native_but_old_records_keep_chat_and_custom_addresses ... ok [INFO] [stdout] test committed_stream_failure_does_not_replay_against_next_provider ... ok [INFO] [stdout] test remote_v2_preserves_trigger_on_normal_responses_and_opaque_output ... ok [INFO] [stdout] test upstream_catalog_profiles_and_model_overrides_reach_codex ... ok [INFO] [stdout] test selected_route_keeps_its_protocol_model_and_credential_without_failover ... ok [INFO] [stdout] test urls_preserve_custom_prefix_and_full_query_without_double_paths ... ok [INFO] [stdout] test remote_compaction_is_explicit_and_rollback_restores_original_config ... ok [INFO] [stdout] test sqlite_roundtrip_preserves_user_endpoint_and_capabilities_in_runtime_routes ... ok [INFO] [stderr] Doc-tests codex_switch_core [INFO] [stdout] test compaction_setting_survives_reopening_and_ignores_retired_queue_fields ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "7e5b0bf416bc5e98e602c41f73c8bf9d1276ee13cefe3a5506803f7b51b110b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7e5b0bf416bc5e98e602c41f73c8bf9d1276ee13cefe3a5506803f7b51b110b5", kill_on_drop: false }` [INFO] [stdout] 7e5b0bf416bc5e98e602c41f73c8bf9d1276ee13cefe3a5506803f7b51b110b5