[INFO] fetching crate ninmu-api 0.1.0...
[INFO] testing ninmu-api-0.1.0 against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] extracting crate ninmu-api 0.1.0 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate ninmu-api 0.1.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate ninmu-api 0.1.0
[INFO] tweaked toml for crates.io crate ninmu-api 0.1.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ninmu-api 0.1.0 on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ninmu-api 0.1.0 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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "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/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2dabf1eea8ea193c3d88a9a9160f388d87dfd01ebf832f7237cefc0d1634dff3
[INFO] running `Command { std: "docker" "start" "2dabf1eea8ea193c3d88a9a9160f388d87dfd01ebf832f7237cefc0d1634dff3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2dabf1eea8ea193c3d88a9a9160f388d87dfd01ebf832f7237cefc0d1634dff3" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2dabf1eea8ea193c3d88a9a9160f388d87dfd01ebf832f7237cefc0d1634dff3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2dabf1eea8ea193c3d88a9a9160f388d87dfd01ebf832f7237cefc0d1634dff3" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling rustls v0.23.39
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling synstructure v0.13.2
[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 tokio-macros v2.7.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[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 ninmu-telemetry v0.1.0
[INFO] [stderr]    Compiling ninmu-plugins v0.1.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[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 hyper v1.9.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling ninmu-runtime v0.1.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling ninmu-api v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 51.02s
[INFO] running `Command { std: "docker" "inspect" "2dabf1eea8ea193c3d88a9a9160f388d87dfd01ebf832f7237cefc0d1634dff3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2dabf1eea8ea193c3d88a9a9160f388d87dfd01ebf832f7237cefc0d1634dff3" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling ninmu-telemetry v0.1.0
[INFO] [stderr]    Compiling ninmu-plugins v0.1.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling ninmu-runtime v0.1.0
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling ninmu-api v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `metadata_for_model`
[INFO] [stdout]    --> src/providers/mod.rs:746:9
[INFO] [stdout]     |
[INFO] [stdout] 746 |         metadata_for_model, model_token_limit, parse_dotenv, prefix_model_for_provider,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 33.82s
[INFO] running `Command { std: "docker" "inspect" "2dabf1eea8ea193c3d88a9a9160f388d87dfd01ebf832f7237cefc0d1634dff3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2dabf1eea8ea193c3d88a9a9160f388d87dfd01ebf832f7237cefc0d1634dff3" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `metadata_for_model`
[INFO] [stderr]    --> src/providers/mod.rs:746:9
[INFO] [stderr]     |
[INFO] [stderr] 746 |         metadata_for_model, model_token_limit, parse_dotenv, prefix_model_for_provider,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `ninmu-api` (lib test) generated 1 warning (run `cargo fix --lib -p ninmu-api --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ninmu_api-907017a7b67a8777)
[INFO] [stdout] 
[INFO] [stdout] running 179 tests
[INFO] [stdout] test client::tests::dashscope_model_uses_dashscope_config_not_openai ... ok
[INFO] [stdout] test client::tests::fallback_chain_errors_when_all_fail ... ok
[INFO] [stdout] test client::tests::provider_detection_prefers_model_family ... ok
[INFO] [stdout] test error::tests::classifies_provider_context_window_errors ... ok
[INFO] [stdout] test client::tests::fallback_chain_returns_first_successful_client ... ok
[INFO] [stdout] test error::tests::detects_generic_fatal_wrapper_and_classifies_it_as_provider_internal ... ok
[INFO] [stdout] test error::tests::json_deserialize_error_includes_provider_model_and_truncated_body_snippet ... ok
[INFO] [stdout] test error::tests::missing_credentials_with_hint_appends_the_hint_after_base_message ... ok
[INFO] [stdout] test error::tests::missing_credentials_without_hint_renders_the_canonical_message ... ok
[INFO] [stdout] test error::tests::retries_exhausted_preserves_nested_request_id_and_failure_class ... ok
[INFO] [stdout] test error::tests::truncate_body_snippet_caps_long_bodies_at_max_chars ... ok
[INFO] [stdout] test error::tests::truncate_body_snippet_does_not_split_multibyte_characters ... ok
[INFO] [stdout] test error::tests::truncate_body_snippet_keeps_short_bodies_intact ... ok
[INFO] [stdout] test http_client::tests::build_http_client_returns_error_for_invalid_unified_proxy_url ... ok
[INFO] [stdout] test http_client::tests::build_http_client_returns_http_error_for_invalid_proxy_url ... ok
[INFO] [stdout] test http_client::tests::build_http_client_succeeds_when_no_proxy_is_configured ... ok
[INFO] [stdout] test http_client::tests::from_proxy_url_sets_unified_field_and_leaves_per_scheme_empty ... ok
[INFO] [stdout] test http_client::tests::proxy_config_is_empty_when_no_env_vars_are_set ... ok
[INFO] [stdout] test http_client::tests::build_http_client_succeeds_with_valid_http_and_https_proxies ... ok
[INFO] [stdout] test http_client::tests::proxy_config_falls_back_to_lowercase_keys ... ok
[INFO] [stdout] test http_client::tests::proxy_config_prefers_uppercase_over_lowercase_when_both_set ... ok
[INFO] [stdout] test prompt_cache::tests::request_fingerprint_drives_unexpected_break_detection ... ok
[INFO] [stdout] test prompt_cache::tests::request_hashes_are_versioned_and_stable ... ok
[INFO] [stdout] test http_client::tests::proxy_config_reads_uppercase_http_https_and_no_proxy ... ok
[INFO] [stdout] test http_client::tests::proxy_config_treats_empty_strings_as_unset ... ok
[INFO] [stdout] test http_client::tests::proxy_url_takes_precedence_over_per_scheme_fields ... ok
[INFO] [stdout] test prompt_cache::tests::changed_prompt_marks_break_as_expected ... ok
[INFO] [stdout] test prompt_cache::tests::path_builder_sanitizes_session_identifier ... ok
[INFO] [stdout] test prompt_cache::tests::sanitize_path_caps_long_values ... ok
[INFO] [stdout] test providers::anthropic::tests::auth_source_from_env_combines_api_key_and_bearer_token ... ok
[INFO] [stdout] test providers::anthropic::tests::auth_source_applies_headers ... ok
[INFO] [stdout] test providers::anthropic::tests::backoff_doubles_until_maximum ... ok
[INFO] [stdout] test providers::anthropic::tests::enrich_bearer_auth_error_appends_sk_ant_hint_on_401_with_pure_bearer_token ... ok
[INFO] [stdout] test providers::anthropic::tests::default_retry_policy_matches_exponential_schedule ... ok
[INFO] [stdout] test providers::anthropic::tests::enrich_bearer_auth_error_ignores_401_when_auth_source_has_no_bearer ... ok
[INFO] [stdout] test providers::anthropic::tests::auth_source_from_env_or_saved_ignores_saved_oauth_when_env_absent ... ok
[INFO] [stdout] test providers::anthropic::tests::jittered_backoff_stays_within_additive_bounds_and_varies ... ok
[INFO] [stdout] test prompt_cache::tests::completion_cache_round_trip_persists_recent_response ... ok
[INFO] [stdout] test client::tests::resolves_existing_and_grok_aliases ... ok
[INFO] [stdout] test http_client::tests::build_http_client_succeeds_with_unified_proxy_url ... ok
[INFO] [stdout] test providers::anthropic::tests::enrich_bearer_auth_error_leaves_non_401_errors_unchanged ... ok
[INFO] [stdout] test providers::anthropic::tests::enrich_bearer_auth_error_ignores_401_when_bearer_token_is_not_sk_ant ... ok
[INFO] [stdout] test providers::anthropic::tests::enrich_bearer_auth_error_passes_non_api_errors_through_unchanged ... ok
[INFO] [stdout] test prompt_cache::tests::distinct_requests_do_not_collide_in_completion_cache ... ok
[INFO] [stdout] test providers::anthropic::tests::enrich_bearer_auth_error_skips_hint_when_api_key_header_is_also_present ... ok
[INFO] [stdout] test providers::anthropic::tests::message_request_stream_helper_sets_stream_true ... ok
[INFO] [stdout] test providers::anthropic::tests::read_api_key_prefers_api_key_env ... ok
[INFO] [stdout] test providers::anthropic::tests::read_auth_token_reads_auth_token_env ... ok
[INFO] [stdout] test providers::anthropic::tests::rendered_request_body_strips_betas_for_standard_messages_endpoint ... ok
[INFO] [stdout] test providers::anthropic::tests::retryable_statuses_are_detected ... ok
[INFO] [stdout] test prompt_cache::tests::expired_completion_entries_are_not_reused ... ok
[INFO] [stdout] test providers::anthropic::tests::strip_does_not_add_empty_stop_sequences ... ok
[INFO] [stdout] test providers::anthropic::tests::strip_removes_openai_only_fields_and_converts_stop ... ok
[INFO] [stdout] test providers::anthropic::tests::oauth_token_expiry_uses_expires_at_timestamp ... ok
[INFO] [stdout] test providers::anthropic::tests::strip_unsupported_beta_body_fields_removes_betas_array ... ok
[INFO] [stdout] test providers::anthropic::tests::tool_delta_variant_round_trips ... ok
[INFO] [stdout] test providers::models_file::tests::custom_model_not_found_returns_none ... ok
[INFO] [stdout] test providers::models_file::tests::load_from_missing_file_returns_none ... ok
[INFO] [stdout] test providers::models_file::tests::parses_basic_models_file ... ok
[INFO] [stdout] test providers::anthropic::tests::oauth_token_maps_to_bearer_auth_source ... ok
[INFO] [stdout] test providers::models_file::tests::finds_custom_model_by_provider_prefix ... ok
[INFO] [stdout] test providers::models_file::tests::project_provider_overrides_same_key_user_provider ... ok
[INFO] [stdout] test providers::anthropic::tests::request_id_uses_primary_or_fallback_header ... ok
[INFO] [stdout] test providers::anthropic::tests::strip_unsupported_beta_body_fields_is_a_noop_when_betas_absent ... ok
[INFO] [stdout] test providers::models_file::tests::custom_metadata_maps_new_api_values_to_correct_provider_kind ... ok
[INFO] [stdout] test providers::openai_compat::tests::assistant_message_with_tool_calls_includes_tool_calls_field ... ok
[INFO] [stdout] test providers::openai_compat::tests::assistant_message_without_tool_calls_omits_tool_calls_field ... ok
[INFO] [stdout] test providers::openai_compat::tests::build_chat_completion_request_kimi_vs_non_kimi_tool_results ... ok
[INFO] [stdout] test providers::openai_compat::tests::check_request_body_size_passes_for_small_requests ... ok
[INFO] [stdout] test providers::openai_compat::tests::credential_env_vars_cover_new_providers ... ok
[INFO] [stdout] test providers::openai_compat::tests::chunk_delta_parses_reasoning_content ... ok
[INFO] [stdout] test providers::openai_compat::tests::chunk_delta_defaults_reasoning_content_to_none ... ok
[INFO] [stdout] test providers::models_file::tests::validates_api_field_accepts_all_valid_values ... ok
[INFO] [stdout] test providers::models_file::tests::validates_api_field_rejects_unknown_value ... ok
[INFO] [stdout] test providers::models_file::tests::discover_merges_user_and_project_providers ... ok
[INFO] [stdout] test providers::openai_compat::tests::deepseek_reasoner_is_reasoning_model ... ok
[INFO] [stdout] test providers::openai_compat::tests::delta_with_null_tool_calls_deserializes_as_empty_vec ... ok
[INFO] [stdout] test providers::openai_compat::tests::endpoint_builder_accepts_base_urls_and_full_endpoints ... ok
[INFO] [stdout] test providers::openai_compat::tests::gemini_models_are_not_reasoning_models ... ok
[INFO] [stdout] test providers::openai_compat::tests::estimate_request_body_size_returns_reasonable_estimate ... ok
[INFO] [stdout] test providers::openai_compat::tests::grok_3_mini_is_reasoning_model ... ok
[INFO] [stdout] test providers::openai_compat::tests::missing_xai_api_key_is_provider_specific ... ok
[INFO] [stdout] test providers::openai_compat::tests::gpt5_uses_max_completion_tokens_not_max_tokens ... ok
[INFO] [stdout] test providers::anthropic::tests::resolve_saved_oauth_token_preserves_refresh_token_when_refresh_response_omits_it ... ok
[INFO] [stdout] test providers::anthropic::tests::read_api_key_requires_non_empty_value ... ok
[INFO] [stdout] test providers::openai_compat::tests::model_rejects_is_error_field_detects_kimi_models ... ok
[INFO] [stdout] test providers::anthropic::tests::read_api_key_requires_presence ... ok
[INFO] [stdout] test providers::openai_compat::tests::non_gpt5_uses_max_tokens ... ok
[INFO] [stdout] test providers::openai_compat::tests::normalizes_stop_reasons ... ok
[INFO] [stdout] test providers::openai_compat::tests::ollama_uses_api_key_when_set_cloud_mode ... ok
[INFO] [stdout] test providers::openai_compat::tests::openai_streaming_requests_include_usage_opt_in ... ok
[INFO] [stdout] test providers::openai_compat::tests::qwen_api_key_falls_back_to_openai_api_key ... ok
[INFO] [stdout] test providers::openai_compat::tests::qwen_base_url_falls_back_to_openai_base_url ... ok
[INFO] [stdout] test providers::openai_compat::tests::provider_specific_size_limits_are_correct ... ok
[INFO] [stdout] test providers::openai_compat::tests::qwen_base_url_prefers_qwen_over_openai_fallback ... ok
[INFO] [stdout] test providers::openai_compat::tests::read_base_url_returns_default_when_all_absent ... ok
[INFO] [stdout] test providers::openai_compat::tests::parses_tool_arguments_fallback ... ok
[INFO] [stdout] test providers::openai_compat::tests::qwen_api_key_prefers_qwen_over_openai_fallback ... ok
[INFO] [stdout] test providers::openai_compat::tests::ollama_works_without_key_local_mode ... ok
[INFO] [stdout] test providers::openai_compat::tests::qwen_missing_both_keys_reports_error ... ok
[INFO] [stdout] test providers::openai_compat::tests::qwen_reasoning_variants_are_detected ... ok
[INFO] [stdout] test providers::openai_compat::tests::reasoning_model_strips_tuning_params ... ok
[INFO] [stdout] test providers::openai_compat::tests::request_translation_uses_openai_compatible_shape ... ok
[INFO] [stdout] test providers::openai_compat::tests::sanitize_drops_orphaned_tool_messages ... ok
[INFO] [stdout] test providers::openai_compat::tests::strip_routing_prefix_handles_new_providers ... ok
[INFO] [stdout] test providers::openai_compat::tests::read_base_url_uses_fallback_env_var ... ok
[INFO] [stdout] test providers::openai_compat::tests::new_config_constructors_have_correct_defaults ... ok
[INFO] [stdout] test providers::openai_compat::tests::reasoning_effort_is_included_when_set ... ok
[INFO] [stdout] test providers::openai_compat::tests::reasoning_effort_omitted_when_not_set ... ok
[INFO] [stdout] test providers::openai_compat::tests::tool_schema_object_gets_strict_fields_for_responses_endpoint ... ok
[INFO] [stdout] test providers::openai_compat::tests::translate_message_excludes_is_error_for_kimi_models ... ok
[INFO] [stdout] test providers::openai_compat::tests::translate_message_includes_is_error_for_non_kimi_models ... ok
[INFO] [stdout] test providers::tests::anthropic_auth_takes_priority_over_deepseek ... ok
[INFO] [stdout] test providers::tests::anthropic_missing_credentials_builds_error_with_canonical_env_vars_and_no_hint_when_clean ... ok
[INFO] [stdout] test providers::tests::anthropic_missing_credentials_builds_error_with_hint_when_openai_key_is_set ... ok
[INFO] [stdout] test providers::tests::anthropic_missing_credentials_hint_detects_dashscope_api_key ... ok
[INFO] [stdout] test providers::tests::anthropic_missing_credentials_hint_detects_openai_api_key_and_recommends_openai_prefix ... ok
[INFO] [stdout] test providers::openai_compat::tests::strip_routing_prefix_strips_kimi_provider_prefix ... ok
[INFO] [stdout] test providers::openai_compat::tests::tool_choice_translation_supports_required_function ... ok
[INFO] [stdout] test providers::tests::anthropic_missing_credentials_hint_detects_xai_api_key ... ok
[INFO] [stdout] test providers::tests::anthropic_missing_credentials_hint_ignores_empty_string_values ... ok
[INFO] [stdout] test providers::tests::anthropic_missing_credentials_hint_is_none_when_no_foreign_creds_present ... ok
[INFO] [stdout] test providers::openai_compat::tests::tuning_params_omitted_from_payload_when_none ... ok
[INFO] [stdout] test providers::tests::deepseek_models_have_hardcoded_limits ... ok
[INFO] [stdout] test providers::tests::detect_provider_from_deepseek_api_key ... ok
[INFO] [stdout] test providers::openai_compat::tests::xai_streaming_requests_skip_openai_specific_usage_opt_in ... ok
[INFO] [stdout] test providers::openai_compat::tests::tuning_params_included_in_payload_when_set ... ok
[INFO] [stdout] test providers::tests::anthropic_missing_credentials_hint_prefers_openai_when_multiple_foreign_creds_set ... ok
[INFO] [stdout] test providers::tests::cohere_alias_resolves_to_command_r_plus ... ok
[INFO] [stdout] test providers::tests::detect_provider_from_ollama_base_url ... ok
[INFO] [stdout] test providers::anthropic::tests::resolve_saved_oauth_token_refreshes_expired_credentials ... ok
[INFO] [stdout] test providers::tests::deepseek_model_prefix_routes_to_deepseek_provider ... ok
[INFO] [stdout] test providers::tests::bare_qwen_dash_model_routes_to_dashscope ... ok
[INFO] [stdout] test providers::tests::detect_provider_from_qwen_api_key ... ok
[INFO] [stdout] test providers::tests::keeps_existing_max_token_heuristic ... ok
[INFO] [stdout] test providers::tests::detect_provider_from_vllm_base_url ... ok
[INFO] [stdout] test providers::tests::kimi_alias_resolves_to_kimi_k25_token_limits ... ok
[INFO] [stdout] test providers::tests::detects_provider_from_model_name_first ... ok
[INFO] [stdout] test providers::tests::kimi_prefix_routes_to_dashscope ... ok
[INFO] [stdout] test providers::tests::gemini_alias_resolves_to_gemini_2_5_pro ... ok
[INFO] [stdout] test providers::tests::kimi_alias_resolves_to_kimi_k2_5 ... ok
[INFO] [stdout] test providers::tests::max_tokens_for_model_with_override_falls_back_when_plugin_unset ... ok
[INFO] [stdout] test providers::tests::load_dotenv_file_reads_keys_from_disk_and_returns_none_when_missing ... ok
[INFO] [stdout] test providers::tests::mistral_alias_resolves_to_mistral_large_latest ... ok
[INFO] [stdout] test providers::tests::openai_base_url_overrides_anthropic_fallback_for_unknown_model ... ok
[INFO] [stdout] test providers::tests::openai_namespaced_model_routes_to_openai_not_anthropic ... ok
[INFO] [stdout] test providers::tests::provider_kind_from_str_parses_all_variants ... ok
[INFO] [stdout] test providers::tests::parse_dotenv_extracts_keys_handles_comments_quotes_and_export_prefix ... ok
[INFO] [stdout] test providers::tests::prefix_model_does_not_double_prefix ... ok
[INFO] [stdout] test providers::tests::preflight_skips_unknown_models ... ok
[INFO] [stdout] test providers::tests::qwen_provider_prefix_routes_to_external_qwen ... ok
[INFO] [stdout] test providers::tests::resolves_deepseek_aliases ... ok
[INFO] [stdout] test providers::tests::resolves_grok_aliases ... ok
[INFO] [stdout] test providers::tests::returns_context_window_metadata_for_cohere_models ... ok
[INFO] [stdout] test providers::tests::returns_context_window_metadata_for_grok2 ... ok
[INFO] [stdout] test providers::tests::returns_context_window_metadata_for_kimi_models ... ok
[INFO] [stdout] test providers::tests::qwen_prefix_routes_to_dashscope_not_anthropic ... ok
[INFO] [stdout] test providers::anthropic::tests::resolve_startup_auth_source_ignores_saved_oauth_without_loading_config ... ok
[INFO] [stdout] test providers::tests::plugin_config_max_output_tokens_overrides_model_default ... ok
[INFO] [stdout] test providers::tests::returns_context_window_metadata_for_gemini_models ... ok
[INFO] [stdout] test providers::tests::returns_context_window_metadata_for_mistral_models ... ok
[INFO] [stdout] test providers::tests::vllm_provider_prefix_routes_to_vllm ... ok
[INFO] [stdout] test providers::tests::returns_context_window_metadata_for_supported_models ... ok
[INFO] [stdout] test sse::tests::given_message_delta_frame_with_empty_usage_when_parsed_then_usage_defaults_to_zero ... ok
[INFO] [stdout] test sse::tests::ignores_data_less_event_frames ... ok
[INFO] [stdout] test sse::tests::ignores_ping_and_done ... ok
[INFO] [stdout] test sse::tests::parses_chunked_stream ... ok
[INFO] [stdout] test sse::tests::parses_single_frame ... ok
[INFO] [stdout] test types::tests::message_response_estimates_cost_from_model_usage ... ok
[INFO] [stdout] test sse::tests::parses_split_json_across_data_lines ... ok
[INFO] [stdout] test sse::tests::parses_thinking_content_block_start ... ok
[INFO] [stdout] test sse::tests::parses_thinking_related_deltas ... ok
[INFO] [stdout] test types::tests::usage_total_tokens_includes_cache_tokens ... ok
[INFO] [stdout] test providers::tests::preflight_blocks_requests_that_exceed_the_model_context_window ... ok
[INFO] [stdout] test providers::tests::ollama_provider_prefix_routes_to_ollama ... FAILED
[INFO] [stdout] test providers::tests::prefix_model_for_provider_adds_prefix ... FAILED
[INFO] [stdout] test providers::tests::preflight_blocks_oversized_requests_for_kimi_models ... ok
[INFO] [stdout] test providers::openai_compat::tests::check_request_body_size_fails_for_dashscope_when_exceeds_6mb ... ok
[INFO] [stdout] test providers::openai_compat::tests::check_request_body_size_allows_large_requests_for_openai ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- providers::tests::ollama_provider_prefix_routes_to_ollama stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'providers::tests::ollama_provider_prefix_routes_to_ollama' (2400) panicked at src/providers/mod.rs:1456:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: OpenAi
[INFO] [stdout]  right: Ollama
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f194447a688 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5f194447a688 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::trace_unsynchronized::<std[d054f6f42beb1baa]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5f194447a688 - std[d054f6f42beb1baa]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5f194447a688 - <<std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[5a1c3e9896636f3a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5f1944491aca - <core[5a1c3e9896636f3a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5f1944491aca - core[5a1c3e9896636f3a]::fmt::write
[INFO] [stdout]    6:     0x5f194447f952 - std[d054f6f42beb1baa]::io::default_write_fmt::<alloc[154f689e5dd3bae5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x5f194447f952 - <alloc[154f689e5dd3bae5]::vec::Vec<u8> as std[d054f6f42beb1baa]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x5f1944455c56 - <std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5f1944455c56 - std[d054f6f42beb1baa]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5f19444713f9 - std[d054f6f42beb1baa]::panicking::default_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5f19442a834c - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x5f19442a834c - test[fad20673b750c10e]::test_main_inner::<test[fad20673b750c10e]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5f1944471672 - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x5f1944471672 - std[d054f6f42beb1baa]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5f1944455d12 - std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5f194444d239 - std[d054f6f42beb1baa]::sys::backtrace::__rust_end_short_backtrace::<std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5f1944456e6d - __rustc[7ab284efd7f33ea8]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5f194449228c - core[5a1c3e9896636f3a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5f1944492143 - core[5a1c3e9896636f3a]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x5f1943de7f24 - core[5a1c3e9896636f3a]::panicking::assert_failed::<ninmu_api[d217cc731cb8d73e]::providers::ProviderKind, ninmu_api[d217cc731cb8d73e]::providers::ProviderKind>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5f1943dbd4ea - ninmu_api[d217cc731cb8d73e]::providers::tests::ollama_provider_prefix_routes_to_ollama
[INFO] [stdout]                                at /opt/rustwide/workdir/src/providers/mod.rs:1456:9
[INFO] [stdout]   22:     0x5f1943db99a7 - ninmu_api[d217cc731cb8d73e]::providers::tests::ollama_provider_prefix_routes_to_ollama::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/providers/mod.rs:1453:49
[INFO] [stdout]   23:     0x5f1943e294f6 - <ninmu_api[d217cc731cb8d73e]::providers::tests::ollama_provider_prefix_routes_to_ollama::{closure#0} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5f194429b42b - <fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5f194429b42b - test[fad20673b750c10e]::__rust_begin_short_backtrace::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x5f19442a8ca5 - test[fad20673b750c10e]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x5f19442a8ca5 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5f19442a8ca5 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5f19442a8ca5 - std[d054f6f42beb1baa]::panicking::catch_unwind::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5f19442a8ca5 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5f19442a8ca5 - test[fad20673b750c10e]::run_test_in_process
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x5f19442a8ca5 - test[fad20673b750c10e]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x5f19442a3804 - test[fad20673b750c10e]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x5f19442a3804 - std[d054f6f42beb1baa]::sys::backtrace::__rust_begin_short_backtrace::<test[fad20673b750c10e]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5f19442abd22 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5f19442abd22 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5f19442abd22 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5f19442abd22 - std[d054f6f42beb1baa]::panicking::catch_unwind::<(), core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5f19442abd22 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5f19442abd22 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5f19442abd22 - <std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5f194447947f - <alloc[154f689e5dd3bae5]::boxed::Box<dyn core[5a1c3e9896636f3a]::ops::function::FnOnce<(), Output = ()> + core[5a1c3e9896636f3a]::marker::Send> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   43:     0x5f194447947f - <std[d054f6f42beb1baa]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x7505977f4aa4 - <unknown>
[INFO] [stdout]   45:     0x750597881a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- providers::tests::prefix_model_for_provider_adds_prefix stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'providers::tests::prefix_model_for_provider_adds_prefix' (2406) panicked at src/providers/mod.rs:1619:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: "llama3.1:8b"
[INFO] [stdout]  right: "ollama/llama3.1:8b"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f194447a688 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5f194447a688 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::trace_unsynchronized::<std[d054f6f42beb1baa]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5f194447a688 - std[d054f6f42beb1baa]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5f194447a688 - <<std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[5a1c3e9896636f3a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5f1944491aca - <core[5a1c3e9896636f3a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5f1944491aca - core[5a1c3e9896636f3a]::fmt::write
[INFO] [stdout]    6:     0x5f194447f952 - std[d054f6f42beb1baa]::io::default_write_fmt::<alloc[154f689e5dd3bae5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x5f194447f952 - <alloc[154f689e5dd3bae5]::vec::Vec<u8> as std[d054f6f42beb1baa]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x5f1944455c56 - <std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5f1944455c56 - std[d054f6f42beb1baa]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5f19444713f9 - std[d054f6f42beb1baa]::panicking::default_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5f19442a834c - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x5f19442a834c - test[fad20673b750c10e]::test_main_inner::<test[fad20673b750c10e]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5f1944471672 - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x5f1944471672 - std[d054f6f42beb1baa]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5f1944455d12 - std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5f194444d239 - std[d054f6f42beb1baa]::sys::backtrace::__rust_end_short_backtrace::<std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5f1944456e6d - __rustc[7ab284efd7f33ea8]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5f194449228c - core[5a1c3e9896636f3a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5f1944492143 - core[5a1c3e9896636f3a]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x5f1943de7de0 - core[5a1c3e9896636f3a]::panicking::assert_failed::<alloc[154f689e5dd3bae5]::string::String, &str>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5f1943dbd15d - ninmu_api[d217cc731cb8d73e]::providers::tests::prefix_model_for_provider_adds_prefix
[INFO] [stdout]                                at /opt/rustwide/workdir/src/providers/mod.rs:1619:9
[INFO] [stdout]   22:     0x5f1943db98e7 - ninmu_api[d217cc731cb8d73e]::providers::tests::prefix_model_for_provider_adds_prefix::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/providers/mod.rs:1614:47
[INFO] [stdout]   23:     0x5f1943e293f6 - <ninmu_api[d217cc731cb8d73e]::providers::tests::prefix_model_for_provider_adds_prefix::{closure#0} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5f194429b42b - <fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5f194429b42b - test[fad20673b750c10e]::__rust_begin_short_backtrace::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x5f19442a8ca5 - test[fad20673b750c10e]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x5f19442a8ca5 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5f19442a8ca5 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5f19442a8ca5 - std[d054f6f42beb1baa]::panicking::catch_unwind::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5f19442a8ca5 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5f19442a8ca5 - test[fad20673b750c10e]::run_test_in_process
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x5f19442a8ca5 - test[fad20673b750c10e]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x5f19442a3804 - test[fad20673b750c10e]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x5f19442a3804 - std[d054f6f42beb1baa]::sys::backtrace::__rust_begin_short_backtrace::<test[fad20673b750c10e]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5f19442abd22 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5f19442abd22 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5f19442abd22 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5f19442abd22 - std[d054f6f42beb1baa]::panicking::catch_unwind::<(), core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5f19442abd22 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5f19442abd22 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5f19442abd22 - <std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5f194447947f - <alloc[154f689e5dd3bae5]::boxed::Box<dyn core[5a1c3e9896636f3a]::ops::function::FnOnce<(), Output = ()> + core[5a1c3e9896636f3a]::marker::Send> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   43:     0x5f194447947f - <std[d054f6f42beb1baa]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x7505977f4aa4 - <unknown>
[INFO] [stdout]   45:     0x750597881a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     providers::tests::ollama_provider_prefix_routes_to_ollama
[INFO] [stdout]     providers::tests::prefix_model_for_provider_adds_prefix
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 177 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.49s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "2dabf1eea8ea193c3d88a9a9160f388d87dfd01ebf832f7237cefc0d1634dff3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2dabf1eea8ea193c3d88a9a9160f388d87dfd01ebf832f7237cefc0d1634dff3", kill_on_drop: false }`
[INFO] [stdout] 2dabf1eea8ea193c3d88a9a9160f388d87dfd01ebf832f7237cefc0d1634dff3
