[INFO] cloning repository https://github.com/KG9750/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/KG9750/Codex-Manager" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKG9750%2FCodex-Manager", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKG9750%2FCodex-Manager'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e60e24608efdd6d0921e26cdc67594d8262d11a4
[INFO] testing KG9750/Codex-Manager/e60e24608efdd6d0921e26cdc67594d8262d11a4 against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKG9750%2FCodex-Manager" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/KG9750/Codex-Manager
[INFO] finished tweaking git repo https://github.com/KG9750/Codex-Manager
[INFO] tweaked toml for git repo https://github.com/KG9750/Codex-Manager written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/KG9750/Codex-Manager on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/KG9750/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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 43e2f6c138cae4f0423eacaa419e8f8b5a26a7c570bf1f0ed751b060728a90fd
[INFO] running `Command { std: "docker" "start" "-a" "43e2f6c138cae4f0423eacaa419e8f8b5a26a7c570bf1f0ed751b060728a90fd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "43e2f6c138cae4f0423eacaa419e8f8b5a26a7c570bf1f0ed751b060728a90fd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "43e2f6c138cae4f0423eacaa419e8f8b5a26a7c570bf1f0ed751b060728a90fd", kill_on_drop: false }`
[INFO] [stdout] 43e2f6c138cae4f0423eacaa419e8f8b5a26a7c570bf1f0ed751b060728a90fd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c6f62581c26a750fe37c6b15e2bb042090a3cbea48a238861b09c7955406bfe1
[INFO] running `Command { std: "docker" "start" "-a" "c6f62581c26a750fe37c6b15e2bb042090a3cbea48a238861b09c7955406bfe1", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[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 zerocopy v0.8.35
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling zmij v1.0.17
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling data-encoding v2.10.0
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling sha1 v0.10.6
[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 serde_json v1.0.149
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling webpki-roots v1.0.5
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling ascii v1.1.0
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling chunked_transfer v1.5.0
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling codexmanager-service v0.1.8 (/opt/rustwide/workdir/crates/service)
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling nix v0.31.1
[INFO] [stderr]    Compiling tiny_http v0.12.0
[INFO] [stderr]    Compiling codexmanager-web v0.1.8 (/opt/rustwide/workdir/crates/web)
[INFO] [stderr]    Compiling codexmanager-start v0.1.8 (/opt/rustwide/workdir/crates/start)
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling cc v1.2.54
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]    Compiling ctrlc v3.5.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[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 displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling tungstenite v0.28.0
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling webbrowser v0.8.15
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-tungstenite v0.28.0
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling codexmanager-core v0.1.8 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]    Compiling hyper-util v0.1.19
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling axum v0.8.8
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 28s
[INFO] running `Command { std: "docker" "inspect" "c6f62581c26a750fe37c6b15e2bb042090a3cbea48a238861b09c7955406bfe1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c6f62581c26a750fe37c6b15e2bb042090a3cbea48a238861b09c7955406bfe1", kill_on_drop: false }`
[INFO] [stdout] c6f62581c26a750fe37c6b15e2bb042090a3cbea48a238861b09c7955406bfe1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8ebc01c97b86fd2c19cbe2f414782f850db8d877a4762d8c0b2ca6cb2b44257c
[INFO] running `Command { std: "docker" "start" "-a" "8ebc01c97b86fd2c19cbe2f414782f850db8d877a4762d8c0b2ca6cb2b44257c", kill_on_drop: false }`
[INFO] [stderr]    Compiling codexmanager-core v0.1.8 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]    Compiling codexmanager-web v0.1.8 (/opt/rustwide/workdir/crates/web)
[INFO] [stderr]    Compiling codexmanager-service v0.1.8 (/opt/rustwide/workdir/crates/service)
[INFO] [stderr]    Compiling codexmanager-start v0.1.8 (/opt/rustwide/workdir/crates/start)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 29.02s
[INFO] running `Command { std: "docker" "inspect" "8ebc01c97b86fd2c19cbe2f414782f850db8d877a4762d8c0b2ca6cb2b44257c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8ebc01c97b86fd2c19cbe2f414782f850db8d877a4762d8c0b2ca6cb2b44257c", kill_on_drop: false }`
[INFO] [stdout] 8ebc01c97b86fd2c19cbe2f414782f850db8d877a4762d8c0b2ca6cb2b44257c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] adfd1254df38ad51d3ffaaf5b05390ceb3cf03afa5582f951a88a7bbb2e3bdc4
[INFO] running `Command { std: "docker" "start" "-a" "adfd1254df38ad51d3ffaaf5b05390ceb3cf03afa5582f951a88a7bbb2e3bdc4", kill_on_drop: false }`
[INFO] [stderr]    Compiling codexmanager-web v0.1.8 (/opt/rustwide/workdir/crates/web)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.28s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/codexmanager_core-1d5c10e0ffc0906a)
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] test rpc::types::tests::account_list_result_serialization_includes_pagination_fields ... ok
[INFO] [stdout] test rpc::types::tests::account_summary_serialization_matches_compact_contract ... 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::request_log_list_result_serialization_includes_pagination_fields ... ok
[INFO] [stdout] test rpc::types::tests::request_log_summary_serialization_includes_trace_route_fields ... ok
[INFO] [stdout] test rpc::types::tests::request_log_filter_summary_serialization_uses_camel_case ... ok
[INFO] [stdout] test storage::request_log_query::tests::prefixed_field_query_keeps_like_mode_by_default ... ok
[INFO] [stdout] test storage::migration_tests::api_key_profile_migration_backfills_existing_keys ... ok
[INFO] [stdout] test storage::request_log_query::tests::prefixed_field_query_supports_exact_mode ... ok
[INFO] [stdout] test rpc::types::tests::account_list_params_default_to_first_page_with_five_items ... ok
[INFO] [stdout] test storage::migration_tests::sql_migration_can_fallback_to_compat_when_schema_already_exists ... ok
[INFO] [stdout] test storage::migration_tests::file_open_enables_wal_and_normal_synchronous ... ok
[INFO] [stdout] test storage::request_logs::tests::key_exact_query_matches_composite_index ... ok
[INFO] [stdout] test storage::request_log_query::tests::prefixed_account_query_supports_alias ... ok
[INFO] [stdout] test storage::migration_tests::account_meta_sql_migration_coexists_with_legacy_compat_marker ... ok
[INFO] [stdout] test storage::request_logs::tests::token_stat_failure_still_commits_request_log ... ok
[INFO] [stdout] test storage::migration_tests::request_logs_compact_migration_drops_legacy_usage_columns_and_preserves_rows ... ok
[INFO] [stdout] test storage::request_logs::tests::request_logs_filtered_summary_aggregates_counts_and_tokens ... ok
[INFO] [stdout] test storage::migration_tests::accounts_sort_index_migration_adds_sort_updated_at_index ... ok
[INFO] [stdout] test storage::migration_tests::init_tracks_schema_migrations_and_is_idempotent ... ok
[INFO] [stderr]      Running tests/auth.rs (/opt/rustwide/target/debug/deps/auth-b8891c2ed21363da)
[INFO] [stdout] test storage::migration_tests::usage_snapshot_latest_index_migration_adds_captured_id_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::insert_request_log_with_token_stat_is_visible_via_join ... ok
[INFO] [stdout] test storage::migration_tests::key_hash_index_migration_adds_api_keys_index ... ok
[INFO] [stdout] test storage::request_logs::tests::method_exact_query_matches_composite_index ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test parse_id_token_claims_extracts_email_and_sub ... 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. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/storage.rs (/opt/rustwide/target/debug/deps/storage-56b85ddb19b31db6)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test insert_request_log_with_token_stat_writes_both_tables_in_one_call ... ok
[INFO] [stdout] test storage_can_find_token_and_account_by_account_id ... ok
[INFO] [stdout] test storage_updates_account_status_only_when_changed ... ok
[INFO] [stdout] test request_log_today_summary_reads_from_token_stats_table ... ok
[INFO] [stdout] test request_logs_support_prefixed_query_filters ... ok
[INFO] [stdout] test storage_can_insert_account_and_token ... ok
[INFO] [stdout] test request_token_stats_can_summarize_total_tokens_by_key ... ok
[INFO] [stdout] test storage_api_keys_include_profile_fields ... ok
[INFO] [stdout] test storage_can_roundtrip_api_key_secret ... ok
[INFO] [stdout] test storage_can_update_account_status ... ok
[INFO] [stdout] test storage_gateway_candidates_exclude_unavailable_or_missing_token_accounts ... ok
[INFO] [stdout] test clear_request_logs_keeps_token_stats_for_usage_summary ... ok
[INFO] [stdout] test storage_account_usage_filters_support_sql_pagination ... ok
[INFO] [stdout] test storage_login_session_roundtrip ... ok
[INFO] [stdout] test latest_usage_snapshots_break_ties_by_latest_id ... ok
[INFO] [stdout] test token_upsert_keeps_refresh_schedule_columns ... ok
[INFO] [stdout] test usage_snapshots_can_prune_history_per_account ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/usage.rs (/opt/rustwide/target/debug/deps/usage-b1d59f0343c737be)
[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-6173659088d4b08a)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[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] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/codexmanager_service-64ec4d6752067001)
[INFO] [stdout] 
[INFO] [stdout] running 378 tests
[INFO] [stdout] test account::availability::tests::availability_marks_exhausted_secondary_unavailable ... ok
[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_ok_available ... ok
[INFO] [stdout] test account::cleanup::tests::free_plan_detection_accepts_common_variants ... ok
[INFO] [stdout] test account::cleanup::tests::free_plan_detection_accepts_credits_json_marker ... ok
[INFO] [stdout] test account::availability::tests::availability_marks_partial_secondary_missing_unavailable ... ok
[INFO] [stdout] test account::export::tests::sanitize_file_stem_trims_tailing_space_and_dot ... ok
[INFO] [stdout] test account::export::tests::sanitize_file_stem_replaces_windows_invalid_chars ... ok
[INFO] [stdout] test account::import::tests::extract_token_payload_supports_camel_case_fields ... 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::plan::tests::extract_plan_type_from_id_token_reads_chatgpt_claim ... ok
[INFO] [stdout] test account::plan::tests::free_plan_detection_accepts_common_variants ... 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::single_window_long_usage_snapshot_counts_as_free_like ... 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::free_account_max_model_options_fallback_to_curated_defaults ... ok
[INFO] [stdout] test auth::callback::tests::callback_error_page_escapes_message ... ok
[INFO] [stdout] test auth::callback::tests::callback_success_page_contains_auto_close_script ... ok
[INFO] [stdout] test auth::tokens::tests::build_account_storage_id_keeps_login_scope_shape ... ok
[INFO] [stdout] test gateway::availability_tests::auth_headers::drop_incoming_header_for_failover_strips_session_affinity ... ok
[INFO] [stdout] test auth::callback::tests::resolve_redirect_uri_prefers_login_server ... ok
[INFO] [stdout] test auth::callback::tests::login_server_rejects_non_loopback_by_default ... ok
[INFO] [stdout] test account::import::tests::extract_token_payload_supports_flat_codex_format ... ok
[INFO] [stdout] test gateway::availability_tests::failover_paths::compute_url_keeps_v1_for_models_on_codex_backend ... ok
[INFO] [stdout] test gateway::availability_tests::failover_paths::compute_url_keeps_compact_responses_for_codex_backend ... 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 account::cleanup::tests::free_plan_detection_rejects_paid_or_unknown_variants ... ok
[INFO] [stdout] test auth::callback::tests::login_server_reports_port_in_use ... ok
[INFO] [stdout] test errors::tests::classify_known_messages ... ok
[INFO] [stdout] test gateway::availability_tests::fallback_rules::cooldown_reason_maps_status ... 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::fallback_rules::challenge_detection_requires_html_content_type ... ok
[INFO] [stdout] test gateway::availability_tests::fallback_rules::html_content_type_detection ... 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::usage_refresh_metrics_track_success_and_failure ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_json_response_maps_event_stream ... 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_from_openai_responses_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_from_openai_shape ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_json_response_maps_openai_tool_calls ... 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_messages_request_drops_query_params ... 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_messages_request_sets_prompt_cache_key ... 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_messages_request_maps_to_responses ... 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_uses_output_item_done_when_completed_output_empty ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_sse_response_maps_openai_tool_call_deltas ... 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_stream_request_uses_sse_adapter ... 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_tools_request_maps_to_openai_tools_and_tool_choice ... ok
[INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_tools_request_accepts_type_only_tool_definition ... ok
[INFO] [stdout] test account::import::tests::import_single_item_reuses_existing_login_account_by_scope_identity ... 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 account::plan::tests::free_or_single_window_account_accepts_weekly_single_window_without_plan_claim ... ok
[INFO] [stdout] test gateway::availability_tests::failover_paths::failover_on_missing_usage ... ok
[INFO] [stdout] test auth::tokens::tests::next_account_sort_uses_step_five ... ok
[INFO] [stdout] test gateway::cooldown::tests::lookup_evicts_expired_target_entry_without_full_scan ... ok
[INFO] [stdout] test account::import::tests::import_single_item_prefers_meta_fields_for_new_account ... ok
[INFO] [stdout] test account::import::tests::existing_account_index_next_sort_uses_step_five ... ok
[INFO] [stdout] test gateway::cooldown::tests::rate_limit_ladder_maps_to_expected_steps ... 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_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::http_bridge::aggregate::output_text::tests::bridge_error_message_reports_stream_incomplete_in_chinese ... ok
[INFO] [stdout] test gateway::error_response::tests::terminal_text_response_sets_error_code_header ... ok
[INFO] [stdout] test auth::tokens::tests::pick_existing_account_matches_exact_workspace_scope ... ok
[INFO] [stdout] test gateway::error_response::tests::with_trace_id_header_appends_trace_header ... ok
[INFO] [stdout] test gateway::http_bridge::aggregate::output_text::tests::extract_error_hint_from_body_prefers_json_message ... 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::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::tests::apply_openai_stream_meta_defaults_fills_missing_chunk_meta ... 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::extract_error_hint_from_body_summarizes_unsupported_model_detail_json ... 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_extracts_response_completed ... 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_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::extract_openai_completed_output_text_reads_completed_output_message_text ... 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::inspect_sse_frame_recognizes_chat_completion_finish_reason_as_terminal ... 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::live_chat_stream_skips_done_and_message_item_text_events ... 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_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::inspect_sse_frame_recognizes_response_failed_as_terminal_error ... 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::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_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_chat_sse_reader_emits_keepalive_chunk_during_idle_gap ... 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::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::strict_bearer_parsing_matches_auth_extraction_behavior ... 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::build_openai_models_list_outputs_expected_shape ... 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_keeps_empty_overrides ... ok
[INFO] [stdout] test gateway::local_validation::request::tests::openai_key_keeps_empty_overrides ... 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::model_picker::request::tests::append_client_version_query_preserves_existing_query ... 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::http_bridge::tests::openai_chat_sse_reader_requires_terminal_event_before_success ... 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_assistant_tool_use_preserves_text_order_in_responses_input ... 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_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::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_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_reasoning_item_to_thinking_block ... 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_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::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_shortens_tool_names_and_builds_restore_map ... 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_stream_uses_sse_adapter ... 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_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_completions_stream_uses_sse_adapter ... 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_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_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::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_preserves_tool_calls ... 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::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_delta_only_preserves_custom_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_outputs_web_search_summary_text ... 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_completions_stream_completed_only_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::request_gate::tests::different_scope_uses_different_lock_instances ... ok
[INFO] [stdout] test gateway::protocol_adapter::tests::openai_response::openai_completions_stream_event_only_done_still_outputs_text ... ok
[INFO] [stdout] test gateway::request_gate::tests::same_scope_reuses_same_lock_instance ... 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_log::tests::estimate_cost_falls_back_gpt_5_3_codex_to_gpt_5_2_codex_price ... 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_gpt54_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_uses_cached_input_rate_for_gpt_5_1_codex ... ok
[INFO] [stdout] test gateway::http_bridge::tests::passthrough_sse_reader_captures_raw_html_error_body ... ok
[INFO] [stdout] test gateway::http_bridge::tests::passthrough_sse_reader_emits_keepalive_for_responses_stream ... ok
[INFO] [stdout] test gateway::availability_tests::auth_headers::resolve_openai_bearer_token_falls_back_to_access_token_when_exchange_fails has been running for over 60 seconds
[INFO] [stdout] test gateway::availability_tests::fallback_rules::apply_request_overrides_accepts_xhigh has been running for over 60 seconds
[INFO] [stdout] test gateway::availability_tests::fallback_rules::apply_request_overrides_maps_extra_high_to_xhigh has been running for over 60 seconds
[INFO] [stdout] test gateway::availability_tests::upstream_headers::codex_compact_header_profile_matches_remote_compact_shape has been running for over 60 seconds
[INFO] [stdout] test gateway::availability_tests::upstream_headers::codex_header_profile_can_disable_beta_and_affinity_headers has been running for over 60 seconds
[INFO] [stdout] test gateway::availability_tests::upstream_headers::codex_header_profile_regenerates_session_on_failover has been running for over 60 seconds
[INFO] [stdout] test gateway::availability_tests::upstream_headers::codex_header_profile_sets_required_headers_for_stream has been running for over 60 seconds
[INFO] [stdout] test gateway::availability_tests::upstream_headers::codex_header_profile_skips_account_header_when_disabled has been running for over 60 seconds
[INFO] [stdout] test gateway::availability_tests::upstream_headers::codex_header_profile_uses_dynamic_originator_and_residency_requirement has been running for over 60 seconds
[INFO] [stdout] test gateway::availability_tests::upstream_headers::codex_header_profile_uses_fallback_conversation_when_incoming_missing has been running for over 60 seconds
[INFO] [stdout] test gateway::availability_tests::upstream_headers::codex_header_profile_uses_fallback_session_when_incoming_missing has been running for over 60 seconds
[INFO] [stdout] test gateway::availability_tests::upstream_headers::codex_header_profile_uses_json_accept_for_non_stream has been running for over 60 seconds
[INFO] [stdout] test gateway::request_rewrite::tests::chat_completions_accepts_responses_style_payload has been running for over 60 seconds
[INFO] [stdout] test gateway::request_rewrite::tests::chat_completions_normalizes_responses_function_tools has been running for over 60 seconds
[INFO] [stdout] test gateway::request_rewrite::tests::chat_completions_stream_enforces_include_usage has been running for over 60 seconds
[INFO] [stdout] test gateway::request_rewrite::tests::chat_completions_stream_preserves_options_while_enabling_usage has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "adfd1254df38ad51d3ffaaf5b05390ceb3cf03afa5582f951a88a7bbb2e3bdc4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "adfd1254df38ad51d3ffaaf5b05390ceb3cf03afa5582f951a88a7bbb2e3bdc4", kill_on_drop: false }`
[INFO] [stdout] adfd1254df38ad51d3ffaaf5b05390ceb3cf03afa5582f951a88a7bbb2e3bdc4
