[INFO] fetching crate saorsa-ai 0.4.0...
[INFO] testing saorsa-ai-0.4.0 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate saorsa-ai 0.4.0 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate saorsa-ai 0.4.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate saorsa-ai 0.4.0
[INFO] tweaked toml for crates.io crate saorsa-ai 0.4.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate saorsa-ai 0.4.0 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate saorsa-ai 0.4.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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 25dfa8f61ff2e11ce7c1ba6f7dc24f42d6d24fc73552b73d8f38e023010eadff
[INFO] running `Command { std: "docker" "start" "-a" "25dfa8f61ff2e11ce7c1ba6f7dc24f42d6d24fc73552b73d8f38e023010eadff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "25dfa8f61ff2e11ce7c1ba6f7dc24f42d6d24fc73552b73d8f38e023010eadff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "25dfa8f61ff2e11ce7c1ba6f7dc24f42d6d24fc73552b73d8f38e023010eadff", kill_on_drop: false }`
[INFO] [stdout] 25dfa8f61ff2e11ce7c1ba6f7dc24f42d6d24fc73552b73d8f38e023010eadff
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 28ef8830d4c2439c7b8b279c19e622333f1ccb9e0a5fd9bed961969600bf1695
[INFO] running `Command { std: "docker" "start" "-a" "28ef8830d4c2439c7b8b279c19e622333f1ccb9e0a5fd9bed961969600bf1695", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling cc v1.2.55
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling zmij v1.0.19
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling ryu v1.0.22
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling futures-timer v3.0.3
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling eventsource-stream v0.2.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[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 serde v1.0.228
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[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 futures-executor v0.3.31
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper v1.8.1
[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 tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling reqwest-eventsource v0.6.0
[INFO] [stderr]    Compiling saorsa-ai v0.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.78s
[INFO] running `Command { std: "docker" "inspect" "28ef8830d4c2439c7b8b279c19e622333f1ccb9e0a5fd9bed961969600bf1695", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "28ef8830d4c2439c7b8b279c19e622333f1ccb9e0a5fd9bed961969600bf1695", kill_on_drop: false }`
[INFO] [stdout] 28ef8830d4c2439c7b8b279c19e622333f1ccb9e0a5fd9bed961969600bf1695
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e7b029b95a5d7445b3dbe94ea0251e9070c7ba59e919254bbbd78f75fc096319
[INFO] running `Command { std: "docker" "start" "-a" "e7b029b95a5d7445b3dbe94ea0251e9070c7ba59e919254bbbd78f75fc096319", kill_on_drop: false }`
[INFO] [stderr]    Compiling saorsa-ai v0.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 8.05s
[INFO] running `Command { std: "docker" "inspect" "e7b029b95a5d7445b3dbe94ea0251e9070c7ba59e919254bbbd78f75fc096319", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e7b029b95a5d7445b3dbe94ea0251e9070c7ba59e919254bbbd78f75fc096319", kill_on_drop: false }`
[INFO] [stdout] e7b029b95a5d7445b3dbe94ea0251e9070c7ba59e919254bbbd78f75fc096319
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0d4f6ca42033f10564fba51bf3d46c63fe355378335031f059daf3941dc06189
[INFO] running `Command { std: "docker" "start" "-a" "0d4f6ca42033f10564fba51bf3d46c63fe355378335031f059daf3941dc06189", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.39s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/saorsa_ai-325c425e3cc51f5d)
[INFO] [stdout] 
[INFO] [stdout] running 168 tests
[INFO] [stdout] test anthropic::tests::parse_message_delta ... ok
[INFO] [stdout] test anthropic::tests::parse_error ... ok
[INFO] [stdout] test anthropic::tests::parse_content_block_delta ... ok
[INFO] [stdout] test anthropic::tests::parse_message_start ... ok
[INFO] [stdout] test anthropic::tests::parse_message_stop ... ok
[INFO] [stdout] test anthropic::tests::parse_unknown_event_returns_none ... ok
[INFO] [stdout] test error::tests::io_error_converts ... ok
[INFO] [stdout] test error::tests::provider_error_display ... ok
[INFO] [stdout] test gemini::tests::gemini_content_role_mapping ... ok
[INFO] [stdout] test anthropic::tests::provider_creation ... ok
[INFO] [stdout] test gemini::tests::parse_sse_done ... ok
[INFO] [stdout] test anthropic::tests::parse_ping ... ok
[INFO] [stdout] test gemini::tests::map_finish_reason_variants ... ok
[INFO] [stdout] test gemini::tests::parse_sse_finish_reason ... ok
[INFO] [stdout] test gemini::tests::parse_sse_function_call_delta ... ok
[INFO] [stdout] test gemini::tests::request_serialization_tool_result_message ... ok
[INFO] [stdout] test gemini::tests::request_serialization_basic ... ok
[INFO] [stdout] test gemini::tests::provider_creation ... ok
[INFO] [stdout] test gemini::tests::request_serialization_tool_use_message ... ok
[INFO] [stdout] test gemini::tests::request_with_temperature_and_stop ... ok
[INFO] [stdout] test gemini::tests::parse_sse_text_delta ... ok
[INFO] [stdout] test gemini::tests::parse_sse_usage_only_chunk ... ok
[INFO] [stdout] test gemini::tests::response_empty_candidates_returns_error ... ok
[INFO] [stdout] test gemini::tests::response_parsing_function_call ... ok
[INFO] [stdout] test gemini::tests::response_parsing_max_tokens_finish ... ok
[INFO] [stdout] test gemini::tests::url_construction ... ok
[INFO] [stdout] test message::tests::assistant_message_construction ... ok
[INFO] [stdout] test gemini::tests::request_serialization_with_system ... ok
[INFO] [stdout] test gemini::tests::request_serialization_with_tools ... ok
[INFO] [stdout] test message::tests::message_serialization_roundtrip ... ok
[INFO] [stdout] test gemini::tests::response_parsing_text ... ok
[INFO] [stdout] test message::tests::tool_definition_creation ... ok
[INFO] [stdout] test message::tests::tool_result_message ... ok
[INFO] [stdout] test message::tests::tool_use_serialization ... ok
[INFO] [stdout] test message::tests::user_message_construction ... ok
[INFO] [stdout] test models::tests::all_anthropic_models_200k ... ok
[INFO] [stdout] test models::tests::context_window_prefix_fallback ... ok
[INFO] [stdout] test models::tests::context_window_unknown ... ok
[INFO] [stdout] test models::tests::all_models_have_positive_context ... ok
[INFO] [stdout] test models::tests::anthropic_models_have_costs ... ok
[INFO] [stdout] test models::tests::cerebras_models_prefixed ... ok
[INFO] [stdout] test models::tests::gemini_models_have_costs ... ok
[INFO] [stdout] test models::tests::context_window_exact ... ok
[INFO] [stdout] test models::tests::lookup_by_provider_prefix_unknown_returns_none ... ok
[INFO] [stdout] test models::tests::lookup_claude_exact ... ok
[INFO] [stdout] test models::tests::lookup_by_provider_prefix_with_slash ... ok
[INFO] [stdout] test models::tests::all_models_returns_full_list ... ok
[INFO] [stdout] test models::tests::lookup_prefix_claude_versioned ... ok
[INFO] [stdout] test models::tests::lookup_prefix_no_match ... ok
[INFO] [stdout] test models::tests::lookup_prefix_match ... ok
[INFO] [stdout] test models::tests::lookup_unknown_returns_none ... ok
[INFO] [stdout] test models::tests::supports_tools_check ... ok
[INFO] [stdout] test models::tests::openai_flagship_models_have_costs ... ok
[INFO] [stdout] test ollama::tests::map_done_reason_variants ... ok
[INFO] [stdout] test ollama::tests::parse_ndjson_done_length ... ok
[INFO] [stdout] test models::tests::lookup_exact_match ... ok
[INFO] [stdout] test ollama::tests::headers_no_auth ... ok
[INFO] [stdout] test models::tests::lookup_groq_model ... ok
[INFO] [stdout] test models::tests::lookup_xai_model ... ok
[INFO] [stdout] test models::tests::lookup_mistral_model ... ok
[INFO] [stdout] test models::tests::lookup_openrouter_model ... ok
[INFO] [stdout] test models::tests::ollama_models_have_no_costs ... ok
[INFO] [stdout] test ollama::tests::headers_with_auth ... ok
[INFO] [stdout] test ollama::tests::parse_ndjson_empty_content ... ok
[INFO] [stdout] test models::tests::supports_vision_check ... ok
[INFO] [stdout] test ollama::tests::parse_ndjson_invalid_json ... ok
[INFO] [stdout] test ollama::tests::parse_ndjson_text_delta ... ok
[INFO] [stdout] test ollama::tests::request_serialization_tool_result_message ... ok
[INFO] [stdout] test ollama::tests::request_serialization_tool_use_message ... ok
[INFO] [stdout] test ollama::tests::request_serialization_with_system ... ok
[INFO] [stdout] test ollama::tests::request_serialization_with_temperature ... ok
[INFO] [stdout] test ollama::tests::request_serialization_with_tools ... ok
[INFO] [stdout] test models::tests::gemini_models_large_context ... ok
[INFO] [stdout] test ollama::tests::response_parsing_length_done_reason ... ok
[INFO] [stdout] test ollama::tests::response_parsing_with_tool_calls ... ok
[INFO] [stdout] test models::tests::known_model_count ... ok
[INFO] [stdout] test models::tests::lookup_by_provider_prefix_exact ... ok
[INFO] [stdout] test ollama::tests::parse_ndjson_done_signal ... ok
[INFO] [stdout] test models::tests::lookup_by_provider_prefix_strips_unknown_provider ... ok
[INFO] [stdout] test openai::tests::parse_sse_done ... ok
[INFO] [stdout] test openai::tests::request_serialization_tool_result_message ... ok
[INFO] [stdout] test openai::tests::parse_sse_finish_reason ... ok
[INFO] [stdout] test openai::tests::parse_sse_tool_call_delta ... ok
[INFO] [stdout] test ollama::tests::parse_ndjson_tool_call_delta ... ok
[INFO] [stdout] test ollama::tests::provider_creation ... ok
[INFO] [stdout] test openai::tests::response_parsing_length_finish ... ok
[INFO] [stdout] test openai::tests::request_serialization_tool_use_message ... ok
[INFO] [stdout] test ollama::tests::request_serialization_basic ... ok
[INFO] [stdout] test openai::tests::request_serialization_with_system ... ok
[INFO] [stdout] test ollama::tests::request_serialization_stream_flag ... ok
[INFO] [stdout] test openai::tests::request_serialization_with_tools ... ok
[INFO] [stdout] test ollama::tests::url_construction ... ok
[INFO] [stdout] test openai::tests::response_empty_choices_returns_error ... ok
[INFO] [stdout] test openai::tests::response_parsing_text ... ok
[INFO] [stdout] test ollama::tests::response_parsing_text ... ok
[INFO] [stdout] test openai::tests::request_with_temperature_and_stop ... ok
[INFO] [stdout] test openai::tests::response_parsing_tool_calls ... ok
[INFO] [stdout] test openai::tests::parse_sse_text_delta ... ok
[INFO] [stdout] test openai_compat::tests::factory_groq ... ok
[INFO] [stdout] test ollama::tests::url_construction_custom_base ... ok
[INFO] [stdout] test openai_compat::tests::factory_azure ... ok
[INFO] [stdout] test openai_compat::tests::headers_bearer_auth ... ok
[INFO] [stdout] test openai::tests::provider_creation ... ok
[INFO] [stdout] test openai_compat::tests::factory_mistral ... ok
[INFO] [stdout] test openai_compat::tests::headers_custom_auth ... ok
[INFO] [stdout] test openai_compat::tests::factory_xai ... ok
[INFO] [stdout] test openai_compat::tests::factory_cerebras ... ok
[INFO] [stdout] test openai_compat::tests::factory_openrouter ... ok
[INFO] [stdout] test openai::tests::request_serialization_basic ... ok
[INFO] [stdout] test openai_compat::tests::headers_extra_headers ... ok
[INFO] [stdout] test openai_compat::tests::parse_sse_done ... ok
[INFO] [stdout] test openai_compat::tests::provider_creation ... ok
[INFO] [stdout] test openai_compat::tests::parse_sse_finish_reason ... ok
[INFO] [stdout] test openai_compat::tests::request_serialization_basic ... ok
[INFO] [stdout] test openai_compat::tests::request_serialization_with_system ... ok
[INFO] [stdout] test openai_compat::tests::request_serialization_tool_result ... ok
[INFO] [stdout] test provider::tests::determine_provider_unknown ... ok
[INFO] [stdout] test provider::tests::determine_provider_prefix_match ... ok
[INFO] [stdout] test provider::tests::provider_config_custom_base_url ... ok
[INFO] [stdout] test openai_compat::tests::request_serialization_with_tools ... ok
[INFO] [stdout] test provider::tests::determine_provider_openrouter_models_from_registry ... ok
[INFO] [stdout] test provider::tests::provider_config_defaults_from_kind ... ok
[INFO] [stdout] test openai_compat::tests::response_parsing_text ... ok
[INFO] [stdout] test openai_compat::tests::headers_empty_api_key_no_auth ... ok
[INFO] [stdout] test openai_compat::tests::stream_flag_set ... ok
[INFO] [stdout] test openai_compat::tests::url_construction_custom_path ... ok
[INFO] [stdout] test openai_compat::tests::response_parsing_tool_calls ... ok
[INFO] [stdout] test openai_compat::tests::parse_sse_text_delta ... ok
[INFO] [stdout] test provider::tests::determine_provider_slash_format ... ok
[INFO] [stdout] test provider::tests::provider_kind_default_base_url ... ok
[INFO] [stdout] test provider::tests::provider_config_builder ... ok
[INFO] [stdout] test openai_compat::tests::url_construction_default_path ... ok
[INFO] [stdout] test provider::tests::registry_create_gemini ... ok
[INFO] [stdout] test provider::tests::registry_create_openrouter ... ok
[INFO] [stdout] test provider::tests::registry_create_unknown_returns_error ... ok
[INFO] [stdout] test provider::tests::registry_create_ollama ... ok
[INFO] [stderr]      Running tests/integration_provider.rs (/opt/rustwide/target/debug/deps/integration_provider-47cee5b575539ca1)
[INFO] [stdout] test provider::tests::determine_provider_known_model ... ok
[INFO] [stdout] test provider::tests::registry_create_openai_compatible ... ok
[INFO] [stdout] test tokens::tests::context_window_known_models ... ok
[INFO] [stdout] test tokens::tests::estimate_message_tokens_text ... ok
[INFO] [stdout] test tokens::tests::estimate_tokens_basic ... ok
[INFO] [stdout] test provider::tests::registry_has_provider ... ok
[INFO] [stdout] test provider::tests::registry_create_openai ... ok
[INFO] [stdout] test provider::tests::registry_create_vllm ... ok
[INFO] [stdout] test provider::tests::provider_kind_env_var_name ... ok
[INFO] [stdout] test provider::tests::registry_custom_factory ... ok
[INFO] [stdout] test provider::tests::registry_create_anthropic ... ok
[INFO] [stdout] test tokens::tests::estimate_conversation_basic ... ok
[INFO] [stdout] test provider::tests::registry_create_lm_studio ... ok
[INFO] [stdout] test tokens::tests::estimate_tokens_long_text ... ok
[INFO] [stdout] test tokens::tests::fits_in_context_check ... ok
[INFO] [stdout] test tokens::tests::fits_in_context_unknown_model ... ok
[INFO] [stdout] test types::tests::request_builder ... ok
[INFO] [stdout] test types::tests::content_delta_serialization ... ok
[INFO] [stdout] test types::tests::request_serialization ... ok
[INFO] [stdout] test provider::tests::provider_kind_display_name ... ok
[INFO] [stdout] test tokens::tests::estimate_tokens_empty ... ok
[INFO] [stdout] test types::tests::request_with_thinking ... ok
[INFO] [stdout] test types::tests::response_parsing ... ok
[INFO] [stdout] test types::tests::stop_reason_parsing ... ok
[INFO] [stdout] test types::tests::thinking_config_roundtrip ... ok
[INFO] [stdout] test types::tests::thinking_config_serialization ... ok
[INFO] [stdout] test types::tests::thinking_config_without_budget ... ok
[INFO] [stdout] test types::tests::usage_total ... ok
[INFO] [stdout] test types::tests::usage_with_cache_tokens_deserialization ... ok
[INFO] [stdout] test types::tests::usage_total_with_cache_tokens ... ok
[INFO] [stdout] test types::tests::usage_without_cache_tokens_deserialization ... ok
[INFO] [stdout] test types::tests::thinking_delta_variant ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 168 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stderr]    Doc-tests saorsa_ai
[INFO] [stdout] test content_delta_input_json ... ok
[INFO] [stdout] test content_delta_text ... ok
[INFO] [stdout] test request_builder_chaining ... ok
[INFO] [stdout] test message_construction_assistant ... ok
[INFO] [stdout] test request_serialization ... ok
[INFO] [stdout] test message_construction_tool_result ... ok
[INFO] [stdout] test message_construction_user ... ok
[INFO] [stdout] test request_with_tools ... ok
[INFO] [stdout] test response_stop_reasons ... ok
[INFO] [stdout] test tool_use_extraction ... ok
[INFO] [stdout] test usage_calculation ... ok
[INFO] [stdout] test response_parsing_text_only ... ok
[INFO] [stdout] test response_parsing_tool_use ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[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" "0d4f6ca42033f10564fba51bf3d46c63fe355378335031f059daf3941dc06189", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0d4f6ca42033f10564fba51bf3d46c63fe355378335031f059daf3941dc06189", kill_on_drop: false }`
[INFO] [stdout] 0d4f6ca42033f10564fba51bf3d46c63fe355378335031f059daf3941dc06189
