[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 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210 [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 dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5f530d59e394c8f128acbcc7d66649c26cda4692faafac69044a9f7483d60a70 [INFO] running `Command { std: "docker" "start" "-a" "5f530d59e394c8f128acbcc7d66649c26cda4692faafac69044a9f7483d60a70", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5f530d59e394c8f128acbcc7d66649c26cda4692faafac69044a9f7483d60a70", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5f530d59e394c8f128acbcc7d66649c26cda4692faafac69044a9f7483d60a70", kill_on_drop: false }` [INFO] [stdout] 5f530d59e394c8f128acbcc7d66649c26cda4692faafac69044a9f7483d60a70 [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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a192861ca51ec8d23e1b3d61f40cba069b1a6feaecccf6d218f48f6870d17865 [INFO] running `Command { std: "docker" "start" "-a" "a192861ca51ec8d23e1b3d61f40cba069b1a6feaecccf6d218f48f6870d17865", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling unicode-ident v1.0.22 [INFO] [stderr] Compiling libc v0.2.180 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling find-msvc-tools v0.1.8 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling bytes v1.11.0 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling zerocopy v0.8.35 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling slab v0.4.11 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling litemap v0.8.1 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling writeable v0.6.2 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling zmij v1.0.17 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling ipnet v2.11.0 [INFO] [stderr] Compiling cc v1.2.54 [INFO] [stderr] Compiling rustls v0.23.36 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling openssl-probe v0.1.6 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling data-encoding v2.10.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling ryu v1.0.22 [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling webpki-roots v1.0.5 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling iri-string v0.7.10 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling http-range-header v0.4.2 [INFO] [stderr] Compiling fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling fallible-iterator v0.3.0 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling ascii v1.1.0 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Compiling chunked_transfer v1.5.0 [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 home v0.5.12 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling codexmanager-service v0.1.8 (/opt/rustwide/workdir/crates/service) [INFO] [stderr] Compiling urlencoding v2.1.3 [INFO] [stderr] Compiling tiny_http v0.12.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling nix v0.31.1 [INFO] [stderr] Compiling codexmanager-web v0.1.8 (/opt/rustwide/workdir/crates/web) [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling codexmanager-start v0.1.8 (/opt/rustwide/workdir/crates/start) [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling ctrlc v3.5.2 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling hashbrown v0.14.5 [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 rand_chacha v0.9.0 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling hashlink v0.9.1 [INFO] [stderr] Compiling rustls-webpki v0.103.9 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [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_urlencoded v0.7.1 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [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-rustls v0.26.4 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tokio-tungstenite v0.28.0 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling rusqlite v0.31.0 [INFO] [stderr] Compiling codexmanager-core v0.1.8 (/opt/rustwide/workdir/crates/core) [INFO] [stderr] Compiling hyper v1.8.1 [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 52s [INFO] running `Command { std: "docker" "inspect" "a192861ca51ec8d23e1b3d61f40cba069b1a6feaecccf6d218f48f6870d17865", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a192861ca51ec8d23e1b3d61f40cba069b1a6feaecccf6d218f48f6870d17865", kill_on_drop: false }` [INFO] [stdout] a192861ca51ec8d23e1b3d61f40cba069b1a6feaecccf6d218f48f6870d17865 [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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9ecf111679de158c9527f967a6f4a6f7eed441a3acac94dafa59e18a9711a872 [INFO] running `Command { std: "docker" "start" "-a" "9ecf111679de158c9527f967a6f4a6f7eed441a3acac94dafa59e18a9711a872", 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 26.80s [INFO] running `Command { std: "docker" "inspect" "9ecf111679de158c9527f967a6f4a6f7eed441a3acac94dafa59e18a9711a872", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9ecf111679de158c9527f967a6f4a6f7eed441a3acac94dafa59e18a9711a872", kill_on_drop: false }` [INFO] [stdout] 9ecf111679de158c9527f967a6f4a6f7eed441a3acac94dafa59e18a9711a872 [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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 41badcac0b4d082da4c690009bda1d5c7cf2cfdb345af7a18aee031e102be3f2 [INFO] running `Command { std: "docker" "start" "-a" "41badcac0b4d082da4c690009bda1d5c7cf2cfdb345af7a18aee031e102be3f2", 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.13s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/codexmanager_core-7718c2f3954075db) [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_list_params_default_to_first_page_with_five_items ... ok [INFO] [stdout] test rpc::types::tests::account_summary_serialization_matches_compact_contract ... ok [INFO] [stdout] test rpc::types::tests::request_log_filter_summary_serialization_uses_camel_case ... 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_summary_serialization_includes_trace_route_fields ... 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_supports_exact_mode ... ok [INFO] [stdout] test storage::request_log_query::tests::prefixed_field_query_keeps_like_mode_by_default ... ok [INFO] [stdout] test rpc::types::tests::request_log_list_result_serialization_includes_pagination_fields ... 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::migration_tests::account_meta_sql_migration_coexists_with_legacy_compat_marker ... ok [INFO] [stdout] test storage::migration_tests::api_key_profile_migration_backfills_existing_keys ... 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::migration_tests::accounts_sort_index_migration_adds_sort_updated_at_index ... ok [INFO] [stdout] test storage::migration_tests::key_hash_index_migration_adds_api_keys_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::migration_tests::usage_snapshot_latest_index_migration_adds_captured_id_index ... 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::migration_tests::init_tracks_schema_migrations_and_is_idempotent ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s [INFO] [stdout] [INFO] [stderr] Running tests/auth.rs (/opt/rustwide/target/debug/deps/auth-e085843937ce1a02) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test build_authorize_url_matches_codex ... ok [INFO] [stdout] test extract_token_exp_reads_exp_claim ... ok [INFO] [stdout] test parse_id_token_claims_extracts_email_and_sub ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/storage.rs (/opt/rustwide/target/debug/deps/storage-402c1bcd721420eb) [INFO] [stdout] [INFO] [stdout] running 17 tests [INFO] [stdout] test clear_request_logs_keeps_token_stats_for_usage_summary ... ok [INFO] [stdout] test storage_login_session_roundtrip ... ok [INFO] [stdout] test request_logs_support_prefixed_query_filters ... ok [INFO] [stdout] test latest_usage_snapshots_break_ties_by_latest_id ... ok [INFO] [stdout] test storage_api_keys_include_profile_fields ... ok [INFO] [stdout] test storage_can_find_token_and_account_by_account_id ... ok [INFO] [stdout] test storage_can_update_account_status ... ok [INFO] [stdout] test storage_can_insert_account_and_token ... ok [INFO] [stdout] test storage_gateway_candidates_exclude_unavailable_or_missing_token_accounts ... ok [INFO] [stdout] test storage_can_roundtrip_api_key_secret ... ok [INFO] [stdout] test request_log_today_summary_reads_from_token_stats_table ... ok [INFO] [stdout] test storage_updates_account_status_only_when_changed ... ok [INFO] [stdout] test request_token_stats_can_summarize_total_tokens_by_key ... ok [INFO] [stdout] test insert_request_log_with_token_stat_writes_both_tables_in_one_call ... ok [INFO] [stdout] test storage_account_usage_filters_support_sql_pagination ... ok [INFO] [stdout] test usage_snapshots_can_prune_history_per_account ... ok [INFO] [stdout] test token_upsert_keeps_refresh_schedule_columns ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.41s [INFO] [stdout] [INFO] [stderr] Running tests/usage.rs (/opt/rustwide/target/debug/deps/usage-26bf547ba6576c82) [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-a91fc9415dab7334) [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-ada5b1001ff72f2e) [INFO] [stdout] [INFO] [stdout] running 378 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::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::export::tests::sanitize_file_stem_replaces_windows_invalid_chars ... ok [INFO] [stdout] test account::availability::tests::availability_marks_exhausted_secondary_unavailable ... ok [INFO] [stdout] test account::availability::tests::availability_marks_partial_secondary_missing_unavailable ... ok [INFO] [stdout] test account::import::tests::extract_token_payload_supports_camel_case_fields ... ok [INFO] [stdout] test account::import::tests::extract_token_payload_supports_flat_codex_format ... ok [INFO] [stdout] test account::export::tests::sanitize_file_stem_trims_tailing_space_and_dot ... ok [INFO] [stdout] test account::cleanup::tests::free_plan_detection_rejects_paid_or_unknown_variants ... ok [INFO] [stdout] test account::availability::tests::availability_marks_ok_available ... ok [INFO] [stdout] test account::import::tests::resolve_logical_account_id_distinguishes_workspace_under_same_chatgpt ... 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_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 auth::callback::tests::callback_success_page_contains_auto_close_script ... ok [INFO] [stdout] test app_settings::api::current::tests::free_account_max_model_options_reuse_cached_model_picker_options ... ok [INFO] [stdout] test auth::callback::tests::login_server_rejects_non_loopback_by_default ... ok [INFO] [stdout] test account::plan::tests::free_plan_detection_accepts_common_variants ... ok [INFO] [stdout] test app_settings::api::current::tests::free_account_max_model_options_fallback_to_curated_defaults ... ok [INFO] [stdout] test gateway::availability_tests::auth_headers::drop_incoming_header_for_failover_strips_session_affinity ... ok [INFO] [stdout] test account::import::tests::resolve_logical_account_id_is_stable_when_scope_is_stable ... 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::failover_paths::compute_url_keeps_compact_responses_for_codex_backend ... 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::failover_paths::compute_url_keeps_v1_for_models_on_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 auth::callback::tests::callback_error_page_escapes_message ... 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::plan::tests::free_plan_detection_accepts_credits_json_marker ... 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::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::metrics_tokens::usage_refresh_metrics_track_success_and_failure ... 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::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_json_response_maps_from_openai_responses_shape ... 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_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 auth::tokens::tests::build_account_storage_id_keeps_login_scope_shape ... ok [INFO] [stdout] test gateway::availability_tests::protocol_adapter::anthropic_request_ignores_unsupported_block_type ... ok [INFO] [stdout] test auth::callback::tests::resolve_redirect_uri_prefers_login_server ... 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_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_sse_response_uses_output_item_done_when_completed_output_empty ... 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::auth_headers::resolve_openai_bearer_token_uses_cached_storage_value ... ok [INFO] [stdout] test account::import::tests::existing_account_index_next_sort_uses_step_five ... ok [INFO] [stdout] test auth::tokens::tests::pick_existing_account_requires_exact_scope_when_workspace_present ... ok [INFO] [stdout] test account::import::tests::import_single_item_reuses_existing_login_account_by_scope_identity ... ok [INFO] [stdout] test auth::tokens::tests::pick_existing_account_matches_exact_workspace_scope ... 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 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::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::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::aggregate::output_text::tests::extract_error_hint_from_body_summarizes_unsupported_model_json ... 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::availability_tests::failover_paths::failover_on_missing_usage ... ok [INFO] [stdout] test gateway::http_bridge::stream_readers::common::tests::stream_terminal_messages_are_user_friendly ... ok [INFO] [stdout] test account::import::tests::import_single_item_prefers_meta_fields_for_new_account ... 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_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::extract_openai_completed_output_text_reads_completed_output_message_text ... 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::inspect_sse_frame_recognizes_response_done_as_terminal ... 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_chat_stream_skips_done_and_message_item_text_events ... 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 account::plan::tests::free_or_single_window_account_accepts_weekly_single_window_without_plan_claim ... 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::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_completions_sse_reader_requires_terminal_event_before_success ... 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::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::http_bridge::tests::passthrough_sse_reader_captures_raw_html_error_body ... 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::protocol_adapter::tests::anthropic_request::anthropic_assistant_tool_use_preserves_text_order_in_responses_input ... ok [INFO] [stdout] test gateway::local_validation::request::tests::anthropic_key_keeps_empty_overrides ... 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_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_messages_preserve_all_tools_across_multiple_mcp_servers ... 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_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_from_sse_preserves_thinking_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_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_request::openai_chat_json_response_restores_shortened_tool_name ... ok [INFO] [stdout] test gateway::http_bridge::tests::openai_chat_sse_reader_emits_keepalive_chunk_during_idle_gap ... 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_custom_tool_calls ... 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_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_done_only_still_outputs_text ... 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_chunk_fallback_maps_unknown_text_event ... 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_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::protocol_adapter::tests::openai_response::openai_completions_stream_event_only_done_still_outputs_text ... 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_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_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_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::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_pro_prices ... 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" "41badcac0b4d082da4c690009bda1d5c7cf2cfdb345af7a18aee031e102be3f2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "41badcac0b4d082da4c690009bda1d5c7cf2cfdb345af7a18aee031e102be3f2", kill_on_drop: false }` [INFO] [stdout] 41badcac0b4d082da4c690009bda1d5c7cf2cfdb345af7a18aee031e102be3f2