[INFO] cloning repository https://github.com/790331416/Codex-Manager
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/790331416/Codex-Manager" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F790331416%2FCodex-Manager", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F790331416%2FCodex-Manager'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a511d14440b7e46d9155d38d8423fef7e520f080
[INFO] testing 790331416/Codex-Manager against beta-2026-04-21 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F790331416%2FCodex-Manager" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/790331416/Codex-Manager
[INFO] finished tweaking git repo https://github.com/790331416/Codex-Manager
[INFO] tweaked toml for git repo https://github.com/790331416/Codex-Manager written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/790331416/Codex-Manager on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/790331416/Codex-Manager 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 96c06f2900527c39eddff6f6647af1ce0ade81c1c74846b75eea2f29e6c1f952
[INFO] running `Command { std: "docker" "start" "-a" "96c06f2900527c39eddff6f6647af1ce0ade81c1c74846b75eea2f29e6c1f952", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "96c06f2900527c39eddff6f6647af1ce0ade81c1c74846b75eea2f29e6c1f952", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "96c06f2900527c39eddff6f6647af1ce0ade81c1c74846b75eea2f29e6c1f952", kill_on_drop: false }`
[INFO] [stdout] 96c06f2900527c39eddff6f6647af1ce0ade81c1c74846b75eea2f29e6c1f952
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7c19420490fc418f108fcc97bb527fd49b5187808146b09ac64bf06b555f997e
[INFO] running `Command { std: "docker" "start" "-a" "7c19420490fc418f108fcc97bb527fd49b5187808146b09ac64bf06b555f997e", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling find-msvc-tools v0.1.8
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling bytes v1.11.0
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling zerocopy v0.8.35
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling slab v0.4.11
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling aws-lc-rs v1.16.2
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling cc v1.2.54
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling aws-lc-sys v0.39.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling zmij v1.0.17
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling webpki-roots v1.0.5
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling smartstring v1.0.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling data-encoding v2.10.0
[INFO] [stderr]    Compiling ryu v1.0.22
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling http-range-header v0.4.2
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rhai_codegen v3.1.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling thin-vec v0.2.14
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling chunked_transfer v1.5.0
[INFO] [stderr]    Compiling ascii v1.1.0
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling codexmanager-service v0.2.5 (/opt/rustwide/workdir/crates/service)
[INFO] [stderr]    Compiling webbrowser v0.8.15
[INFO] [stderr]    Compiling codexmanager-core v0.2.5 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]    Compiling hyper-util v0.1.19
[INFO] [stderr]    Compiling tiny_http v0.12.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling rhai v1.24.0
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling sysinfo v0.30.13
[INFO] [stderr]    Compiling eventsource-stream v0.2.3
[INFO] [stderr]    Compiling os_info v3.14.0
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling nix v0.31.1
[INFO] [stderr]    Compiling codexmanager-start v0.2.5 (/opt/rustwide/workdir/crates/start)
[INFO] [stderr]    Compiling codexmanager-web v0.2.5 (/opt/rustwide/workdir/crates/web)
[INFO] [stderr]    Compiling ctrlc v3.5.2
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tungstenite v0.28.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling tokio-tungstenite v0.28.0
[INFO] [stderr]    Compiling axum v0.8.8
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> crates/start/src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 49s
[INFO] running `Command { std: "docker" "inspect" "7c19420490fc418f108fcc97bb527fd49b5187808146b09ac64bf06b555f997e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7c19420490fc418f108fcc97bb527fd49b5187808146b09ac64bf06b555f997e", kill_on_drop: false }`
[INFO] [stdout] 7c19420490fc418f108fcc97bb527fd49b5187808146b09ac64bf06b555f997e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 18a47110859bf17f1ceaff288866174bed244e688bf04a2d1edaca51b6b5aaef
[INFO] running `Command { std: "docker" "start" "-a" "18a47110859bf17f1ceaff288866174bed244e688bf04a2d1edaca51b6b5aaef", kill_on_drop: false }`
[INFO] [stderr]    Compiling codexmanager-core v0.2.5 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]    Compiling codexmanager-web v0.2.5 (/opt/rustwide/workdir/crates/web)
[INFO] [stderr]    Compiling codexmanager-service v0.2.5 (/opt/rustwide/workdir/crates/service)
[INFO] [stderr]    Compiling codexmanager-start v0.2.5 (/opt/rustwide/workdir/crates/start)
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> crates/start/src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 03s
[INFO] running `Command { std: "docker" "inspect" "18a47110859bf17f1ceaff288866174bed244e688bf04a2d1edaca51b6b5aaef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "18a47110859bf17f1ceaff288866174bed244e688bf04a2d1edaca51b6b5aaef", kill_on_drop: false }`
[INFO] [stdout] 18a47110859bf17f1ceaff288866174bed244e688bf04a2d1edaca51b6b5aaef
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7e8752c7e961d36b9957aefd10b8698f3ab72c42b5d0546494f6ae1d01e4662d
[INFO] running `Command { std: "docker" "start" "-a" "7e8752c7e961d36b9957aefd10b8698f3ab72c42b5d0546494f6ae1d01e4662d", kill_on_drop: false }`
[INFO] [stderr]    Compiling codexmanager-web v0.2.5 (/opt/rustwide/workdir/crates/web)
[INFO] [stderr] warning: unused import: `std::io`
[INFO] [stderr]  --> crates/start/src/main.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::io;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `codexmanager-start` (bin "codexmanager-start" test) generated 1 warning (run `cargo fix --bin "codexmanager-start" -p codexmanager-start --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/codexmanager_core-c976e14bb76fa78d)
[INFO] [stdout] 
[INFO] [stdout] running 40 tests
[INFO] [stdout] test rpc::types::tests::account_list_result_serialization_includes_pagination_fields ... ok
[INFO] [stdout] test rpc::types::tests::request_log_list_params_default_to_first_page_with_twenty_items ... ok
[INFO] [stdout] test rpc::types::tests::api_key_usage_stat_summary_serialization_uses_camel_case ... ok
[INFO] [stdout] test rpc::types::tests::request_log_summary_serialization_includes_trace_route_fields ... ok
[INFO] [stdout] test rpc::types::tests::account_list_params_default_to_first_page_with_five_items ... ok
[INFO] [stdout] test rpc::types::tests::request_log_filter_summary_serialization_uses_camel_case ... ok
[INFO] [stdout] test rpc::types::tests::account_summary_serialization_matches_compact_contract ... ok
[INFO] [stdout] test rpc::types::tests::request_log_list_result_serialization_includes_pagination_fields ... ok
[INFO] [stdout] test storage::migration_tests::account_meta_sql_migration_coexists_with_legacy_compat_marker ... ok
[INFO] [stdout] test storage::events::tests::latest_account_status_reasons_returns_latest_reason_per_account ... ok
[INFO] [stdout] test storage::migration_tests::api_key_profile_drop_azure_protocol_migration_normalizes_legacy_rows ... ok
[INFO] [stdout] test storage::conversation_bindings::tests::conversation_binding_roundtrip_and_touch ... ok
[INFO] [stdout] test storage::migration_tests::api_key_profile_migration_backfills_existing_keys ... ok
[INFO] [stdout] test storage::accounts::tests::set_preferred_account_keeps_only_one_account_selected ... ok
[INFO] [stdout] test storage::migration_tests::file_open_enables_wal_and_normal_synchronous ... ok
[INFO] [stdout] test storage::conversation_bindings::tests::conversation_binding_upsert_rebinds_existing_pair ... ok
[INFO] [stdout] test storage::migration_tests::accounts_sort_index_migration_adds_sort_updated_at_index ... ok
[INFO] [stdout] test storage::gateway_error_logs::tests::gateway_error_logs_support_stage_filter_and_pagination ... ok
[INFO] [stdout] test storage::conversation_bindings::tests::conversation_binding_delete_helpers_remove_rows ... ok
[INFO] [stdout] test storage::migration_tests::sql_migration_can_fallback_to_compat_when_schema_already_exists ... ok
[INFO] [stdout] test storage::accounts::tests::list_gateway_candidates_only_returns_active_available_accounts ... ok
[INFO] [stdout] test storage::migration_tests::conversation_bindings_migration_adds_indexes ... ok
[INFO] [stdout] test storage::request_log_query::tests::prefixed_account_query_supports_alias ... ok
[INFO] [stdout] test storage::request_log_query::tests::prefixed_field_query_keeps_like_mode_by_default ... ok
[INFO] [stdout] test storage::request_log_query::tests::prefixed_field_query_supports_exact_mode ... ok
[INFO] [stdout] test storage::request_log_query::tests::prefixed_request_type_and_service_tier_queries_are_supported ... ok
[INFO] [stdout] test storage::migration_tests::key_hash_index_migration_adds_api_keys_index ... ok
[INFO] [stdout] test storage::migration_tests::usage_snapshot_latest_index_migration_adds_captured_id_index ... ok
[INFO] [stdout] test storage::migration_tests::request_logs_compact_migration_drops_legacy_usage_columns_and_preserves_rows ... ok
[INFO] [stdout] test storage::plugins::tests::list_due_plugin_tasks_returns_enabled_interval_tasks ... ok
[INFO] [stdout] test storage::migration_tests::init_tracks_schema_migrations_and_is_idempotent ... ok
[INFO] [stdout] test storage::plugins::tests::update_plugin_task_definition_updates_interval ... ok
[INFO] [stdout] test storage::request_logs::tests::token_stat_failure_still_commits_request_log ... ok
[INFO] [stdout] test storage::migration_tests::init_upgrades_legacy_model_catalog_table_to_structured_schema ... ok
[INFO] [stdout] test storage::request_logs::tests::insert_request_log_with_token_stat_is_visible_via_join ... ok
[INFO] [stdout] test storage::request_logs::tests::method_exact_query_matches_composite_index ... ok
[INFO] [stdout] test storage::request_logs::tests::request_logs_filtered_summary_aggregates_counts_and_tokens ... ok
[INFO] [stdout] test storage::request_logs::tests::key_exact_query_matches_composite_index ... ok
[INFO] [stdout] test storage::request_logs::tests::request_logs_support_backend_pagination_and_status_filters ... ok
[INFO] [stdout] test storage::request_logs::tests::request_logs_support_time_range_filters ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.89s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/auth.rs (/opt/rustwide/target/debug/deps/auth-2ae5fef2f74a068f)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test normalize_scoped_identity_values_extracts_account_and_workspace_segments ... ok
[INFO] [stdout] test parse_id_token_claims_extracts_email_and_sub ... ok
[INFO] [stdout] test extract_scope_ids_from_token_filters_storage_style_identity_suffix ... ok
[INFO] [stdout] test extract_token_exp_reads_exp_claim ... ok
[INFO] [stdout] test build_authorize_url_matches_codex ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/storage.rs (/opt/rustwide/target/debug/deps/storage-8b2745aaeb87c76d)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test request_log_today_summary_reads_from_token_stats_table ... ok
[INFO] [stdout] test storage_account_metadata_roundtrip_and_delete_cleanup ... ok
[INFO] [stdout] test insert_request_log_with_token_stat_writes_both_tables_in_one_call ... ok
[INFO] [stdout] test storage_account_subscription_roundtrip_and_delete_cleanup ... ok
[INFO] [stdout] test clear_request_logs_keeps_token_stats_for_usage_summary ... ok
[INFO] [stdout] test request_token_stats_can_summarize_total_tokens_by_key ... ok
[INFO] [stdout] test latest_usage_snapshots_break_ties_by_latest_id ... ok
[INFO] [stdout] test request_logs_support_prefixed_query_filters ... ok
[INFO] [stdout] test storage_api_keys_include_profile_fields ... ok
[INFO] [stdout] test storage_account_usage_filters_support_sql_pagination ... ok
[INFO] [stdout] test storage_can_insert_account_and_token ... ok
[INFO] [stdout] test storage_can_find_token_and_account_by_account_id ... ok
[INFO] [stdout] test storage_can_roundtrip_api_key_secret ... ok
[INFO] [stdout] test storage_login_session_roundtrip ... ok
[INFO] [stdout] test storage_gateway_candidates_exclude_unavailable_or_missing_token_accounts ... ok
[INFO] [stdout] test storage_can_update_account_status ... ok
[INFO] [stdout] test token_upsert_keeps_refresh_schedule_columns ... ok
[INFO] [stdout] test tokens_due_for_refresh_include_other_unavailable_accounts_but_skip_deactivated ... ok
[INFO] [stdout] test usage_snapshots_can_prune_history_per_account ... ok
[INFO] [stderr]      Running tests/usage.rs (/opt/rustwide/target/debug/deps/usage-e640e8f17171cfd3)
[INFO] [stdout] test storage_updates_account_status_only_when_changed ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.83s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test usage_snapshot_parsed ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/version.rs (/opt/rustwide/target/debug/deps/version-2870219b554e436b)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/codexmanager_service-ecc2ce6a6d5f3211)
[INFO] [stdout] test core_version_is_set ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 727 tests
[INFO] [stdout] test account::availability::tests::availability_marks_missing_primary_unavailable ... ok
[INFO] [stdout] test account::availability::tests::availability_marks_missing_secondary_available_when_both_secondary_fields_absent ... ok
[INFO] [stdout] test account::availability::tests::availability_marks_exhausted_secondary_unavailable ... ok
[INFO] [stdout] test account::availability::tests::availability_marks_ok_available ... ok
[INFO] [stdout] test account::availability::tests::availability_marks_partial_secondary_missing_available ... ok
[INFO] [stdout] test account::import::tests::extract_token_payload_allows_missing_id_and_refresh_tokens ... ok
[INFO] [stdout] test account::export::tests::select_accounts_for_export_returns_selected_subset ... ok
[INFO] [stdout] test account::import::tests::extract_token_payload_supports_camel_case_fields ... ok
[INFO] [stdout] test account::export::tests::sanitize_file_stem_replaces_windows_invalid_chars ... ok
[INFO] [stdout] test account::export::tests::sanitize_file_stem_trims_tailing_space_and_dot ... ok
[INFO] [stdout] test account::import::tests::extract_token_payload_supports_flat_codex_format ... ok
[INFO] [stdout] test account::import::tests::resolve_logical_account_id_distinguishes_workspace_under_same_chatgpt ... ok
[INFO] [stdout] test account::import::tests::resolve_logical_account_id_is_stable_when_scope_is_stable ... ok
[INFO] [stdout] test account::export::tests::single_export_bundle_uses_array_shape_for_reimport ... ok
[INFO] [stdout] test account::plan::tests::extract_plan_type_from_credits_json_reads_nested_value ... ok
[INFO] [stdout] test account::plan::tests::extract_plan_type_from_id_token_reads_chatgpt_claim ... ok
[INFO] [stdout] test account::import::tests::import_single_item_allows_missing_id_and_refresh_tokens ... ok
[INFO] [stdout] test account::plan::tests::free_plan_detection_accepts_common_variants ... ok
[INFO] [stdout] test account::import::tests::existing_account_index_next_sort_uses_step_five ... ok
[INFO] [stdout] test account::plan::tests::free_plan_detection_accepts_credits_json_marker ... ok
[INFO] [stdout] test account::plan::tests::free_plan_detection_rejects_paid_or_unknown_variants ... ok
[INFO] [stdout] test account::plan::tests::normalize_plan_type_maps_known_variants ... ok
[INFO] [stdout] test account::plan::tests::single_window_long_usage_snapshot_counts_as_free_like ... ok
[INFO] [stdout] test account::import::tests::import_single_item_reuses_existing_login_account_by_scope_identity ... ok
[INFO] [stdout] test account::plan::tests::resolve_account_plan_prefers_token_claims_and_falls_back_to_usage ... ok
[INFO] [stdout] test account::plan::tests::account_plan_filter_unknown_accepts_unresolved_accounts ... ok
[INFO] [stdout] test account::status::tests::classify_account_availability_signal_separates_usage_refresh_and_deactivation ... ok
[INFO] [stdout] test account::import::tests::import_single_item_prefers_meta_fields_for_new_account ... ok
[INFO] [stdout] test account::cleanup::tests::delete_banned_accounts_removes_only_banned_accounts ... ok
[INFO] [stdout] test account::plan::tests::free_or_single_window_account_accepts_weekly_single_window_without_plan_claim ... ok
[INFO] [stdout] test account::warmup::tests::should_retry_warmup_with_refresh_only_for_auth_errors_with_refresh_token ... ok
[INFO] [stdout] test aggregate_api::tests::action_override_disabled_stays_none ... ok
[INFO] [stdout] test aggregate_api::tests::action_override_enabled_and_empty_preserves_empty_string ... ok
[INFO] [stdout] test aggregate_api::tests::empty_action_uses_default_path ... ok
[INFO] [stdout] test account::warmup::tests::resolve_warmup_model_slug_falls_back_when_catalog_missing ... ok
[INFO] [stdout] test apikey::models::tests::merge_managed_catalog_preserves_user_edited_entries_when_remote_refreshes ... ok
[INFO] [stdout] test account::warmup::tests::resolve_target_accounts_only_returns_gateway_available_accounts ... ok
[INFO] [stdout] test apikey::models::tests::normalize_models_response_keeps_full_model_metadata ... ok
[INFO] [stdout] test apikey::models::tests::normalize_models_response_maps_hidden_visibility_to_hide ... ok
[INFO] [stdout] test apikey::models::tests::merge_models_response_updates_existing_without_removing_cached_fields ... ok
[INFO] [stdout] test apikey::profile::tests::removed_azure_protocol_falls_back_to_wildcard_routing ... ok
[INFO] [stdout] test apikey::profile::tests::removed_azure_protocol_is_rejected_for_profile_configuration ... ok
[INFO] [stdout] test apikey::profile::tests::wildcard_protocol_routes_gemini_cli_internal_count_tokens_path_to_gemini ... ok
[INFO] [stdout] test apikey::profile::tests::wildcard_protocol_routes_gemini_cli_internal_generate_content_path_to_gemini ... ok
[INFO] [stdout] test apikey::profile::tests::wildcard_protocol_routes_gemini_count_tokens_path_to_gemini ... ok
[INFO] [stdout] test apikey::profile::tests::wildcard_protocol_routes_gemini_generate_content_path_to_gemini ... ok
[INFO] [stdout] test apikey::profile::tests::wildcard_protocol_routes_messages_path_to_anthropic ... ok
[INFO] [stdout] test apikey::profile::tests::wildcard_protocol_routes_responses_path_to_openai ... ok
[INFO] [stdout] test app_settings::api::current::tests::free_account_max_model_options_fallback_to_curated_defaults ... ok
[INFO] [stdout] test app_settings::api::current::tests::free_account_max_model_options_reuse_cached_model_picker_options ... ok
[INFO] [stdout] test app_settings::api::current::tests::plugin_market_mode_normalization_defaults_to_builtin ... ok
[INFO] [stdout] test app_settings::env_overrides::catalog::tests::catalog_marks_request_semantic_env_overrides_as_high_risk ... ok
[INFO] [stdout] test account::warmup::tests::resolve_warmup_model_slug_uses_first_supported_model_from_catalog_order ... ok
[INFO] [stdout] test app_settings::ui::tests::ui_locale_normalization_accepts_supported_aliases ... ok
[INFO] [stdout] test app_settings::ui::tests::ui_locale_normalization_defaults_to_chinese ... ok
[INFO] [stdout] test auth::account::tests::resolve_plan_type_falls_back_to_id_token_when_access_claims_missing ... ok
[INFO] [stdout] test auth::account::tests::resolve_plan_type_prefers_latest_access_token_claims ... ok
[INFO] [stdout] test auth::account::tests::resolve_plan_type_preserves_unknown_raw_value_for_diagnostics ... ok
[INFO] [stdout] test auth::callback::tests::callback_error_page_escapes_message ... ok
[INFO] [stdout] test auth::callback::tests::callback_html_response_forces_connection_close ... ok
[INFO] [stdout] test auth::callback::tests::callback_success_page_contains_auto_close_script ... ok
[INFO] [stdout] test auth::callback::tests::login_server_rejects_non_loopback_by_default ... ok
[INFO] [stdout] test auth::callback::tests::login_server_reports_port_in_use ... ok
[INFO] [stdout] test auth::callback::tests::login_start_fails_when_login_server_cannot_bind ... ok
[INFO] [stdout] test auth::callback::tests::oauth_callback_error_message_maps_missing_entitlement ... ok
[INFO] [stdout] test auth::callback::tests::resolve_redirect_uri_prefers_login_server ... ok
[INFO] [stdout] test auth::tokens::tests::build_account_storage_id_keeps_login_scope_shape ... ok
[INFO] [stdout] test auth::tokens::tests::ensure_workspace_allowed_accepts_composite_scope_values_after_normalization ... ok
[INFO] [stdout] test auth::tokens::tests::ensure_workspace_allowed_accepts_matching_auth_chatgpt_account_id ... ok
[INFO] [stdout] test auth::tokens::tests::ensure_workspace_allowed_rejects_mismatched_workspace ... ok
[INFO] [stdout] test account::import::tests::import_account_auth_json_keeps_valid_items_when_one_content_is_invalid ... ok
[INFO] [stdout] test auth::tokens::tests::format_api_key_exchange_status_error_appends_debug_headers ... ok
[INFO] [stdout] test auth::tokens::tests::format_api_key_exchange_status_error_uses_identity_header_when_body_empty ... ok
[INFO] [stdout] test auth::tokens::tests::format_token_endpoint_status_error_accepts_raw_error_json_header ... ok
[INFO] [stdout] test auth::tokens::tests::format_token_endpoint_status_error_appends_debug_headers ... ok
[INFO] [stdout] test auth::tokens::tests::format_token_endpoint_status_error_marks_cloudflare_blocked_kind ... ok
[INFO] [stdout] test auth::tokens::tests::format_token_endpoint_status_error_uses_cloudflare_edge_kind_when_only_cf_ray_exists ... ok
[INFO] [stdout] test auth::tokens::tests::format_token_endpoint_status_error_uses_header_only_blocked_signal ... ok
[INFO] [stdout] test auth::tokens::tests::issuer_uses_loopback_host_accepts_local_test_issuers ... ok
[INFO] [stdout] test auth::tokens::tests::issuer_uses_loopback_host_rejects_remote_issuers ... ok
[INFO] [stdout] test apikey::models::tests::managed_catalog_round_trip_preserves_source_kind_and_user_overrides ... ok
[INFO] [stdout] test account::status::tests::gateway_usage_limit_error_does_not_persist_unavailable_status ... ok
[INFO] [stdout] test auth::tokens::tests::next_account_sort_uses_step_five ... ok
[INFO] [stdout] test auth::tokens::tests::exchange_code_for_tokens_matches_official_login_server_headers ... ok
[INFO] [stdout] test account::status::tests::gateway_usage_limit_error_marks_account_limited_when_snapshot_exhausted ... ok
[INFO] [stdout] test auth::tokens::tests::parse_token_endpoint_error_prefers_error_description ... ok
[INFO] [stdout] test auth::tokens::tests::parse_token_endpoint_error_preserves_plain_text_for_display ... ok
[INFO] [stdout] test auth::tokens::tests::parse_token_endpoint_error_summarizes_blocked_cloudflare_html ... ok
[INFO] [stdout] test apikey::models::tests::read_model_options_from_storage_reads_structured_catalog ... ok
[INFO] [stdout] test auth::tokens::tests::parse_token_endpoint_error_reads_nested_error_message_and_code ... ok
[INFO] [stdout] test auth::tokens::tests::parse_token_endpoint_error_summarizes_challenge_html ... ok
[INFO] [stdout] test auth::tokens::tests::parse_token_endpoint_error_summarizes_generic_html ... ok
[INFO] [stdout] test gateway::availability_tests::auth_headers::drop_incoming_header_keeps_session_affinity_for_primary_attempt ... ok
[INFO] [stdout] test gateway::availability_tests::auth_headers::drop_incoming_header_for_failover_strips_session_affinity ... ok
[INFO] [stdout] test errors::tests::classify_known_messages ... ok
[INFO] [stdout] test gateway::availability_tests::failover_paths::compute_url_keeps_v1_for_models_on_codex_backend ... ok
[INFO] [stdout] test account::warmup::tests::build_warmup_headers_omits_non_codex_headers ... ok
[INFO] [stdout] test gateway::availability_tests::failover_paths::models_path_does_not_try_openai_fallback ... ok
[INFO] [stdout] test gateway::availability_tests::failover_paths::normalize_models_path_keeps_existing_query_string ... ok
[INFO] [stdout] test gateway::availability_tests::failover_paths::normalize_models_path_keeps_original_path ... ok
[INFO] [stdout] test gateway::availability_tests::failover_paths::normalize_upstream_base_url_for_chatgpt_host ... ok
[INFO] [stdout] test gateway::availability_tests::failover_paths::normalize_upstream_base_url_keeps_existing_backend_path ... ok
[INFO] [stdout] test gateway::availability_tests::failover_paths::status_fallback_only_triggers_for_responses_path ... ok
[INFO] [stdout] test gateway::availability_tests::fallback_rules::apply_request_overrides_accepts_xhigh ... ok
[INFO] [stdout] test gateway::availability_tests::fallback_rules::apply_request_overrides_maps_extra_high_to_xhigh ... ok
[INFO] [stdout] test gateway::availability_tests::fallback_rules::challenge_detection_requires_html_content_type ... ok
[INFO] [stdout] test gateway::availability_tests::fallback_rules::cooldown_reason_maps_status ... ok
[INFO] [stdout] test gateway::availability_tests::fallback_rules::html_content_type_detection ... ok
[INFO] [stdout] test gateway::availability_tests::failover_paths::compute_url_keeps_compact_responses_for_codex_backend ... ok
[INFO] [stdout] test gateway::availability_tests::metrics_tokens::candidate_skip_metrics_track_reason_breakdown ... ok
[INFO] [stdout] test gateway::availability_tests::metrics_tokens::metrics_prometheus_contains_expected_series ... ok
[INFO] [stdout] test gateway::availability_tests::metrics_tokens::token_exchange_lock_reuses_same_account_lock ... ok
[INFO] [stdout] test gateway::availability_tests::metrics_tokens::rpc_metrics_track_failures_and_duration ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_json_response_deduplicates_consecutive_identical_text_blocks ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_json_response_maps_event_stream ... ok
[INFO] [stdout] test gateway::availability_tests::metrics_tokens::usage_refresh_metrics_track_success_and_failure ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_json_response_maps_from_openai_responses_shape ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_json_response_maps_from_openai_shape ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_json_response_maps_openai_error_body ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_json_response_maps_openai_tool_calls ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_messages_request_drops_query_params ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_messages_request_maps_to_responses ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_messages_request_sets_prompt_cache_key ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_json_response_maps_responses_function_call_input_field ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_request_ignores_unsupported_block_type ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_sse_response_edit_ignores_placeholder_input_on_added ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_sse_response_edit_prefers_streamed_args_over_truncated_completed_output ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_sse_response_maps_event_stream ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_sse_response_edit_done_placeholder_does_not_erase_streamed_args ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_sse_response_maps_openai_responses_completed_event ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_sse_response_preserves_split_edit_arguments ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_sse_response_preserves_split_edit_arguments_without_completed_output ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_sse_response_uses_output_item_done_when_completed_output_empty ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_stream_request_uses_sse_adapter ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_tools_request_accepts_type_only_tool_definition ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_tools_request_maps_to_openai_tools_and_tool_choice ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_tools_request_respects_disable_parallel_tool_use ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_sse_response_maps_openai_tool_call_deltas ... ok
[INFO] [stdout] test gateway::availability_tests::failover_paths::failover_on_missing_usage ... ok
[INFO] [stdout] test app_settings::gateway::tests::fetch_codex_latest_version_reads_registry_payload ... ok
[INFO] [stdout] test auth::tokens::tests::pick_existing_account_matches_exact_workspace_scope ... ok
[INFO] [stdout] test gateway::availability_tests::auth_headers::resolve_openai_bearer_token_uses_cached_storage_value ... ok
[INFO] [stdout] test auth::tokens::tests::pick_existing_account_requires_exact_scope_when_workspace_present ... ok
[INFO] [stdout] test auth::tokens::tests::obtain_api_key_matches_official_login_server_headers ... ok
[INFO] [stdout] test gateway::availability_tests::upstream_headers::codex_compact_header_profile_matches_remote_compact_shape ... ok
[INFO] [stdout] test gateway::availability_tests::upstream_headers::codex_compact_header_profile_omits_session_without_thread_anchor ... ok
[INFO] [stdout] test gateway::availability_tests::upstream_headers::codex_header_profile_can_disable_affinity_headers ... ok
[INFO] [stdout] test gateway::availability_tests::upstream_headers::codex_compact_header_profile_omits_subagent_without_explicit_source ... ok
[INFO] [stdout] test gateway::availability_tests::upstream_headers::codex_header_profile_does_not_forward_conversation_header_even_with_fallback ... ok
[INFO] [stdout] test gateway::concurrency::tests::larger_machine_scales_up_gradually ... ok
[INFO] [stdout] test gateway::concurrency::tests::small_machine_prefers_conservative_values ... ok
[INFO] [stdout] test gateway::conversation_binding::tests::apply_candidate_rotation_reports_binding_source_when_binding_selected ... ok
[INFO] [stdout] test gateway::conversation_binding::tests::effective_thread_anchor_prefers_existing_binding_anchor ... ok
[INFO] [stdout] test gateway::conversation_binding::tests::prepare_conversation_routing_rotates_bound_account_first ... ok
[INFO] [stdout] test gateway::conversation_binding::tests::resolve_attempt_thread_uses_next_generation_for_switched_account ... ok
[INFO] [stdout] test gateway::availability_tests::upstream_headers::codex_header_profile_does_not_invent_client_request_id_on_failover ... ok
[INFO] [stdout] test gateway::cooldown::tests::lookup_evicts_expired_target_entry_without_full_scan ... ok
[INFO] [stdout] test gateway::cooldown::tests::mark_path_cleanup_prunes_expired_entries ... ok
[INFO] [stdout] test gateway::cooldown::tests::non_rate_limited_mark_keeps_existing_behavior_without_offense_count ... ok
[INFO] [stdout] test gateway::cooldown::tests::rate_limit_ladder_maps_to_expected_steps ... ok
[INFO] [stdout] test gateway::cooldown::tests::rate_limited_mark_increments_and_success_clear_decays_offense ... ok
[INFO] [stdout] test gateway::cooldown::tests::rate_limited_offense_resets_after_quiet_period ... ok
[INFO] [stdout] test gateway::error_response::tests::terminal_text_response_sets_error_code_header ... ok
[INFO] [stdout] test gateway::error_response::tests::with_trace_id_header_appends_trace_header ... ok
[INFO] [stdout] test gateway::http_bridge::aggregate::openai_responses_event::tests::parse_openai_responses_event_maps_bare_incomplete_to_user_friendly_terminal ... ok
[INFO] [stdout] test gateway::http_bridge::aggregate::openai_responses_event::tests::parse_openai_responses_event_maps_stream_timeout_hint_to_idle_timeout ... ok
[INFO] [stdout] test gateway::http_bridge::aggregate::output_text::tests::bridge_error_message_reports_stream_incomplete_in_chinese ... ok
[INFO] [stdout] test gateway::http_bridge::aggregate::output_text::tests::extract_error_hint_from_body_prefers_json_message ... ok
[INFO] [stdout] test gateway::conversation_binding::tests::terminal_response_creates_and_rebinds_conversation_binding_on_success ... ok
[INFO] [stdout] test gateway::http_bridge::aggregate::output_text::tests::extract_error_hint_from_body_summarizes_unsupported_model_detail_json ... ok
[INFO] [stdout] test gateway::http_bridge::aggregate::output_text::tests::extract_error_hint_from_body_summarizes_unsupported_model_json ... ok
[INFO] [stdout] test gateway::availability_tests::upstream_headers::codex_header_profile_regenerates_session_on_failover ... ok
[INFO] [stdout] test gateway::http_bridge::aggregate::output_text::tests::extract_error_hint_from_body_summarizes_html_body ... ok
[INFO] [stdout] test gateway::http_bridge::aggregate::output_text::tests::limit_upstream_error_hint_truncates_large_body ... ok
[INFO] [stdout] test gateway::http_bridge::aggregate::output_text::tests::summarize_upstream_error_hint_recognizes_challenge_html ... ok
[INFO] [stdout] test gateway::http_bridge::aggregate::output_text::tests::summarize_upstream_error_hint_recognizes_generic_html ... ok
[INFO] [stdout] test gateway::http_bridge::aggregate::output_text::tests::summarize_upstream_error_hint_recognizes_unsupported_model ... ok
[INFO] [stdout] test gateway::http_bridge::aggregate::sse_frame::tests::inspect_openai_responses_sse_frame_collects_output_item_text ... ok
[INFO] [stdout] test gateway::http_bridge::aggregate::sse_frame::tests::inspect_openai_responses_sse_frame_collects_structured_delta_text ... ok
[INFO] [stdout] test gateway::http_bridge::aggregate::sse_frame::tests::inspect_sse_frame_anthropic_native_treats_message_stop_as_terminal ... ok
[INFO] [stdout] test gateway::http_bridge::aggregate::sse_frame::tests::inspect_sse_frame_generic_mode_does_not_treat_message_stop_as_terminal ... ok
[INFO] [stdout] test gateway::http_bridge::aggregate::sse_frame::tests::inspect_sse_frame_keeps_last_event_type_from_header ... ok
[INFO] [stdout] test gateway::http_bridge::aggregate::sse_frame::tests::inspect_sse_frame_keeps_last_event_type_from_json_type ... ok
[INFO] [stdout] test gateway::http_bridge::delivery::tests::compact_header_only_cf_ray_is_classified_as_cloudflare_edge ... ok
[INFO] [stdout] test gateway::http_bridge::delivery::tests::compact_header_only_identity_error_is_normalized_and_classified ... ok
[INFO] [stdout] test gateway::http_bridge::stream_readers::common::tests::classify_upstream_stream_read_error_maps_body_error ... ok
[INFO] [stdout] test gateway::http_bridge::stream_readers::common::tests::classify_upstream_stream_read_error_maps_disconnect ... ok
[INFO] [stdout] test gateway::http_bridge::stream_readers::common::tests::classify_upstream_stream_read_error_maps_timeout ... ok
[INFO] [stdout] test gateway::http_bridge::stream_readers::common::tests::stream_terminal_messages_are_user_friendly ... ok
[INFO] [stdout] test gateway::http_bridge::stream_readers::passthrough::tests::extract_usage_limit_ignores_frames_without_data ... ok
[INFO] [stdout] test gateway::http_bridge::stream_readers::passthrough::tests::extract_usage_limit_ignores_unrelated_content ... ok
[INFO] [stdout] test gateway::http_bridge::stream_readers::passthrough::tests::extract_usage_limit_matches_plain_text_delta ... ok
[INFO] [stdout] test gateway::http_bridge::stream_readers::passthrough::tests::extract_usage_limit_matches_quota_exceeded_json ... ok
[INFO] [stdout] test gateway::availability_tests::upstream_headers::codex_header_profile_sets_required_headers_for_stream ... ok
[INFO] [stdout] test gateway::availability_tests::upstream_headers::codex_header_profile_skips_account_header_when_disabled ... ok
[INFO] [stdout] test gateway::http_bridge::tests::apply_openai_stream_meta_defaults_fills_missing_chunk_meta ... ok
[INFO] [stdout] test gateway::http_bridge::tests::collect_non_stream_json_from_sse_bytes_backfills_function_call_output_items ... ok
[INFO] [stdout] test gateway::http_bridge::tests::collect_non_stream_json_from_sse_bytes_backfills_reasoning_output_items ... ok
[INFO] [stdout] test gateway::http_bridge::tests::collect_non_stream_json_from_sse_bytes_backfills_response_output_from_deltas ... ok
[INFO] [stdout] test gateway::http_bridge::tests::collect_non_stream_json_from_sse_bytes_extracts_response_completed ... ok
[INFO] [stdout] test gateway::http_bridge::tests::collect_non_stream_json_from_sse_bytes_extracts_response_done ... ok
[INFO] [stdout] test gateway::http_bridge::tests::collect_non_stream_json_from_sse_bytes_supports_event_only_type_frames ... ok
[INFO] [stdout] test gateway::http_bridge::tests::collect_non_stream_json_from_sse_bytes_synthesizes_chat_completion_chunks ... ok
[INFO] [stdout] test gateway::http_bridge::tests::anthropic_sse_reader_final_usage_contains_input_cache_and_output_tokens ... ok
[INFO] [stdout] test gateway::http_bridge::tests::anthropic_sse_reader_uses_request_model_when_upstream_stream_omits_model ... ok
[INFO] [stdout] test gateway::http_bridge::tests::extract_openai_completed_output_text_reads_completed_output_message_text ... ok
[INFO] [stdout] test gateway::availability_tests::upstream_headers::codex_header_profile_uses_dynamic_originator_and_residency_requirement ... ok
[INFO] [stdout] test gateway::http_bridge::tests::gemini_raw_reader_emits_plain_json_error_for_incomplete_stream ... ok
[INFO] [stdout] test gateway::availability_tests::upstream_headers::codex_header_profile_uses_fallback_session_when_incoming_missing ... ok
[INFO] [stdout] test gateway::http_bridge::tests::gemini_sse_reader_completed_message_output_still_emits_final_text ... ok
[INFO] [stdout] test gateway::availability_tests::upstream_headers::codex_header_profile_uses_json_accept_for_non_stream ... ok
[INFO] [stdout] test gateway::http_bridge::aggregate::output_text::tests::output_text_limit_defaults_to_unbounded_when_env_missing ... ok
[INFO] [stdout] test gateway::http_bridge::aggregate::output_text::tests::output_text_limit_invalid_value_falls_back_to_unbounded ... ok
[INFO] [stdout] test gateway::http_bridge::tests::gemini_sse_reader_emits_structured_error_frame_for_incomplete_stream ... ok
[INFO] [stdout] test gateway::http_bridge::tests::gemini_cli_sse_reader_wraps_chunks_in_response_field ... ok
[INFO] [stdout] test gateway::http_bridge::tests::inspect_sse_frame_recognizes_done_marker ... ok
[INFO] [stdout] test gateway::http_bridge::tests::inspect_sse_frame_recognizes_nested_response_error_message ... ok
[INFO] [stdout] test gateway::http_bridge::tests::inspect_sse_frame_recognizes_chat_completion_finish_reason_as_terminal ... ok
[INFO] [stdout] test gateway::http_bridge::tests::inspect_sse_frame_recognizes_response_done_as_terminal ... ok
[INFO] [stdout] test gateway::http_bridge::tests::live_chat_stream_skips_done_and_message_item_text_events ... ok
[INFO] [stdout] test gateway::http_bridge::tests::inspect_sse_frame_recognizes_response_failed_as_terminal_error ... ok
[INFO] [stdout] test gateway::http_bridge::tests::live_completion_stream_skips_done_and_message_item_text_events ... ok
[INFO] [stdout] test gateway::http_bridge::tests::normalize_chat_chunk_delta_role_keeps_first_and_removes_later ... ok
[INFO] [stdout] test gateway::http_bridge::tests::gemini_raw_reader_outputs_plain_json_chunks ... ok
[INFO] [stdout] test gateway::http_bridge::tests::gemini_sse_reader_does_not_treat_function_call_output_as_final_text ... ok
[INFO] [stdout] test gateway::http_bridge::tests::gemini_sse_reader_waits_for_completed_full_arguments_before_emitting_tool_call ... ok
[INFO] [stdout] test gateway::http_bridge::tests::gemini_cli_sse_reader_does_not_emit_comment_keepalive_frames ... ok
[INFO] [stdout] test gateway::http_bridge::tests::openai_chat_sse_reader_requires_terminal_event_before_success ... ok
[INFO] [stdout] test gateway::http_bridge::tests::gemini_sse_reader_requires_response_completed_before_done ... ok
[INFO] [stdout] test gateway::http_bridge::tests::gemini_sse_reader_marks_incomplete_trailing_json_as_stream_error ... ok
[INFO] [stdout] test gateway::http_bridge::tests::parse_sse_frame_json_infers_type_from_event_name ... ok
[INFO] [stdout] test gateway::http_bridge::tests::parse_sse_frame_json_supports_json_lines_without_data_prefix ... ok
[INFO] [stdout] test gateway::http_bridge::tests::parse_usage_from_json_merges_response_usage_over_top_level_usage ... ok
[INFO] [stdout] test gateway::http_bridge::tests::parse_usage_from_json_reads_anthropic_compat_fields ... ok
[INFO] [stdout] test gateway::http_bridge::tests::parse_usage_from_json_reads_cached_and_reasoning_details ... ok
[INFO] [stdout] test gateway::http_bridge::tests::parse_usage_from_json_reads_response_usage_compat_fields ... ok
[INFO] [stdout] test gateway::http_bridge::tests::parse_usage_from_sse_frame_caps_output_text ... ok
[INFO] [stdout] test gateway::http_bridge::tests::parse_usage_from_sse_frame_reads_response_completed_usage ... ok
[INFO] [stdout] test gateway::http_bridge::tests::parse_usage_from_sse_frame_reads_top_level_and_response_usage ... ok
[INFO] [stdout] test gateway::http_bridge::tests::openai_completions_sse_reader_requires_terminal_event_before_success ... ok
[INFO] [stdout] test gateway::http_bridge::tests::openai_responses_passthrough_reader_maps_bare_incomplete_to_disconnect_message ... ok
[INFO] [stdout] test gateway::http_bridge::tests::passthrough_sse_reader_captures_raw_html_error_body ... ok
[INFO] [stdout] test gateway::http_bridge::tests::openai_responses_passthrough_reader_collects_output_item_field_text ... ok
[INFO] [stdout] test gateway::http_bridge::tests::synthesize_chat_completion_sse_from_json_emits_done_stream ... ok
[INFO] [stdout] test gateway::http_bridge::tests::synthesize_completions_sse_from_json_emits_done_stream ... ok
[INFO] [stdout] test gateway::incoming_headers::tests::case_insensitive_bearer_parsing_matches_sticky_derivation_behavior ... ok
[INFO] [stdout] test gateway::incoming_headers::tests::codex_headers_are_captured_from_http_headers ... ok
[INFO] [stdout] test gateway::incoming_headers::tests::goog_api_key_header_is_accepted_as_platform_key ... ok
[INFO] [stdout] test gateway::incoming_headers::tests::strict_bearer_parsing_matches_auth_extraction_behavior ... ok
[INFO] [stdout] test gateway::local_count_tokens::tests::estimate_gemini_cli_wrapped_input_tokens_uses_nested_request ... ok
[INFO] [stdout] test gateway::http_bridge::tests::openai_responses_passthrough_reader_marks_incomplete_terminal_error_from_status_details ... ok
[INFO] [stdout] test gateway::local_count_tokens::tests::estimate_gemini_input_tokens_uses_contents_and_system_instruction ... ok
[INFO] [stdout] test gateway::local_count_tokens::tests::estimate_input_tokens_rejects_invalid_json ... ok
[INFO] [stdout] test gateway::local_count_tokens::tests::estimate_input_tokens_rejects_non_object_payload ... ok
[INFO] [stdout] test gateway::local_count_tokens::tests::estimate_input_tokens_uses_messages_and_system_text ... ok
[INFO] [stdout] test gateway::local_models::tests::response_models_for_client_can_hide_descriptions_without_touching_metadata ... ok
[INFO] [stdout] test gateway::local_models::tests::serialize_models_response_outputs_official_shape ... ok
[INFO] [stdout] test gateway::local_count_tokens::tests::estimate_gemini_input_tokens_rejects_invalid_json ... ok
[INFO] [stdout] test gateway::local_validation::request::tests::aggregate_passthrough_applies_model_reasoning_and_service_tier_overrides_without_forcing_log_tier ... ok
[INFO] [stdout] test gateway::local_validation::request::tests::anthropic_key_applies_custom_model_and_reasoning ... ok
[INFO] [stdout] test gateway::local_validation::request::tests::anthropic_key_ignores_unsupported_flex_service_tier_on_responses_request ... ok
[INFO] [stdout] test gateway::local_validation::request::tests::aggregate_passthrough_preserves_fast_service_tier_for_log_when_request_is_rewritten ... ok
[INFO] [stdout] test gateway::local_validation::request::tests::anthropic_key_maps_fast_service_tier_to_priority_on_adapted_responses_request ... ok
[INFO] [stdout] test gateway::local_validation::request::tests::anthropic_key_keeps_empty_overrides ... ok
[INFO] [stdout] test gateway::local_validation::request::tests::codex_backend_passthrough_maps_fast_to_priority_but_keeps_fast_for_log ... ok
[INFO] [stdout] test gateway::local_validation::request::tests::native_codex_client_detection_uses_codex_signals_instead_of_client_brand ... ok
[INFO] [stdout] test gateway::local_validation::request::tests::non_native_responses_requests_force_codex_compat_rewrite ... ok
[INFO] [stdout] test gateway::local_validation::request::tests::openai_key_keeps_codex_long_tail_slug_override ... ok
[INFO] [stdout] test gateway::http_bridge::tests::openai_chat_sse_reader_emits_keepalive_chunk_during_idle_gap ... ok
[INFO] [stdout] test gateway::local_validation::request::tests::openai_key_keeps_empty_overrides ... ok
[INFO] [stdout] test gateway::http_bridge::tests::openai_responses_passthrough_reader_parses_split_events_with_eventsource_stream ... ok
[INFO] [stdout] test gateway::local_validation::request::tests::opencode_headers_with_only_session_id_still_force_compat_rewrite ... ok
[INFO] [stdout] test gateway::local_validation::request::tests::preferred_client_prompt_cache_key_is_disabled_for_anthropic_native_requests ... ok
[INFO] [stdout] test gateway::local_validation::request::tests::preferred_client_prompt_cache_key_is_ignored_even_when_matching_native_anchor ... ok
[INFO] [stdout] test gateway::local_validation::request::tests::preferred_client_prompt_cache_key_is_ignored_when_conversation_anchor_exists ... ok
[INFO] [stdout] test gateway::local_validation::request::tests::preferred_client_prompt_cache_key_is_ignored_when_turn_state_exists ... ok
[INFO] [stdout] test gateway::local_validation::request::tests::preferred_client_prompt_cache_key_is_used_without_native_anchor ... ok
[INFO] [stdout] test gateway::model_picker::parse::tests::parse_models_response_falls_back_to_items_array ... ok
[INFO] [stdout] test gateway::model_picker::parse::tests::parse_models_response_falls_back_to_legacy_data_array ... ok
[INFO] [stdout] test gateway::model_picker::parse::tests::parse_models_response_preserves_official_models_payload ... ok
[INFO] [stdout] test gateway::local_validation::request::tests::anthropic_model_must_exist_in_cached_model_options ... ok
[INFO] [stdout] test gateway::model_picker::request::tests::build_models_request_headers_match_codex_profile ... ok
[INFO] [stdout] test gateway::model_picker::request::tests::build_models_request_headers_omits_optional_headers_when_not_applicable ... ok
[INFO] [stdout] test gateway::model_picker::request::tests::summarize_models_error_response_includes_identity_error_code ... ok
[INFO] [stdout] test gateway::model_picker::request::tests::summarize_models_error_response_uses_stable_challenge_hint_and_debug_headers ... ok
[INFO] [stdout] test gateway::model_picker::tests::fallback_retry_matches_stable_html_and_challenge_summaries ... ok
[INFO] [stdout] test gateway::model_picker::tests::sort_model_picker_candidates_prefers_plan_tier_priority ... ok
[INFO] [stdout] test gateway::protocol_adapter::prompt_cache::tests::lru_capacity_evicts_least_recently_seen ... ok
[INFO] [stdout] test gateway::protocol_adapter::prompt_cache::tests::ttl_expires_after_idle_and_is_checked_on_access ... ok
[INFO] [stdout] test gateway::protocol_adapter::response_conversion::tool_mapping::merge_completed_tests::merge_keeps_streamed_when_completed_longer_but_empty_edits ... ok
[INFO] [stdout] test gateway::protocol_adapter::response_conversion::tool_mapping::merge_completed_tests::merge_takes_completed_when_strongly_better ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_request::anthropic_assistant_tool_use_preserves_text_order_in_responses_input ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_request::anthropic_messages_are_the_only_path_adapted_to_responses ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_request::anthropic_messages_default_tool_choice_is_auto ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_request::anthropic_messages_map_disabled_thinking_to_summary_none ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_request::anthropic_messages_map_text_and_base64_image_to_responses_input ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_request::anthropic_messages_map_thinking_and_output_config_effort_to_responses ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_request::anthropic_messages_map_url_image_to_responses_input ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_request::anthropic_messages_preserve_all_tools_across_multiple_mcp_servers ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_request::anthropic_messages_preserve_haiku_model ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_request::anthropic_messages_preserve_sonnet_model ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_request::anthropic_messages_preserve_unknown_model ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_request::anthropic_messages_require_model ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_request::anthropic_messages_shorten_long_tool_names_and_build_restore_map ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_request::anthropic_tool_result_with_image_maps_to_function_call_output_items ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_response::anthropic_chat_completions_still_passthrough ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_response::anthropic_json_response_from_sse_preserves_thinking_block ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_response::anthropic_json_response_maps_cache_usage_fields ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_response::anthropic_json_response_maps_custom_tool_call_output_to_text_block ... ok
[INFO] [stdout] test gateway::http_bridge::tests::passthrough_sse_reader_treats_message_stop_as_terminal_for_anthropic_native ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_response::anthropic_json_response_maps_image_generation_call_to_text_block ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_response::anthropic_json_response_maps_local_shell_call_to_text_block ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_response::anthropic_json_response_maps_custom_tool_call_to_tool_use ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_response::anthropic_json_response_maps_web_search_call_to_text_block ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_response::anthropic_json_response_restores_shortened_tool_name ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_response::anthropic_json_response_maps_reasoning_item_to_thinking_block ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_response::anthropic_sse_response_maps_cache_usage_fields ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_response::anthropic_sse_response_maps_custom_tool_call_to_tool_use_events ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_response::anthropic_sse_response_maps_reasoning_deltas_to_thinking_events ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_response::anthropic_sse_response_maps_web_search_call_to_text_events ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::anthropic_response::anthropic_sse_response_restores_shortened_tool_name ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::gemini_request::gemini_auto_tool_config_filters_to_allowed_function_names ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::gemini_request::gemini_cli_internal_generate_content_request_maps_to_responses ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::gemini_request::gemini_cli_internal_stream_request_uses_cli_sse_adapter ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::gemini_request::gemini_generate_content_request_maps_to_responses ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::gemini_request::gemini_function_response_with_inline_data_maps_to_function_call_output_items ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::gemini_request::gemini_mcp_tool_names_are_sanitized_for_openai_and_restored ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::gemini_request::gemini_request_maps_minimal_none_auto_and_include_thoughts ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::gemini_request::gemini_request_maps_thinking_config_and_tool_names ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::gemini_request::gemini_raw_stream_request_uses_raw_output_mode ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::gemini_request::gemini_request_unwraps_cli_shape_without_role_normalization ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::gemini_request::gemini_stream_generate_content_request_uses_sse_adapter_and_maps_tools ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::gemini_request::gemini_tools_preserve_parameters_json_schema_required_fields ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::gemini_response::gemini_cli_sse_response_wraps_each_chunk_in_response_field ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::gemini_response::gemini_cli_json_response_wraps_gemini_payload_in_response_field ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::gemini_response::gemini_json_response_restores_sanitized_mcp_tool_names ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::gemini_response::gemini_json_response_maps_from_openai_responses_shape ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::gemini_response::gemini_sse_response_ignores_output_item_id_for_tool_call_identity ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::gemini_response::gemini_sse_response_maps_openai_responses_event_stream ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::gemini_response::gemini_sse_response_skips_placeholder_arguments_until_completed_tool_call ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::gemini_response::gemini_sse_response_waits_for_completed_arguments_before_emitting_tool_call ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_request::openai_chat_completions_are_adapted_to_responses ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_request::openai_chat_completions_forward_service_tier_to_responses ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_request::openai_chat_completions_forward_text_verbosity_to_responses ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_request::openai_chat_completions_map_dynamic_tools_to_responses_tools ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_request::openai_chat_completions_omits_tool_defaults_without_tools ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_request::openai_chat_completions_preserve_image_only_user_content ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_request::openai_chat_completions_preserve_explicit_reasoning_effort_and_include ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_request::openai_chat_completions_preserve_multimodal_user_content ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_request::openai_chat_completions_reasoning_defaults_are_omitted_when_absent ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_request::openai_chat_completions_stream_passthrough_is_forwarded ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_request::openai_chat_completions_shortens_tool_names_and_builds_restore_map ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_request::openai_chat_json_response_restores_shortened_tool_name ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_request::openai_chat_completions_stream_uses_sse_adapter ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_request::openai_chat_stream_chunk_restores_shortened_tool_name ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_request::openai_completions_are_adapted_to_responses ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_request::openai_responses_passthrough_keeps_responses_path ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_response_is_converted_from_custom_tool_call_json ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_response_is_converted_from_custom_tool_call_output_json ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_response_is_converted_from_image_generation_call_json ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_response_is_converted_from_local_shell_call_json ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_response_is_converted_from_openclaw_tool_call_json ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_response_is_converted_from_output_text_item ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_response_is_converted_from_responses_json ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_request::openai_completions_stream_uses_sse_adapter ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_response_is_converted_from_web_search_call_json ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_stream_chunk_fallback_maps_unknown_text_event ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_stream_chunk_maps_function_call_argument_delta ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_stream_collapse_avoids_done_and_item_text_duplication ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_stream_merges_completed_tool_calls_when_assistant_text_nonempty ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_stream_event_only_completed_still_outputs_text ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_stream_response_accepts_output_item_added_text ... ok
[INFO] [stdout] test gateway::http_bridge::tests::openai_responses_passthrough_reader_passthroughs_raw_sse_without_keepalive_injection ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_stream_response_accepts_output_item_done_text ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_stream_response_completed_only_still_outputs_text ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_stream_response_delta_only_preserves_tool_calls ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_stream_response_done_only_still_outputs_text ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_stream_response_is_collapsed_to_chat_completion_json ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_stream_response_completed_only_preserves_tool_calls ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_stream_response_delta_only_preserves_custom_tool_calls ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_completions_response_is_converted_from_responses_json ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_completions_stream_chunk_fallback_maps_unknown_text_event ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_chat_stream_response_outputs_web_search_summary_text ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_completions_stream_event_only_done_still_outputs_text ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_completions_stream_done_only_still_outputs_text ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_completions_stream_completed_only_still_outputs_text ... ok
[INFO] [stdout] test gateway::http_bridge::tests::passthrough_sse_reader_emits_keepalive_for_responses_stream ... ok
[INFO] [stdout] test gateway::request_gate::tests::stale_shared_lock_entry_is_not_reclaimed ... ok
[INFO] [stdout] test gateway::request_gate::tests::stale_unshared_lock_entry_is_reclaimed ... ok
[INFO] [stdout] test gateway::request_helpers::tests::chat_completions_text_limit_counts_message_content_and_instructions ... ok
[INFO] [stdout] test gateway::request_helpers::tests::non_inference_path_skips_text_limit_validation ... ok
[INFO] [stdout] test gateway::request_helpers::tests::responses_text_limit_allows_small_payloads ... ok
[INFO] [stdout] test gateway::http_bridge::tests::passthrough_sse_reader_waits_for_first_upstream_frame_before_keepalive ... ok
[INFO] [stdout] test gateway::model_picker::request::tests::append_client_version_query_preserves_existing_query ... ok
[INFO] [stdout] test gateway::model_picker::request::tests::append_client_version_query_adds_missing_param ... ok
[INFO] [stdout] test gateway::model_picker::request::tests::append_client_version_query_does_not_duplicate_param ... ok
[INFO] [stdout] test gateway::request_log::tests::estimate_cost_matches_openai_gpt54_large_context_prices ... ok
[INFO] [stdout] test gateway::request_log::tests::estimate_cost_matches_openai_gpt4o_and_o3_prices ... ok
[INFO] [stdout] test gateway::request_log::tests::estimate_cost_matches_openai_gpt54_pro_large_context_prices ... ok
[INFO] [stdout] test gateway::request_log::tests::estimate_cost_matches_openai_gpt54_pro_prices ... ok
[INFO] [stdout] test gateway::request_log::tests::estimate_cost_matches_openai_gpt5_family_prices ... ok
[INFO] [stdout] test gateway::request_log::tests::estimate_cost_matches_openai_gpt5_mini_and_52_prices ... ok
[INFO] [stdout] test gateway::request_log::tests::estimate_cost_switches_to_long_context_rates_at_270k_boundary ... ok
[INFO] [stdout] test gateway::request_log::tests::estimate_cost_uses_cached_input_rate_for_gpt_5_1_codex ... ok
[INFO] [stdout] test gateway::request_log::tests::gateway_error_fallback_matches_cloudflare_and_rate_limit_errors ... ok
[INFO] [stdout] test gateway::request_rewrite::request_rewrite_prompt_cache::tests::fingerprint_is_stable ... ok
[INFO] [stdout] test gateway::request_rewrite::request_rewrite_prompt_cache::tests::forced_prompt_cache_key_replaces_existing_value ... ok
[INFO] [stdout] test gateway::request_rewrite::request_rewrite_prompt_cache::tests::inserted_prompt_cache_key_is_reported ... ok
[INFO] [stdout] test gateway::request_rewrite::request_rewrite_prompt_cache::tests::missing_input_keeps_existing_value ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::chat_completions_accepts_responses_style_payload ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::chat_completions_normalizes_responses_function_tools ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::chat_completions_stream_enforces_include_usage ... ok
[INFO] [stdout] test gateway::request_log::tests::estimate_cost_matches_openai_gpt54_and_mini_prices ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::non_matching_endpoint_keeps_non_json_body ... ok
[INFO] [stdout] test gateway::request_log::tests::estimate_cost_matches_current_codex_price_for_gpt_5_3_codex ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::chat_completions_stream_preserves_options_while_enabling_usage ... ok
[INFO] [stdout] test gateway::request_gate::tests::acquire_waits_until_previous_guard_released ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_codex_backend_hoists_leading_developer_message_to_instructions ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_codex_backend_hoists_leading_system_message_to_instructions ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_codex_backend_hoists_single_object_system_input_to_instructions ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_codex_backend_preserves_existing_instructions ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_codex_compat_defaults_parallel_tool_calls_false_when_tools_are_present ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_compact_default_path_omits_service_tier_for_codex_backend ... ok
[INFO] [stdout] test gateway::request_gate::tests::different_scope_uses_different_lock_instances ... ok
[INFO] [stdout] test gateway::request_gate::tests::same_scope_reuses_same_lock_instance ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_compact_defaults_parallel_tool_calls_to_false_for_codex_backend ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_applies_fast_service_tier_override_as_priority_for_codex_backend ... ok
[INFO] [stdout] test gateway::request_helpers::tests::responses_text_limit_rejects_oversized_payloads ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::chat_completions_uses_reasoning_effort_and_drops_non_official_keys ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_defaults_empty_include_without_reasoning_for_codex_backend ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_defaults_tool_choice_and_reasoning_include_for_codex_backend ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_dynamic_tools_are_mapped_to_tools_for_codex_backend ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_codex_backend_defaults_empty_instructions_when_missing ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_apply_global_model_forward_rules_when_platform_key_not_bound ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_compact_uses_codex_compat_rewrite ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_compat_scope_disabled_preserves_native_codex_body_shape ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_default_path_preserves_native_codex_body_shape ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_normalizes_fast_service_tier_to_priority_for_codex_backend ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_default_path_skips_request_rewrite_layer_prompt_cache_inference ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_official_allowlist_drops_stream_passthrough ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_overrides_model_and_reasoning_effort ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_passthrough_for_non_codex_upstream ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_platform_key_bound_model_overrides_global_model_forward_rules ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_platform_key_bound_spark_model_keeps_original_slug ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_preserve_specific_function_tool_choice_object ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_forced_prompt_cache_key_overrides_existing_value_for_codex_backend ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_forced_prompt_cache_scope_disabled_does_not_apply_compat_body_rewrite ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_ignores_unsupported_flex_service_tier_override_for_codex_backend ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_infers_prompt_cache_key_from_conversation_id_for_codex_backend ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_input_string_normalized_to_list ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_default_path_still_maps_fast_service_tier_to_priority_for_codex_backend ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_omits_include_when_reasoning_missing_for_codex_backend ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_preserves_client_metadata_for_codex_backend ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_preserves_priority_service_tier_for_codex_backend ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_stream_and_store_are_forced_for_codex_backend ... ok
[INFO] [stdout] test gateway::request_rewrite::tests::responses_stream_passthrough_keeps_client_stream_flag_when_enabled ... ok
[INFO] [stdout] test gateway::route_hint::tests::balanced_round_robin_isolated_by_key_and_model ... ok
[INFO] [stdout] test gateway::route_hint::tests::balanced_round_robin_rotates_start_by_key_and_model ... ok
[INFO] [stdout] test gateway::route_hint::tests::defaults_to_ordered_strategy ... ok
[INFO] [stdout] test gateway::route_hint::tests::health_p2c_promotes_healthier_candidate_in_ordered_mode ... ok
[INFO] [stdout] test gateway::route_quality::tests::route_quality_penalty_evicts_expired_record ... ok
[INFO] [stdout] test gateway::route_quality::tests::route_quality_penalty_prefers_successful_accounts ... ok
[INFO] [stdout] test gateway::route_hint::tests::route_state_capacity_evicts_lru_and_keeps_maps_in_sync ... ok
[INFO] [stdout] test gateway::runtime_config::tests::builtin_model_forward_rule_does_not_remap_codex_long_tail_slug ... ok
[INFO] [stdout] test gateway::route_hint::tests::set_route_strategy_accepts_aliases_and_reports_canonical_name ... ok
[INFO] [stdout] test gateway::route_quality::tests::record_path_cleanup_prunes_expired_records ... ok
[INFO] [stdout] test gateway::route_hint::tests::route_state_ttl_expires_per_key_state ... ok
[INFO] [stdout] test gateway::route_hint::tests::persisted_preferred_account_rotates_to_head ... ok
[INFO] [stdout] test gateway::route_hint::tests::balanced_mode_keeps_strict_round_robin_by_default ... ok
[INFO] [stdout] test gateway::runtime_config::tests::set_codex_user_agent_version_updates_env_and_user_agent ... ok
[INFO] [stdout] test gateway::runtime_config::tests::normalize_model_slug_accepts_auto ... ok
[INFO] [stdout] test gateway::runtime_config::tests::reload_from_env_defaults_limits_to_unbounded_codex_friendly_values ... ok
[INFO] [stdout] test gateway::runtime_config::tests::explicit_model_forward_rule_can_remap_codex_long_tail_slug ... ok
[INFO] [stdout] test gateway::runtime_config::tests::parse_proxy_list_env_normalizes_socks_entries ... ok
[INFO] [stdout] test gateway::runtime_config::tests::set_request_compression_enabled_updates_env_and_cache ... ok
[INFO] [stdout] test gateway::runtime_config::tests::set_originator_updates_env_and_dynamic_user_agent ... ok
[INFO] [stdout] test gateway::runtime_config::tests::normalize_model_slug_maps_legacy_gpt_5_4_pro_to_gpt_5_4 ... ok
[INFO] [stdout] test gateway::runtime_config::tests::set_model_forward_rules_rejects_invalid_target_auto ... ok
[INFO] [stdout] test gateway::runtime_config::tests::reload_from_env_updates_timeout_and_proxy ... ok
[INFO] [stdout] test gateway::runtime_config::tests::set_model_forward_rules_preserves_case_while_matching_case_insensitively ... ok
[INFO] [stdout] test gateway::runtime_config::tests::set_model_forward_rules_updates_env_cache_and_matching ... ok
[INFO] [stdout] test gateway::runtime_config::tests::set_residency_requirement_updates_env_and_cache ... ok
[INFO] [stdout] test gateway::runtime_config::tests::set_upstream_proxy_url_normalizes_socks_scheme ... ok
[INFO] [stdout] test gateway::selection::tests::all_low_quota_still_returns_candidates ... ok
[INFO] [stdout] test gateway::runtime_config::tests::set_upstream_stream_timeout_ms_updates_env_and_cache ... ok
[INFO] [stdout] test gateway::runtime_config::tests::set_upstream_proxy_url_updates_env_and_cache ... ok
[INFO] [stdout] test gateway::runtime_config::tests::stable_proxy_index_is_deterministic ... ok
[INFO] [stdout] test gateway::runtime_config::tests::terminal_user_agent_detects_windows_terminal_from_wt_session ... ok
[INFO] [stdout] test gateway::runtime_config::tests::terminal_user_agent_sanitizes_header_like_official_codex ... ok
[INFO] [stdout] test gateway::runtime_config::tests::terminal_user_agent_prefers_term_program_over_wt_session ... ok
[INFO] [stdout] test gateway::runtime_config::tests::parse_proxy_list_env_limits_to_five_entries ... ok
[INFO] [stdout] test gateway::session_affinity::tests::clears_turn_state_when_thread_anchor_diverges ... ok
[INFO] [stdout] test gateway::session_affinity::tests::conflict_detection_matches_anchor_mismatch ... ok
[INFO] [stdout] test gateway::session_affinity::tests::drops_orphan_turn_state_without_conversation_anchor ... ok
[INFO] [stdout] test gateway::session_affinity::tests::uses_conversation_anchor_when_prompt_cache_missing ... ok
[INFO] [stdout] test gateway::session_affinity::tests::uses_thread_anchor_for_fallback_headers ... ok
[INFO] [stdout] test gateway::thread_anchor::tests::fallback_thread_anchor_is_suppressed_when_native_anchor_exists ... ok
[INFO] [stdout] test gateway::thread_anchor::tests::native_anchor_removes_prompt_cache_key_from_responses_body ... ok
[INFO] [stdout] test gateway::thread_anchor::tests::native_thread_anchor_detects_turn_state_without_conversation_id ... ok
[INFO] [stdout] test gateway::thread_anchor::tests::sticky_fallback_is_disabled_when_turn_state_exists ... ok
[INFO] [stdout] test gateway::token_exchange::tests::expired_access_token_keeps_unavailable_mark_for_bearer_exchange_refresh_failure ... ok
[INFO] [stdout] test gateway::token_exchange::tests::fallback_to_access_token_uses_runtime_access_token_when_exchange_fails ... ok
[INFO] [stdout] test gateway::selection::tests::candidate_snapshot_cache_reuses_recent_snapshot ... ok
[INFO] [stdout] test gateway::selection::tests::candidates_follow_account_sort_order ... ok
[INFO] [stdout] test gateway::token_exchange::tests::valid_access_token_skips_unavailable_mark_for_bearer_exchange_refresh_failure ... ok
[INFO] [stdout] test gateway::trace_log::tests::has_error_text_ignores_empty_and_dash ... ok
[INFO] [stdout] test gateway::trace_log::tests::request_record_ignores_success_without_error ... ok
[INFO] [stdout] test gateway::trace_log::tests::trace_error_state_can_mark_and_clear ... ok
[INFO] [stdout] test gateway::selection::tests::gateway_deactivation_status_change_invalidates_candidate_snapshot_cache ... ok
[INFO] [stdout] test gateway::upstream::attempt_flow::fallback_branch::tests::fallback_non_success_5xx_does_not_failover_even_with_more_candidates ... ok
[INFO] [stdout] test gateway::upstream::attempt_flow::fallback_branch::tests::fallback_non_success_auth_and_rate_limit_can_failover_when_candidates_remain ... ok
[INFO] [stdout] test gateway::upstream::attempt_flow::fallback_branch::tests::fallback_non_success_headers_only_summary_includes_debug_headers ... ok
[INFO] [stdout] test gateway::upstream::attempt_flow::fallback_branch::tests::fallback_non_success_headers_only_summary_marks_server_error_without_debug_headers ... ok
[INFO] [stdout] test gateway::upstream::attempt_flow::fallback_branch::tests::fallback_non_success_never_failover_without_more_candidates ... ok
[INFO] [stdout] test gateway::upstream::attempt_flow::fallback_branch::tests::fallback_non_success_summary_includes_debug_headers_and_body_hint ... ok
[INFO] [stdout] test gateway::upstream::attempt_flow::fallback_branch::tests::fallback_non_success_summary_uses_plain_body_when_no_structured_hint_exists ... ok
[INFO] [stdout] test gateway::selection::tests::gateway_usage_limit_with_exhausted_snapshot_invalidates_candidate_snapshot_cache ... ok
[INFO] [stdout] test gateway::selection::tests::low_quota_accounts_are_demoted_to_tail ... ok
[INFO] [stdout] test gateway::selection::tests::gateway_error_status_change_invalidates_candidate_snapshot_cache ... ok
[INFO] [stdout] test gateway::token_exchange::tests::same_account_reuses_exchange_lock ... ok
[INFO] [stdout] test gateway::token_exchange::tests::stale_shared_exchange_lock_entry_is_not_reclaimed ... ok
[INFO] [stdout] test gateway::upstream::attempt_flow::primary_flow::tests::chatgpt_primary_bearer_prefers_access_token ... ok
[INFO] [stdout] test gateway::token_exchange::tests::stale_unshared_exchange_lock_entry_is_reclaimed ... ok
[INFO] [stdout] test gateway::upstream::attempt_flow::stateless_retry::tests::stateless_retry_disables_403_when_challenge_retry_is_disabled ... ok
[INFO] [stdout] test gateway::trace_log::tests::trace_queue_capacity_zero_means_unbounded ... ok
[INFO] [stdout] test gateway::upstream::attempt_flow::stateless_retry::tests::stateless_retry_keeps_403_when_challenge_retry_is_enabled ... ok
[INFO] [stdout] test gateway::upstream::attempt_flow::stateless_retry::tests::stateless_retry_respects_session_affinity_guard ... ok
[INFO] [stdout] test gateway::upstream::attempt_flow::transport::tests::encode_request_body_adds_zstd_content_encoding ... ok
[INFO] [stdout] test gateway::upstream::attempt_flow::transport::tests::request_compression_only_applies_to_streaming_chatgpt_responses ... ok
[INFO] [stdout] test gateway::upstream::attempt_flow::transport::tests::transport_retry_without_compression_only_targets_streaming_chatgpt_responses ... ok
[INFO] [stdout] test gateway::upstream::attempt_flow::transport::tests::transport_wraps_non_compact_responses_streams_into_stream_variant ... ok
[INFO] [stdout] test gateway::upstream::config::tests::fallback_base_ignores_env_override_for_chatgpt_backend ... ok
[INFO] [stdout] test gateway::upstream::config::tests::fallback_base_is_disabled_for_non_chatgpt_primary ... ok
[INFO] [stdout] test gateway::upstream::config::tests::fallback_content_type_trigger_is_limited_to_responses_path ... ok
[INFO] [stdout] test gateway::upstream::attempt_flow::primary_flow::tests::chatgpt_primary_bearer_rejects_empty_access_token ... ok
[INFO] [stdout] test gateway::upstream::config::tests::fallback_status_trigger_is_limited_to_responses_path ... ok
[INFO] [stdout] test gateway::upstream::header_profile::headers_impl::codex_headers::tests::build_codex_compact_upstream_headers_use_session_fallback_only ... ok
[INFO] [stdout] test gateway::upstream::header_profile::headers_impl::codex_headers::tests::build_codex_upstream_headers_keeps_final_affinity_shape ... ok
[INFO] [stdout] test gateway::upstream::header_profile::headers_impl::codex_headers::tests::build_codex_upstream_headers_prefers_incoming_codex_identity ... ok
[INFO] [stdout] test gateway::upstream::header_profile::headers_impl::codex_headers::tests::build_codex_upstream_headers_clears_turn_state_when_affinity_diverges ... ok
[INFO] [stdout] test gateway::upstream::config::tests::chatgpt_account_header_is_limited_to_codex_backend_shape ... ok
[INFO] [stdout] test gateway::upstream::config::tests::fallback_base_is_disabled_by_default_for_chatgpt_backend ... ok
[INFO] [stdout] test gateway::upstream::protocol::aggregate_api::tests::build_upstream_url_keeps_root_base_behavior ... ok
[INFO] [stdout] test gateway::upstream::protocol::aggregate_api::tests::build_upstream_url_preserves_base_path_prefix ... ok
[INFO] [stdout] test gateway::upstream::protocol::aggregate_api::tests::claude_messages_passthrough_uses_anthropic_native_terminal_rules ... ok
[INFO] [stdout] test gateway::upstream::protocol::aggregate_api::tests::empty_custom_action_falls_back_to_original_path ... ok
[INFO] [stdout] test gateway::upstream::protocol::aggregate_api::tests::final_error_promotes_success_status_to_bad_gateway ... ok
[INFO] [stdout] test gateway::upstream::protocol::aggregate_api::tests::incomplete_bridge_without_status_defaults_to_bad_gateway ... ok
[INFO] [stdout] test gateway::upstream::protocol::aggregate_api::tests::non_passthrough_adapter_does_not_override_sse_protocol ... ok
[INFO] [stdout] test gateway::upstream::protocol::aggregate_api::tests::successful_bridge_keeps_success_status ... ok
[INFO] [stdout] test gateway::upstream::proxy::tests::exhausted_gateway_error_includes_attempts_skips_and_last_error ... ok
[INFO] [stdout] test gateway::upstream::proxy::tests::exhausted_gateway_error_marks_cooldown_only_skip_kind ... ok
[INFO] [stdout] test gateway::upstream::proxy::tests::resolve_upstream_is_stream_keeps_non_compact_responses_on_sse_upstream ... ok
[INFO] [stdout] test gateway::upstream::proxy_pipeline::candidate_state::tests::body_for_attempt_injects_local_thread_anchor_without_compat_shape ... ok
[INFO] [stdout] test gateway::upstream::attempt_flow::postprocess::tests::chatgpt_cloudflare_challenge_directly_failovers_without_same_account_retry ... ok
[INFO] [stdout] test gateway::upstream::proxy_pipeline::candidate_state::tests::body_for_attempt_preserves_existing_prompt_cache_key ... ok
[INFO] [stdout] test gateway::upstream::proxy_pipeline::candidate_state::tests::body_for_attempt_rewrites_model_override ... ok
[INFO] [stdout] test gateway::upstream::proxy_pipeline::candidate_state::tests::strip_session_affinity_preserves_same_workspace_when_thread_anchor_exists ... ok
[INFO] [stdout] test gateway::upstream::proxy_pipeline::candidate_state::tests::strip_session_affinity_strips_cross_workspace_when_thread_anchor_exists ... ok
[INFO] [stdout] test gateway::upstream::proxy_pipeline::response_finalize::tests::client_disconnect_error_matches_common_socket_messages ... ok
[INFO] [stdout] test gateway::upstream::proxy_pipeline::response_finalize::tests::derive_final_error_prefers_upstream_hint_then_http_error_then_bridge_error ... ok
[INFO] [stdout] test gateway::upstream::proxy_pipeline::response_finalize::tests::derive_status_for_log_respects_disconnect_delivery_and_bridge_fallbacks ... ok
[INFO] [stdout] test gateway::upstream::support::backoff::tests::jitter_delay_stays_within_cap ... ok
[INFO] [stdout] test gateway::upstream::attempt_flow::postprocess::tests::chatgpt_challenge_on_last_candidate_retries_without_same_account_failover ... ok
[INFO] [stdout] test gateway::upstream::attempt_flow::postprocess::tests::retries_server_error_once_before_final_decision ... ok
[INFO] [stdout] test gateway::upstream::support::candidates::tests::candidate_skip_reason_for_proxy_allows_failover_when_head_account_is_inflight_limited ... ok
[INFO] [stdout] test gateway::upstream::protocol::aggregate_api::bridge_tests::balanced_route_strategy_preserves_explicit_preferred_aggregate_api ... ok
[INFO] [stdout] test gateway::upstream::attempt_flow::postprocess::tests::cloudflare_cf_ray_directly_failovers_without_same_account_retry ... ok
[INFO] [stdout] test gateway::upstream::protocol::aggregate_api::bridge_tests::balanced_route_strategy_rotates_aggregate_candidates ... ok
[INFO] [stdout] test gateway::upstream::proxy_pipeline::candidate_state::tests::body_for_attempt_keeps_native_codex_retry_shape ... ok
[INFO] [stdout] test gateway::upstream::support::deadline::tests::effective_request_timeout_non_stream_uses_total_only ... ok
[INFO] [stdout] test gateway::upstream::support::deadline::tests::effective_request_timeout_stream_ignores_stream_only_timeout ... ok
[INFO] [stdout] test gateway::upstream::support::deadline::tests::effective_request_timeout_stream_keeps_total_deadline_only ... ok
[INFO] [stdout] test gateway::upstream::support::failover_policy::tests::classify_custom_upstream_status_groups_known_retryable_statuses ... ok
[INFO] [stdout] test gateway::upstream::support::failover_policy::tests::fallback_non_success_helper_matches_existing_retryable_status_set ... ok
[INFO] [stdout] test gateway::upstream::support::failover_policy::tests::follow_up_action_only_failovers_when_candidates_remain ... ok
[INFO] [stdout] test gateway::upstream::header_profile::headers_impl::codex_headers::tests::build_codex_upstream_headers_rebuilds_mismatched_window_id_from_session ... ok
[INFO] [stdout] test gateway::upstream::support::outcome::tests::challenge_with_more_candidates_triggers_failover ... ok
[INFO] [stdout] test gateway::upstream::support::outcome::tests::challenge_on_last_candidate_keeps_upstream_response ... ok
[INFO] [stdout] test gateway::upstream::support::candidates::tests::allow_openai_fallback_for_account_accepts_individual_plan_tiers ... ok
[INFO] [stdout] test gateway::upstream::support::outcome::tests::custom_status_404_with_more_candidates_triggers_failover ... ok
[INFO] [stdout] test gateway::upstream::support::candidates::tests::allow_openai_fallback_for_account_rejects_workspace_plans ... ok
[INFO] [stdout] test gateway::upstream::support::outcome::tests::official_status_429_with_more_candidates_triggers_failover ... ok
[INFO] [stdout] test gateway::upstream::support::outcome::tests::official_status_404_with_more_candidates_keeps_upstream_response ... ok
[INFO] [stdout] test gateway::upstream::support::outcome::tests::official_status_401_with_more_candidates_keeps_upstream_response ... ok
[INFO] [stdout] test gateway::upstream::support::outcome::tests::official_status_500_with_more_candidates_keeps_upstream_response ... ok
[INFO] [stdout] test http::backend_router::tests::falls_back_to_gateway_route ... ok
[INFO] [stdout] test http::backend_router::tests::resolves_auth_callback_route ... ok
[INFO] [stdout] test http::backend_router::tests::resolves_metrics_route ... ok
[INFO] [stdout] test http::backend_router::tests::resolves_rpc_route ... ok
[INFO] [stdout] test http::backend_runtime::tests::bypass_queue_covers_health_and_metrics ... ok
[INFO] [stdout] test http::backend_runtime::tests::full_queue_times_out_quickly ... ok
[INFO] [stdout] test http::backend_runtime::tests::panic_payload_message_formats_common_payloads ... ok
[INFO] [stdout] test http::backend_runtime::tests::queue_size_has_minimum_guard ... ok
[INFO] [stdout] test http::backend_runtime::tests::worker_count_has_minimum_guard ... ok
[INFO] [stdout] test http::header_filter::tests::request_header_filters_hop_by_hop_and_non_ascii ... ok
[INFO] [stdout] test http::header_filter::tests::request_header_keeps_ascii_turn_metadata ... ok
[INFO] [stdout] test http::header_filter::tests::request_header_keeps_normal_content_type ... ok
[INFO] [stdout] test http::header_filter::tests::response_header_filters_content_length_and_connection ... ok
[INFO] [stdout] test http::proxy_request::tests::build_target_url_keeps_path_and_query ... ok
[INFO] [stdout] test http::proxy_request::tests::filter_request_headers_drops_forbidden_headers ... ok
[INFO] [stdout] test http::proxy_response::tests::merge_upstream_headers_filters_hop_by_hop_and_content_length ... ok
[INFO] [stdout] test http::proxy_response::tests::text_error_response_returns_raw_message_body ... ok
[INFO] [stdout] test http::proxy_response::tests::text_error_response_sets_error_code_header ... ok
[INFO] [stdout] test http::proxy_response::tests::text_response_sets_status_and_plain_text_header ... ok
[INFO] [stdout] test http::proxy_runtime::tests::backend_base_url_uses_http_scheme ... ok
[INFO] [stdout] test gateway::upstream::support::outcome::tests::official_usage_exhausted_does_not_override_401 ... ok
[INFO] [stdout] test gateway::upstream::support::outcome::tests::official_usage_exhausted_with_more_candidates_triggers_failover ... ok
[INFO] [stdout] test gateway::upstream::support::candidates::tests::free_account_model_override_accepts_single_window_weekly_account ... ok
[INFO] [stdout] test gateway::upstream::support::outcome::tests::status_429_on_last_candidate_keeps_upstream_response ... ok
[INFO] [stdout] test gateway::upstream::support::outcome::tests::status_500_on_last_candidate_keeps_upstream_response ... ok
[INFO] [stdout] test gateway::upstream::support::candidates::tests::free_account_model_override_skips_rewrite_when_configured_auto ... ok
[INFO] [stdout] test http::proxy_runtime::tests::local_backend_client_builds_without_system_proxy ... ok
[INFO] [stdout] test gateway::upstream::support::candidates::tests::free_account_model_override_uses_configured_model_for_free_account ... ok
[INFO] [stdout] test http::proxy_runtime::tests::backend_send_failure_returns_502 ... ok
[INFO] [stdout] test http::responses_websocket::tests::infer_ws_terminal_status_maps_deactivation_message_to_403 ... ok
[INFO] [stdout] test http::responses_websocket::tests::inspect_ws_terminal_event_infers_usage_limit_status_without_explicit_status ... ok
[INFO] [stdout] test http::proxy_runtime::tests::official_responses_websocket_clears_explicit_prompt_cache_key_when_session_anchor_exists ... ok
[INFO] [stdout] test http::rpc_endpoint::tests::normal_rpc_handler_keeps_success_shape ... ok
[INFO] [stdout] test http::rpc_endpoint::tests::notification_handler_returns_empty_body ... ok
[INFO] [stdout] test http::rpc_endpoint::tests::panicking_rpc_handler_returns_structured_json_error ... ok
[INFO] [stdout] test plugin::catalog::tests::builtin_catalog_exposes_cleanup_plugins ... ok
[INFO] [stdout] test plugin::catalog::tests::builtin_market_never_uses_custom_source ... ok
[INFO] [stdout] test plugin::catalog::tests::custom_market_with_unreachable_source_returns_empty_items ... ok
[INFO] [stdout] test plugin::catalog::tests::custom_market_without_source_returns_empty_items ... ok
[INFO] [stdout] test plugin::catalog::tests::request_market_mode_normalizes_private_to_custom ... ok
[INFO] [stdout] test http::proxy_runtime::tests::official_responses_websocket_proxies_frames_and_headers ... ok
[INFO] [stdout] test requestlog::error_list::tests::gateway_error_log_page_is_clamped_to_total_pages ... ok
[INFO] [stdout] test requestlog::error_list::tests::gateway_error_log_page_size_is_bounded ... ok
[INFO] [stdout] test requestlog::error_list::tests::gateway_error_log_params_normalize_blank_stage_to_none ... ok
[INFO] [stdout] test requestlog::list::tests::derive_canonical_source_uses_adapter_and_aggregate_context ... ok
[INFO] [stdout] test requestlog::list::tests::derive_size_reject_stage_distinguishes_local_and_upstream ... ok
[INFO] [stdout] test requestlog::list::tests::normalize_optional_text_trims_blank_values ... ok
[INFO] [stdout] test requestlog::list::tests::normalize_status_filter_accepts_known_values ... ok
[INFO] [stdout] test requestlog::list::tests::normalize_upstream_url_keeps_custom_addresses ... ok
[INFO] [stdout] test requestlog::list::tests::normalize_upstream_url_keeps_local_addresses ... ok
[INFO] [stdout] test requestlog::list::tests::normalize_upstream_url_keeps_official_domains ... ok
[INFO] [stdout] test requestlog::list::tests::normalize_upstream_url_trims_empty_values ... ok
[INFO] [stdout] test requestlog::list::tests::request_log_list_params_default_to_first_page_with_twenty_items ... ok
[INFO] [stdout] test requestlog::today_summary::tests::resolve_day_bounds_rejects_oversized_range ... ok
[INFO] [stdout] test plugin::store::tests::rearm_enabled_interval_tasks_updates_enabled_interval_tasks ... ok
[INFO] [stdout] test requestlog::today_summary::tests::resolve_day_bounds_uses_requested_range_when_complete ... ok
[INFO] [stdout] test rpc_dispatch::aggregate_api::tests::aggregate_api_test_connection_accepts_id_and_api_id ... ok
[INFO] [stdout] test rpc_dispatch::aggregate_api::tests::aggregate_api_update_accepts_id_and_api_id ... ok
[INFO] [stdout] test runtime::process_env::tests::ensure_default_db_path_resolves_relative_env_against_exe_dir ... ok
[INFO] [stdout] test runtime::process_env::tests::rpc_token_file_path_resolves_relative_env_against_exe_dir ... ok
[INFO] [stdout] test requestlog::today_summary::tests::resolve_day_bounds_rejects_partial_range ... ok
[INFO] [stdout] test storage::helpers::tests::open_storage_reuses_cached_connection_in_same_thread ... ok
[INFO] [stdout] test tests::login_complete_requires_params ... ok
[INFO] [stdout] test tests::unknown_method_returns_jsonrpc_error ... ok
[INFO] [stdout] test storage::helpers::tests::open_storage_reopens_when_db_path_changes ... ok
[INFO] [stdout] test usage::account_meta::tests::build_workspace_map_from_accounts_uses_preloaded_snapshot ... ok
[INFO] [stdout] test usage::account_meta::tests::clean_header_value_trims_and_drops_empty ... ok
[INFO] [stdout] test usage::account_meta::tests::derive_account_meta_filters_storage_style_scope_suffix_from_token_claims ... ok
[INFO] [stdout] test usage::account_meta::tests::build_workspace_map_falls_back_to_chatgpt_account_id ... ok
[INFO] [stdout] test usage::account_meta::tests::patch_account_meta_cached_overrides_stale_team_scope_with_latest_token_scope ... ok
[INFO] [stdout] test usage::account_meta::tests::patch_account_meta_cached_replaces_subject_style_scope_values ... ok
[INFO] [stdout] test usage::account_meta::tests::patch_account_meta_cached_updates_preloaded_account_without_lookup ... ok
[INFO] [stdout] test usage::account_meta::tests::resolve_workspace_id_for_account_filters_storage_style_scope_suffix ... ok
[INFO] [stdout] test usage::account_meta::tests::resolve_workspace_prefers_workspace_then_chatgpt ... ok
[INFO] [stdout] test usage::aggregate::tests::aggregate_summary_routes_free_single_window_account_to_secondary_bucket ... ok
[INFO] [stdout] test usage::http::tests::classify_refresh_token_auth_error_reason_maps_known_and_unknown_401 ... ok
[INFO] [stdout] test usage::http::tests::refresh_token_auth_error_reason_from_message_tracks_canonical_messages ... ok
[INFO] [stdout] test usage::http::tests::refresh_token_status_error_ignores_headers_for_401_reason_when_body_lacks_code ... ok
[INFO] [stdout] test usage::http::tests::refresh_token_status_error_includes_body_snippet ... ok
[INFO] [stdout] test usage::http::tests::refresh_token_status_error_maps_invalidated_401_to_official_message ... ok
[INFO] [stdout] test usage::http::tests::refresh_token_status_error_maps_unknown_401_to_official_message ... ok
[INFO] [stdout] test usage::http::tests::refresh_token_status_error_omits_empty_body ... ok
[INFO] [stdout] test usage::http::tests::refresh_token_status_error_stabilizes_html_and_debug_headers_for_non_401 ... ok
[INFO] [stdout] test usage::http::tests::refresh_token_status_error_uses_header_only_debug_suffix_for_empty_body ... ok
[INFO] [stdout] test usage::aggregate::tests::aggregate_summary_preserves_unknown_counts_per_bucket ... ok
[INFO] [stdout] test http::proxy_runtime::tests::official_responses_websocket_retries_current_request_after_terminal_failure ... ok
[INFO] [stdout] test http::proxy_runtime::tests::request_without_content_length_over_limit_returns_413 ... ok
[INFO] [stdout] test usage::http::tests::summarize_usage_error_response_accepts_raw_error_json_header ... ok
[INFO] [stdout] test usage::http::tests::summarize_usage_error_response_stabilizes_html_and_debug_headers ... ok
[INFO] [stdout] test usage::http::tests::usage_http_client_is_cloneable ... ok
[INFO] [stdout] test http::proxy_runtime::tests::unsupported_responses_websocket_returns_426 ... ok
[INFO] [stdout] test usage::http::tests::usage_request_headers_use_official_chatgpt_account_header_name ... ok
[INFO] [stdout] test usage::keepalive::tests::keepalive_ignores_expected_idle_errors ... ok
[INFO] [stdout] test usage::refresh::refresh::batch::tests::build_usage_refresh_tasks_skips_disabled_and_banned_accounts ... ok
[INFO] [stdout] test usage::refresh::refresh::errors::tests::failure_event_throttle_dedupes_within_window ... ok
[INFO] [stdout] test usage::refresh::refresh::errors::tests::failure_event_throttle_isolated_by_error_class ... ok
[INFO] [stdout] test usage::refresh::refresh::errors::tests::usage_refresh_error_class_catches_timeout_and_connection ... ok
[INFO] [stdout] test usage::refresh::refresh::errors::tests::usage_refresh_error_class_groups_by_status_code ... ok
[INFO] [stdout] test usage::refresh::refresh::status_tests::apply_status_available_preserves_manual_disabled_status ... ok
[INFO] [stdout] test usage::refresh::refresh::status_tests::apply_status_available_snapshot_recovers_limited_account_to_active ... ok
[INFO] [stdout] test http::proxy_runtime::tests::zero_front_proxy_limit_disables_body_rejection ... ok
[INFO] [stdout] test http::responses_websocket::tests::gateway_ws_rewrite_keeps_native_responses_shape ... ok
[INFO] [stdout] test http::responses_websocket::tests::websocket_frame_drops_prompt_cache_key_when_native_conversation_anchor_exists ... ok
[INFO] [stdout] test usage::http::tests::refresh_token_url_preserves_custom_issuer_and_override ... ok
[INFO] [stdout] test usage::http::tests::refresh_token_url_uses_official_default_for_openai_issuer ... ok
[INFO] [stdout] test usage::http::tests::subscription_request_uses_only_authorization_without_custom_usage_headers ... ok
[INFO] [stdout] test usage::http::tests::usage_http_default_headers_follow_gateway_runtime_profile ... ok
[INFO] [stdout] test usage::refresh::refresh::status_tests::deactivation_reason_detects_workspace_and_account_scope ... ok
[INFO] [stdout] test usage::refresh::refresh::status_tests::apply_status_exhausted_snapshot_marks_account_limited ... ok
[INFO] [stdout] test usage::refresh::refresh::status_tests::deactivation_error_marks_account_banned ... ok
[INFO] [stdout] test usage::refresh::refresh::status_tests::deactivation_error_updates_reason_for_existing_unavailable_account ... ok
[INFO] [stdout] test usage::refresh::refresh::status_tests::deactivation_error_preserves_manual_disabled_status ... ok
[INFO] [stdout] test usage::refresh::refresh::status_tests::refresh_retry_filter_matches_auth_failures ... ok
[INFO] [stdout] test usage::refresh::refresh::status_tests::auth_error_deactivated_marks_account_banned ... ok
[INFO] [stdout] test usage::refresh::refresh::status_tests::apply_status_skips_db_and_event_when_status_unchanged ... ok
[INFO] [stdout] test usage::refresh::refresh::status_tests::apply_status_missing_snapshot_keeps_account_status ... ok
[INFO] [stdout] test usage::refresh::refresh::status_tests::generic_deactivated_error_marks_account_banned ... ok
[INFO] [stdout] test usage::refresh::refresh::status_tests::refresh_token_auth_error_marks_account_unavailable ... ok
[INFO] [stdout] test usage::refresh::refresh::tests::due_cutoff_covers_boundary_when_poll_interval_matches_refresh_ahead ... ok
[INFO] [stdout] test usage::refresh::refresh::tests::due_cutoff_includes_next_poll_window_and_buffer ... ok
[INFO] [stdout] test usage::refresh::refresh::status_tests::mark_usage_unreachable_does_not_override_manual_disabled_status ... ok
[INFO] [stdout] test usage::refresh::refresh::status_tests::refresh_token_forbidden_without_invalid_grant_keeps_account_active ... ok
[INFO] [stdout] test usage::refresh::refresh::status_tests::mark_usage_unreachable_marks_401_403_as_unavailable_but_ignores_429 ... ok
[INFO] [stdout] test usage::refresh::refresh::tests::schedule_falls_back_to_last_refresh_when_exp_missing ... ok
[INFO] [stdout] test usage::refresh::refresh::tests::schedule_prefers_exp_minus_ahead ... ok
[INFO] [stdout] test usage::refresh::refresh::tests::schedule_skips_when_refresh_token_is_empty ... ok
[INFO] [stdout] test usage::refresh::refresh::tests::usage_poll_batch_indices_rotate_from_cursor ... ok
[INFO] [stdout] test usage::refresh::refresh::tests::usage_poll_cursor_advances_by_processed_count ... ok
[INFO] [stdout] test usage::refresh::refresh::tests::usage_refresh_retry_skips_when_refresh_token_is_empty ... ok
[INFO] [stdout] test usage::refresh::refresh::tests::enqueue_usage_refresh_for_different_accounts_keeps_queue_progress ... ok
[INFO] [stdout] test usage::scheduler::tests::blocking_poll_loop_adds_jitter_on_top_of_base_delay ... ok
[INFO] [stdout] test usage::scheduler::tests::blocking_poll_loop_applies_failure_backoff_with_cap_and_reset ... ok
[INFO] [stdout] test usage::scheduler::tests::blocking_poll_loop_calls_error_filter_before_sleep ... ok
[INFO] [stdout] test usage::scheduler::tests::blocking_poll_loop_runs_task_and_respects_interval ... ok
[INFO] [stdout] test usage::scheduler::tests::parse_interval_secs_falls_back_and_applies_minimum ... ok
[INFO] [stdout] test usage::refresh::refresh::status_tests::refresh_token_invalid_grant_on_forbidden_keeps_account_active ... ok
[INFO] [stdout] test usage::refresh::refresh::status_tests::usage_refresh_failure_events_are_throttled_by_error_class ... ok
[INFO] [stdout] test usage::refresh::refresh::status_tests::usage_refresh_failure_throttle_splits_401_reason_classes ... ok
[INFO] [stdout] test usage::refresh::refresh::status_tests::refresh_token_unknown_401_marks_account_unavailable ... ok
[INFO] [stdout] test usage::refresh::refresh::tests::enqueue_usage_refresh_for_same_account_is_deduplicated_until_finish ... ok
[INFO] [stdout] test usage::refresh::refresh::tests::run_token_refresh_task_skips_empty_refresh_token ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 727 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 14.57s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/codexmanager_service-b4dab78cdd1a20cc)
[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] [stderr]      Running tests/app_settings.rs (/opt/rustwide/target/debug/deps/app_settings-8a6888c94e85daf8)
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test app_settings_gateway_mode_is_no_longer_a_persisted_runtime_setting ... ok
[INFO] [stdout] test app_settings_get_loads_env_backed_dedicated_settings_when_storage_missing ... ok
[INFO] [stdout] test app_settings_set_env_overrides_patch_preserves_other_values_and_reset_to_default ... ok
[INFO] [stdout] test app_settings_get_defaults_codex_cli_guide_to_false ... ok
[INFO] [stdout] test app_settings_set_persists_snapshot_and_password_hash ... ok
[INFO] [stdout] test app_settings_set_preserves_dark_one_theme ... ok
[INFO] [stdout] test app_settings_get_drops_reserved_env_overrides_from_persisted_snapshot ... ok
[INFO] [stdout] test loopback_service_addr_env_keeps_saved_bind_mode_effective ... ok
[INFO] [stdout] test app_settings_get_seeds_full_env_override_snapshot ... ok
[INFO] [stdout] test app_settings_set_preserves_model_forward_rules_case ... ok
[INFO] [stdout] test app_settings_get_drops_web_addr_from_persisted_env_snapshot has been running for over 60 seconds
[INFO] [stdout] test app_settings_set_persists_env_overrides_and_exposes_catalog has been running for over 60 seconds
[INFO] [stdout] test app_settings_set_rejects_reserved_and_bootstrap_env_override_keys ... ok
[INFO] [stdout] test app_settings_set_service_listen_mode_can_switch_back_from_all_interfaces_snapshot ... ok
[INFO] [stdout] test app_settings_set_persists_env_overrides_and_exposes_catalog ... ok
[INFO] [stdout] test app_settings_set_service_listen_mode_overrides_loopback_env_snapshot ... ok
[INFO] [stdout] test app_settings_get_drops_web_addr_from_persisted_env_snapshot ... ok
[INFO] [stdout] test sync_runtime_settings_from_storage_applies_saved_runtime_values ... ok
[INFO] [stdout] test sync_runtime_settings_from_storage_preserves_explicit_process_env_over_persisted_override ... ok
[INFO] [stdout] test sync_runtime_settings_from_storage_preserves_process_env_when_override_not_persisted ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 104.28s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/default_addr.rs (/opt/rustwide/target/debug/deps/default_addr-d81c7deb101019ab)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test default_web_addr_is_localhost ... ok
[INFO] [stdout] test default_web_bind_addr_is_all_interfaces ... ok
[INFO] [stdout] test default_addr_is_localhost ... ok
[INFO] [stdout] test default_bind_addr_is_all_interfaces ... ok
[INFO] [stdout] test current_service_bind_mode_prefers_runtime_env ... ok
[INFO] [stdout] test default_web_listener_addr_tracks_service_port_offset ... ok
[INFO] [stdout] test listener_bind_addr_maps_loopback_to_all_interfaces_when_enabled ... ok
[INFO] [stdout] test default_web_listener_addr_tracks_service_bind_mode ... ok
[INFO] [stdout] test listener_bind_addr_keeps_explicit_all_interfaces ... ok
[INFO] [stdout] test listener_bind_addr_defaults_to_loopback ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.20s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e.rs (/opt/rustwide/target/debug/deps/e2e-7774b1c237f19146)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test e2e_initialize_writes_event ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.34s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/gateway_logs.rs (/opt/rustwide/target/debug/deps/gateway_logs-5e83d4327d44d0a4)
[INFO] [stdout] 
[INFO] [stdout] running 38 tests
[INFO] [stdout] test basic::gateway_logs_invalid_api_key_error ... ok
[INFO] [stdout] test anthropic::gateway_claude_failover_cross_workspace_strips_session_affinity_headers ... ok
[INFO] [stdout] test openai::gateway_chatgpt_primary_drops_turn_state_without_thread_anchor ... ok
[INFO] [stdout] test anthropic::gateway_claude_protocol_stabilizes_prompt_cache_key_without_conversation_id ... ok
[INFO] [stdout] test anthropic::gateway_claude_messages_stay_on_chatgpt_codex_base ... ok
[INFO] [stdout] test openai::gateway_invalid_refresh_token_marks_first_account_unavailable_and_fails_over ... ok
[INFO] [stdout] test anthropic::gateway_claude_protocol_end_to_end_uses_codex_headers ... ok
[INFO] [stdout] test basic::gateway_tolerates_non_ascii_turn_metadata_header ... ok
[INFO] [stdout] test openai::apikey_models_refresh_merges_cached_catalog_without_removal ... ok
[INFO] [stdout] test openai::gateway_chatgpt_primary_preserves_turn_state_headers_without_openai_fallback ... ok
[INFO] [stdout] test openai::gateway_chatgpt_primary_uses_prompt_cache_anchor_for_session_without_inventing_request_id ... ok
[INFO] [stdout] test openai::apikey_models_refresh_includes_client_version_query ... ok
[INFO] [stdout] test openai::gateway_models_hides_descriptions_for_codex_cli_only ... ok
[INFO] [stdout] test openai::gateway_models_request_stays_on_chatgpt_codex_base ... ok
[INFO] [stdout] test openai::gateway_models_returns_cached_without_upstream ... ok
[INFO] [stdout] test openai::gateway_openai_api_base_suppresses_cookie_and_account_headers ... ok
[INFO] [stdout] test openai::gateway_openai_compact_uses_conversation_id_as_session_anchor ... ok
[INFO] [stdout] test openai::gateway_openai_chat_completions_logs_anthropic_style_cached_tokens ... ok
[INFO] [stdout] test openai::gateway_openai_chat_completions_stabilizes_prompt_cache_key_without_conversation_id ... ok
[INFO] [stdout] test openai::gateway_openai_compact_html_non_success_is_mapped_to_structured_403 ... ok
[INFO] [stdout] test openai::gateway_openai_compact_invalid_success_body_is_mapped_to_502 ... ok
[INFO] [stdout] test openai::gateway_openai_compact_route_aligns_with_codex_remote_compact_request ... ok
[INFO] [stdout] test openai::gateway_openai_chat_completions_keeps_session_layer_prompt_cache_anchor ... ok
[INFO] [stdout] test openai::gateway_openai_html_non_success_logs_debug_ids_for_responses ... ok
[INFO] [stdout] test openai::gateway_openai_stream_usage_with_plain_content_type ... ok
[INFO] [stdout] test openai::gateway_openai_non_stream_sse_with_plain_content_type_is_collapsed_to_json ... ok
[INFO] [stdout] test openai::gateway_openai_non_stream_without_usage_keeps_tokens_null ... ok
[INFO] [stdout] test openai::gateway_openai_responses_does_not_invent_prompt_cache_key_without_anchor ... ok
[INFO] [stdout] test openai::gateway_openai_responses_keeps_conversation_anchor_over_conflicting_prompt_cache_key ... ok
[INFO] [stdout] test openai::gateway_openai_responses_stay_on_chatgpt_codex_base ... ok
[INFO] [stdout] test openai::gateway_openai_stream_logs_cached_and_reasoning_tokens ... ok
[INFO] [stdout] test anthropic::gateway_claude_failover_same_workspace_preserves_session_affinity_headers ... ok
[INFO] [stdout] test openai::gateway_unauthorized_refreshes_access_token_and_retries_once ... ok
[INFO] [stdout] test retry_logging::gateway_error_logging_writes_only_trace_log_file ... ok
[INFO] [stdout] test retry_logging::gateway_request_log_keeps_only_final_result_for_multi_attempt_flow ... ok
[INFO] [stdout] test retry_logging::gateway_stateless_retry_strips_encrypted_content_on_invalid_encrypted_content ... ok
[INFO] [stdout] test usage_limit_failover::gateway_low_quota_account_is_skipped_on_first_request ... ok
[INFO] [stdout] test usage_limit_failover::gateway_usage_limit_in_sse_marks_request_as_failover ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 75.40s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/rpc.rs (/opt/rustwide/target/debug/deps/rpc-b12a5c966dea3924)
[INFO] [stdout] 
[INFO] [stdout] running 26 tests
[INFO] [stdout] test rpc_account_update_profile_updates_label_note_tags_and_sort ... ok
[INFO] [stdout] test rpc_account_list_empty_uses_default_pagination ... ok
[INFO] [stdout] test rpc_account_delete_unavailable_free_removes_refresh_invalid_free_accounts ... FAILED
[INFO] [stdout] test rpc_accepts_loopback_origin ... ok
[INFO] [stdout] test rpc_account_list_includes_account_plan_type ... ok
[INFO] [stdout] test rpc_account_list_supports_pagination ... ok
[INFO] [stdout] test rpc_account_list_active_filter_uses_backend_filtered_pagination ... ok
[INFO] [stdout] test rpc_account_delete_many_deletes_requested_accounts ... ok
[INFO] [stdout] test rpc_account_update_status_toggles_manual_enable_disable ... ok
[INFO] [stdout] test rpc_apikey_update_model_updates_name_with_chinese ... ok
[INFO] [stdout] test rpc_app_settings_can_roundtrip_free_account_max_model ... ok
[INFO] [stdout] test rpc_login_status_pending ... ok
[INFO] [stdout] test rpc_chatgpt_auth_tokens_login_read_logout_roundtrip ... ok
[INFO] [stdout] test rpc_chatgpt_auth_tokens_refresh_updates_access_token ... ok
[INFO] [stdout] test rpc_initialize_roundtrip ... ok
[INFO] [stdout] test rpc_login_start_chatgpt_device_code_returns_user_code ... ok
[INFO] [stdout] test rpc_login_start_returns_api_key_variant ... ok
[INFO] [stdout] test rpc_usage_read_empty ... ok
[INFO] [stdout] test rpc_app_settings_set_invalid_payload_returns_structured_error ... ok
[INFO] [stdout] test rpc_rejects_cross_site_origin ... ok
[INFO] [stdout] test rpc_rejects_missing_token ... ok
[INFO] [stdout] test rpc_requestlog_list_and_summary_support_pagination ... ok
[INFO] [stdout] test rpc_usage_aggregate_returns_backend_summary ... ok
[INFO] [stdout] test rpc_usage_list_empty ... ok
[INFO] [stdout] test rpc_login_start_returns_url ... ok
[INFO] [stdout] test rpc_usage_refresh_persists_subscription_fields ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- rpc_account_delete_unavailable_free_removes_refresh_invalid_free_accounts stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'rpc_account_delete_unavailable_free_removes_refresh_invalid_free_accounts' (2429) panicked at crates/service/tests/rpc.rs:1203:5:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: None
[INFO] [stdout]  right: Some(2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x605a03adc6aa - std[128c3efe2914e152]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x605a03adc6aa - std[128c3efe2914e152]::backtrace_rs::backtrace::trace_unsynchronized::<std[128c3efe2914e152]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x605a03adc6aa - std[128c3efe2914e152]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x605a03adc6aa - <<std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6771d259883166e6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x605a03af88aa - <core[6771d259883166e6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x605a03af88aa - core[6771d259883166e6]::fmt::write
[INFO] [stdout]    6:     0x605a03ae34e2 - std[128c3efe2914e152]::io::default_write_fmt::<alloc[fef50e8eecedd288]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x605a03ae34e2 - <alloc[fef50e8eecedd288]::vec::Vec<u8> as std[128c3efe2914e152]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x605a03ab681f - <std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x605a03ab681f - std[128c3efe2914e152]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x605a03ad2a99 - std[128c3efe2914e152]::panicking::default_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x605a03713c6c - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   12:     0x605a03713c6c - test[b137923399915ecf]::test_main_with_exit_callback::<test[b137923399915ecf]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x605a03ad2d12 - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   14:     0x605a03ad2d12 - std[128c3efe2914e152]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x605a03ab68d8 - std[128c3efe2914e152]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x605a03aab619 - std[128c3efe2914e152]::sys::backtrace::__rust_end_short_backtrace::<std[128c3efe2914e152]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x605a03ab796d - __rustc[752cc74e29381ccc]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x605a03af906c - core[6771d259883166e6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x605a03af8f23 - core[6771d259883166e6]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x605a022f62c9 - core::panicking::assert_failed::h008b63bb69fb886a
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x605a022e2808 - rpc::rpc_account_delete_unavailable_free_removes_refresh_invalid_free_accounts::h625f9f5869aee5dc
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/service/tests/rpc.rs:1203:5
[INFO] [stdout]   22:     0x605a022e2e57 - rpc::rpc_account_delete_unavailable_free_removes_refresh_invalid_free_accounts::{{closure}}::haf88be0bea73478c
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/service/tests/rpc.rs:1074:79
[INFO] [stdout]   23:     0x605a022f3fe6 - core::ops::function::FnOnce::call_once::heb415ddbc6a9d431
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x605a03707d6b - <fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x605a03707d6b - test[b137923399915ecf]::__rust_begin_short_backtrace::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x605a0371473b - test[b137923399915ecf]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x605a0371473b - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x605a0371473b - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x605a0371473b - std[128c3efe2914e152]::panicking::catch_unwind::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x605a0371473b - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x605a0371473b - test[b137923399915ecf]::run_test_in_process
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x605a0371473b - test[b137923399915ecf]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x605a0370eb94 - test[b137923399915ecf]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x605a0370eb94 - std[128c3efe2914e152]::sys::backtrace::__rust_begin_short_backtrace::<test[b137923399915ecf]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x605a03717342 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x605a03717342 - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x605a03717342 - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x605a03717342 - std[128c3efe2914e152]::panicking::catch_unwind::<(), core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x605a03717342 - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x605a03717342 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x605a03717342 - <std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1} as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x605a03adb24f - <alloc[fef50e8eecedd288]::boxed::Box<dyn core[6771d259883166e6]::ops::function::FnOnce<(), Output = ()> + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2249:9
[INFO] [stdout]   43:     0x605a03adb24f - <std[128c3efe2914e152]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x72c749971aa4 - <unknown>
[INFO] [stdout]   45:     0x72c7499fea64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     rpc_account_delete_unavailable_free_removes_refresh_invalid_free_accounts
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 25 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 27.13s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p codexmanager-service --test rpc`
[INFO] running `Command { std: "docker" "inspect" "7e8752c7e961d36b9957aefd10b8698f3ab72c42b5d0546494f6ae1d01e4662d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7e8752c7e961d36b9957aefd10b8698f3ab72c42b5d0546494f6ae1d01e4662d", kill_on_drop: false }`
[INFO] [stdout] 7e8752c7e961d36b9957aefd10b8698f3ab72c42b5d0546494f6ae1d01e4662d
