[INFO] cloning repository https://github.com/nodca/routellm [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nodca/routellm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnodca%2Froutellm", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnodca%2Froutellm'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5f9ab8f82bc8d98236704228c528d59eaab40683 [INFO] testing nodca/routellm against master#f9988fefd3add01f414f52b414308e7872622fee for pr-155114 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnodca%2Froutellm" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/nodca/routellm [INFO] finished tweaking git repo https://github.com/nodca/routellm [INFO] tweaked toml for git repo https://github.com/nodca/routellm written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/nodca/routellm on toolchain f9988fefd3add01f414f52b414308e7872622fee [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/nodca/routellm 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" "+f9988fefd3add01f414f52b414308e7872622fee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded toml v1.1.2+spec-1.1.0 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.117 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.117 [INFO] [stderr] Downloaded tokio-macros v2.7.0 [INFO] [stderr] Downloaded wasm-bindgen v0.2.117 [INFO] [stderr] Downloaded serde_spanned v1.1.1 [INFO] [stderr] Downloaded toml_writer v1.1.1+spec-1.1.0 [INFO] [stderr] Downloaded plain v0.2.3 [INFO] [stderr] Downloaded toml_datetime v1.1.1+spec-1.1.0 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.117 [INFO] [stderr] Downloaded libredox v0.1.15 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.67 [INFO] [stderr] Downloaded jni-sys v0.3.1 [INFO] [stderr] Downloaded toml_parser v1.1.2+spec-1.1.0 [INFO] [stderr] Downloaded redox_syscall v0.7.3 [INFO] [stderr] Downloaded jni-sys v0.4.1 [INFO] [stderr] Downloaded jni-sys-macros v0.4.1 [INFO] [stderr] Downloaded unicode-properties v0.1.4 [INFO] [stderr] Downloaded js-sys v0.3.94 [INFO] [stderr] Downloaded line-clipping v0.3.7 [INFO] [stderr] Downloaded instability v0.3.12 [INFO] [stderr] Downloaded kasuari v0.4.12 [INFO] [stderr] Downloaded indexmap v2.13.1 [INFO] [stderr] Downloaded winnow v1.0.1 [INFO] [stderr] Downloaded unicode-segmentation v1.13.2 [INFO] [stderr] Downloaded iri-string v0.7.12 [INFO] [stderr] Downloaded hyper v1.9.0 [INFO] [stderr] Downloaded unicode-width v0.2.0 [INFO] [stderr] Downloaded web-sys v0.3.94 [INFO] [stderr] Downloaded libc v0.2.184 [INFO] [stderr] Downloaded tokio v1.51.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 56c35aada71192644b108e5749a3b21155c549bf7a01413173be36b0eb8fb13f [INFO] running `Command { std: "docker" "start" "-a" "56c35aada71192644b108e5749a3b21155c549bf7a01413173be36b0eb8fb13f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "56c35aada71192644b108e5749a3b21155c549bf7a01413173be36b0eb8fb13f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "56c35aada71192644b108e5749a3b21155c549bf7a01413173be36b0eb8fb13f", kill_on_drop: false }` [INFO] [stdout] 56c35aada71192644b108e5749a3b21155c549bf7a01413173be36b0eb8fb13f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+f9988fefd3add01f414f52b414308e7872622fee" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2c950ba16df31631c1683a0d549cf05bd6ab660b592bc55d2626761cbb5b900d [INFO] running `Command { std: "docker" "start" "-a" "2c950ba16df31631c1683a0d549cf05bd6ab660b592bc55d2626761cbb5b900d", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling libc v0.2.184 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling writeable v0.6.3 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling litemap v0.8.2 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling icu_normalizer_data v2.2.0 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling icu_properties_data v2.2.0 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling dunce v1.0.5 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling aws-lc-rs v1.16.2 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling unicode-segmentation v1.13.2 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling crc v3.4.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling webpki-roots v0.26.11 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling unicode-width v0.2.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling instability v0.3.12 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling lru v0.16.3 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling indexmap v2.13.1 [INFO] [stderr] Compiling compact_str v0.9.0 [INFO] [stderr] Compiling flume v0.11.1 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Compiling cc v1.2.58 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling tokio v1.51.0 [INFO] [stderr] Compiling num-conv v0.2.1 [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling cmake v0.1.58 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling openssl-probe v0.2.1 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling rustls-native-certs v0.8.3 [INFO] [stderr] Compiling line-clipping v0.3.7 [INFO] [stderr] Compiling iri-string v0.7.12 [INFO] [stderr] Compiling winnow v1.0.1 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling toml_datetime v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling serde_spanned v1.1.1 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling toml_writer v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling toml_parser v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling uuid v1.23.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling aws-lc-sys v0.39.1 [INFO] [stderr] Compiling libsqlite3-sys v0.30.1 [INFO] [stderr] Compiling toml v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.7 [INFO] [stderr] Compiling yoke-derive v0.8.2 [INFO] [stderr] Compiling zerovec-derive v0.11.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling rustls-webpki v0.103.10 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling zerofrom v0.1.7 [INFO] [stderr] Compiling yoke v0.8.2 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling zerovec v0.11.6 [INFO] [stderr] Compiling zerotrie v0.2.4 [INFO] [stderr] Compiling kasuari v0.4.12 [INFO] [stderr] Compiling tinystr v0.8.3 [INFO] [stderr] Compiling potential_utf v0.1.5 [INFO] [stderr] Compiling icu_collections v2.2.0 [INFO] [stderr] Compiling icu_locale_core v2.2.0 [INFO] [stderr] Compiling strum v0.27.2 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling icu_provider v2.2.0 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling icu_properties v2.2.0 [INFO] [stderr] Compiling icu_normalizer v2.2.0 [INFO] [stderr] Compiling hyper v1.9.0 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling unicode-truncate v2.0.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling ratatui-core v0.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling ratatui-widgets v0.3.0 [INFO] [stderr] Compiling sqlx-core v0.8.6 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling sqlx-sqlite v0.8.6 [INFO] [stderr] Compiling sqlx-macros-core v0.8.6 [INFO] [stderr] Compiling sqlx-macros v0.8.6 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling rustls-platform-verifier v0.6.2 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.13.2 [INFO] [stderr] Compiling sqlx v0.8.6 [INFO] [stderr] Compiling llmrouter v1.3.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 42s [INFO] running `Command { std: "docker" "inspect" "2c950ba16df31631c1683a0d549cf05bd6ab660b592bc55d2626761cbb5b900d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2c950ba16df31631c1683a0d549cf05bd6ab660b592bc55d2626761cbb5b900d", kill_on_drop: false }` [INFO] [stdout] 2c950ba16df31631c1683a0d549cf05bd6ab660b592bc55d2626761cbb5b900d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 61ae8b090445fbd45f0353d79605d817a1bfb3d309fc5a1001a8ea49906b901b [INFO] running `Command { std: "docker" "start" "-a" "61ae8b090445fbd45f0353d79605d817a1bfb3d309fc5a1001a8ea49906b901b", kill_on_drop: false }` [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling llmrouter v1.3.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 36.14s [INFO] running `Command { std: "docker" "inspect" "61ae8b090445fbd45f0353d79605d817a1bfb3d309fc5a1001a8ea49906b901b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "61ae8b090445fbd45f0353d79605d817a1bfb3d309fc5a1001a8ea49906b901b", kill_on_drop: false }` [INFO] [stdout] 61ae8b090445fbd45f0353d79605d817a1bfb3d309fc5a1001a8ea49906b901b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 253366511ab947c6420884b204c0f1767915813b39aeb951cfda57e1e16b5e83 [INFO] running `Command { std: "docker" "start" "-a" "253366511ab947c6420884b204c0f1767915813b39aeb951cfda57e1e16b5e83", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.55s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/llmrouter-53d82f7b1decc99d) [INFO] [stdout] [INFO] [stdout] running 116 tests [INFO] [stdout] test cc_switch::tests::build_gemini_candidate_uses_default_model ... ok [INFO] [stdout] test cc_switch::tests::build_codex_candidate_reads_wire_api ... ok [INFO] [stdout] test claude::provider_capability_profile::tests::claude_provider_capability_profile_handles_unrequested_extensions ... ok [INFO] [stdout] test claude::provider_capability_profile::tests::claude_provider_capability_profile_responses_decides_extension_matrix ... ok [INFO] [stdout] test claude::responses_adapter::tests::claude_responses_adapter_clamps_effort_when_target_model_has_narrower_support ... ok [INFO] [stdout] test claude::responses_adapter::tests::claude_responses_adapter_closes_text_block_before_tool_use_block ... ok [INFO] [stdout] test claude::responses_adapter::tests::claude_responses_adapter_exposes_assistant_history_compat_mode ... ok [INFO] [stdout] test claude::responses_adapter::tests::claude_responses_adapter_ignores_thinking_blocks_in_assistant_history ... ok [INFO] [stdout] test claude::responses_adapter::tests::claude_responses_adapter_matches_claude_code_stream_golden ... ok [INFO] [stdout] test claude::responses_adapter::tests::claude_responses_adapter_matches_claude_code_tool_cycle_payload_golden ... ok [INFO] [stdout] test claude::responses_adapter::tests::claude_responses_adapter_ignores_effort_for_non_reasoning_models ... ok [INFO] [stdout] test claude::responses_adapter::tests::claude_responses_adapter_maps_effort_to_openai_reasoning_for_gpt_routes ... ok [INFO] [stdout] test claude::provider_capability_profile::tests::claude_provider_capability_profile_classifies_official_vs_compat_responses_endpoints ... ok [INFO] [stdout] test claude::semantic_core::tests::claude_semantic_core_accepts_thinking_blocks_in_message_history ... ok [INFO] [stdout] test claude::responses_adapter::tests::claude_responses_adapter_translates_stream_frames_to_anthropic_sse ... ok [INFO] [stdout] test claude::semantic_core::tests::claude_semantic_core_rejects_invalid_extension_shapes ... ok [INFO] [stdout] test claude::responses_adapter::tests::claude_responses_adapter_surfaces_stream_failure_for_client_side_error_synthesis ... ok [INFO] [stdout] test claude::responses_adapter::tests::claude_responses_adapter_maps_responses_json_back_to_claude_message ... ok [INFO] [stdout] test claude::responses_adapter::tests::claude_responses_adapter_only_allows_assistant_history_retry_for_compat_profile ... ok [INFO] [stdout] test claude::semantic_core::tests::claude_semantic_core_parses_supported_message_slice ... ok [INFO] [stdout] test claude::semantic_core::tests::claude_semantic_core_rejects_unsupported_roles ... ok [INFO] [stdout] test claude::semantic_core::tests::claude_semantic_core_rejects_malformed_content_blocks ... ok [INFO] [stdout] test claude::semantic_core::tests::claude_semantic_core_requires_model_and_messages ... ok [INFO] [stdout] test claude::responses_adapter::tests::claude_responses_adapter_done_frame_synthesizes_terminal_message_delta_once ... ok [INFO] [stdout] test config::tests::parse_config_file_builds_bootstrap_topology ... ok [INFO] [stdout] test claude::responses_adapter::tests::claude_responses_adapter_preserves_claude_stream_event_order_assumed_by_query_engine ... ok [INFO] [stdout] test claude::responses_adapter::tests::claude_responses_adapter_matches_interruption_tool_result_payload_golden ... ok [INFO] [stdout] test config::tests::parse_config_file_reads_manual_intervention_policy ... ok [INFO] [stdout] test config::tests::parse_config_file_reads_cooldown_policy_overrides ... ok [INFO] [stdout] test config::tests::parse_config_file_rejects_empty_master_key ... ok [INFO] [stdout] test http::tests::build_upstream_url_supports_openai_compatible_prefixes ... ok [INFO] [stdout] test config::tests::parse_config_file_requires_channel_protocol ... ok [INFO] [stdout] test config::tests::parse_config_file_rejects_invalid_channel_protocol ... ok [INFO] [stdout] test config::tests::parse_config_file_uses_default_cooldown ... ok [INFO] [stdout] test cc_switch::tests::build_claude_candidate_uses_default_model ... ok [INFO] [stdout] test http::tests::chat_completions_tools_are_mapped_to_responses_payload ... ok [INFO] [stdout] test http::tests::classify_upstream_error_detects_first_token_timeout ... ok [INFO] [stdout] test bootstrap::tests::sync_config_creates_and_updates_routes_and_channels ... ok [INFO] [stdout] test http::tests::claude_http_golden_replay_compat_retry ... ok [INFO] [stdout] test app::tests::proxy_routes_accept_json_bodies_larger_than_axum_default_limit ... ok [INFO] [stdout] test http::tests::chat_completions_stream_maps_from_responses_sse ... ok [INFO] [stdout] test http::tests::chat_completions_stream_maps_function_calls_from_responses_sse ... ok [INFO] [stdout] test http::tests::chat_completions_route_can_target_passthrough_upstream_model ... ok [INFO] [stdout] test http::tests::chat_completions_non_stream_maps_function_calls_from_responses ... ok [INFO] [stdout] test app::tests::healthz_is_not_protected_by_master_key ... ok [INFO] [stdout] test http::tests::claude_native_gateway_maps_output_config_effort_to_openai_reasoning ... ok [INFO] [stdout] test http::tests::claude_prepared_payloads_use_selected_upstream_model_without_cache_leak ... ok [INFO] [stdout] test http::tests::claude_native_gateway_skeleton_builds_message_payloads_from_semantic_core ... ok [INFO] [stdout] test http::tests::chat_completions_channel_accepts_gemini_openai_base_prefix ... ok [INFO] [stdout] test http::tests::chat_completions_non_stream_maps_from_responses ... ok [INFO] [stdout] test http::tests::channel_only_enters_cooldown_after_third_consecutive_failure ... ok [INFO] [stdout] test http::tests::anthropic_stream_maps_tool_use_events_from_responses_stream ... ok [INFO] [stdout] test http::tests::cooldown_backoff_restarts_when_threshold_is_reached ... ok [INFO] [stdout] test http::tests::cooldown_starts_on_third_consecutive_failure ... ok [INFO] [stdout] test http::tests::channel_actions_disable_and_reset_cooldown_update_state ... ok [INFO] [stdout] test http::tests::auth_error_can_require_manual_intervention_until_reset ... ok [INFO] [stdout] test http::tests::background_recovery_retries_each_cycle_until_a_channel_is_ready ... ok [INFO] [stdout] test http::tests::claude_http_golden_replay_nonstream ... ok [INFO] [stdout] test http::tests::claude_code_style_message_failures_log_redacted_fingerprint_and_correlation ... ok [INFO] [stdout] test http::tests::claude_http_golden_replay_stream ... ok [INFO] [stdout] test http::tests::claude_http_golden_replay_stream_failure_chunked ... ok [INFO] [stdout] test http::tests::claude_messages_propagates_anthropic_error_headers ... ok [INFO] [stdout] test app::tests::api_and_v1_routes_require_matching_supported_auth_tokens_when_master_key_is_set ... ok [INFO] [stdout] test http::tests::create_route_channel_requires_protocol ... ok [INFO] [stdout] test http::tests::create_route_then_add_channels_keeps_one_route ... ok [INFO] [stdout] test http::tests::create_route_without_channel_succeeds ... ok [INFO] [stdout] test http::tests::downstream_anthropic_alias_without_v1_proxies_messages ... ok [INFO] [stdout] test http::tests::create_route_rejects_negative_cooldown_seconds ... ok [INFO] [stdout] test http::tests::delete_route_requires_empty_route_and_deletes_when_empty ... ok [INFO] [stdout] test http::tests::claude_http_golden_replay_transcript_followup ... ok [INFO] [stdout] test http::tests::first_token_timeout_uses_exponential_cooldown_with_cap ... ok [INFO] [stdout] test http::tests::delete_channel_removes_selected_channel ... ok [INFO] [stdout] test http::tests::claude_route_can_target_responses_upstream_model ... ok [INFO] [stdout] test http::tests::create_route_channel_accepts_base_url_with_v1_suffix_for_proxying ... ok [INFO] [stdout] test http::tests::claude_stream_only_retries_once_before_reporting_failure ... ok [INFO] [stdout] test http::tests::create_route_channel_adds_channel_to_selected_route ... ok [INFO] [stdout] test http::tests::downstream_gemini_native_generate_content_preserves_function_calls ... ok [INFO] [stdout] test http::tests::hard_failures_are_blocked_on_first_hit ... ok [INFO] [stdout] test http::tests::claude_stream_retries_once_when_responses_fail_before_first_anthropic_event ... ok [INFO] [stdout] test http::tests::deleting_last_channel_keeps_empty_route ... ok [INFO] [stdout] test http::tests::downstream_openai_alias_without_v1_proxies_chat_completions ... ok [INFO] [stdout] test http::tests::openai_prepared_payloads_use_selected_upstream_model_without_cache_leak ... ok [INFO] [stdout] test http::tests::claude_stream_failures_enter_cooldown_after_third_consecutive_failure ... ok [INFO] [stdout] test http::tests::concurrent_failures_enter_cooldown_once_threshold_is_reached ... ok [INFO] [stdout] test http::tests::downstream_gemini_openai_path_alias_proxies_chat_completions ... ok [INFO] [stdout] test http::tests::management_channel_prefill_returns_base_url_and_api_key ... ok [INFO] [stdout] test http::tests::resolve_cooldown_seconds_prefers_error_specific_override ... ok [INFO] [stdout] test http::tests::downstream_gemini_native_generate_content_proxies ... ok [INFO] [stdout] test http::tests::responses_function_call_maps_to_chat_completion_tool_calls ... ok [INFO] [stdout] test http::tests::last_chance_attempt_can_recover_route_with_zero_ready_channels ... ok [INFO] [stdout] test http::tests::expired_cooldown_channel_stays_unavailable_until_success_clears_needs_reprobe ... ok [INFO] [stdout] test http::tests::messages_validation_failure_returns_anthropic_error_with_request_id ... ok [INFO] [stdout] test http::tests::management_route_logs_list_recent_requests ... ok [INFO] [stdout] test http::tests::non_stream_body_decode_failure_is_recorded_in_request_logs ... ok [INFO] [stdout] test http::tests::probe_channel_transient_failure_does_not_force_manual_block ... ok [INFO] [stdout] test http::tests::downstream_gemini_native_stream_generate_content_proxies ... ok [INFO] [stdout] test routing::tests::admin_inspection_ignores_protocol_mismatch ... ok [INFO] [stdout] test routing::tests::cooled_down_channels_are_filtered_out ... ok [INFO] [stdout] test routing::tests::selector_prefers_lower_latency_within_same_priority_and_protocol_group ... ok [INFO] [stdout] test routing::tests::selector_prefers_lower_priority_within_same_protocol_group ... ok [INFO] [stdout] test routing::tests::selector_prefers_priority_before_protocol_cost ... ok [INFO] [stdout] test http::tests::management_route_channels_show_cooldown_and_reason ... ok [INFO] [stdout] test http::tests::probe_channel_marks_failure_unavailable ... ok [INFO] [stdout] test http::tests::messages_protocol_proxies_messages_with_anthropic_headers ... ok [INFO] [stdout] test http::tests::probe_channel_marks_success_ready ... ok [INFO] [stdout] test http::tests::responses_failures_keep_openai_error_shape ... ok [INFO] [stdout] test http::tests::responses_stream_is_proxied_end_to_end ... ok [INFO] [stdout] test http::tests::request_retries_next_channel_within_same_call_before_returning_error ... ok [INFO] [stdout] test http::tests::update_channel_edits_base_url_api_key_and_routing_fields ... ok [INFO] [stdout] test http::tests::route_logs_stay_visible_after_channel_is_deleted ... ok [INFO] [stdout] test http::tests::responses_stream_failover_stops_after_one_retryable_capacity_switch ... ok [INFO] [stdout] test http::tests::successful_request_persists_usage_and_latency_metrics ... ok [INFO] [stdout] test http::tests::responses_stream_fails_over_once_before_first_byte_on_retryable_capacity_error ... ok [INFO] [stdout] test http::tests::messages_auth_failure_returns_anthropic_error_with_request_id ... ok [INFO] [stdout] test http::tests::management_routes_list_aggregates_channel_counts ... ok [INFO] [stdout] test http::tests::responses_stream_is_not_cut_off_by_global_request_timeout ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 116 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.79s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/llmrouter-2df19a188d484636) [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/llmrouter-tui.rs (/opt/rustwide/target/debug/deps/llmrouter_tui-0f033b28155b0391) [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test tests::anthropic_route_form_allows_distinct_upstream_model_mapping ... ok [INFO] [stdout] test tests::normalize_protocol_input_requires_known_value ... ok [INFO] [stdout] test tests::masked_secret_keeps_head_and_tail ... ok [INFO] [stdout] test tests::provider_normalizes_base_url_prefixes ... ok [INFO] [stdout] test tests::toggle_action_follows_channel_state ... ok [INFO] [stderr] Doc-tests llmrouter [INFO] [stdout] test tests::apply_probe_refresh_restores_current_selection_by_channel_id ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "253366511ab947c6420884b204c0f1767915813b39aeb951cfda57e1e16b5e83", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "253366511ab947c6420884b204c0f1767915813b39aeb951cfda57e1e16b5e83", kill_on_drop: false }` [INFO] [stdout] 253366511ab947c6420884b204c0f1767915813b39aeb951cfda57e1e16b5e83