[INFO] fetching crate kotoba-llm 0.2.0... [INFO] testing kotoba-llm-0.2.0 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate kotoba-llm 0.2.0 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate kotoba-llm 0.2.0 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate kotoba-llm 0.2.0 [INFO] tweaked toml for crates.io crate kotoba-llm 0.2.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate kotoba-llm 0.2.0 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate kotoba-llm 0.2.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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded hyper v1.8.0 [INFO] [stderr] Downloaded webpki-roots v1.0.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1135bcd641da6b691c4c7f5f352bd700d348d92e6cbfa282f74c93e50b078780 [INFO] running `Command { std: "docker" "start" "-a" "1135bcd641da6b691c4c7f5f352bd700d348d92e6cbfa282f74c93e50b078780", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1135bcd641da6b691c4c7f5f352bd700d348d92e6cbfa282f74c93e50b078780", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1135bcd641da6b691c4c7f5f352bd700d348d92e6cbfa282f74c93e50b078780", kill_on_drop: false }` [INFO] [stdout] 1135bcd641da6b691c4c7f5f352bd700d348d92e6cbfa282f74c93e50b078780 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9a63356e5436e7affebeb66f64bff1f6edd2e2d09dc3f4f335764b9c474dba4c [INFO] running `Command { std: "docker" "start" "-a" "9a63356e5436e7affebeb66f64bff1f6edd2e2d09dc3f4f335764b9c474dba4c", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.103 [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Compiling find-msvc-tools v0.1.4 [INFO] [stderr] Compiling icu_properties_data v2.1.1 [INFO] [stderr] Compiling rustls-pki-types v1.13.0 [INFO] [stderr] Compiling rustls v0.23.35 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling iri-string v0.7.9 [INFO] [stderr] Compiling cc v1.2.45 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling log v0.4.28 [INFO] [stderr] Compiling webpki-roots v1.0.3 [INFO] [stderr] Compiling quote v1.0.42 [INFO] [stderr] Compiling syn v2.0.110 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling socket2 v0.6.1 [INFO] [stderr] Compiling mio v1.1.0 [INFO] [stderr] Compiling getrandom v0.2.16 [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 serde_derive v1.0.228 [INFO] [stderr] Compiling tokio v1.48.0 [INFO] [stderr] Compiling rustls-webpki v0.103.8 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling thiserror v1.0.69 [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 icu_provider v2.1.1 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling hyper v1.8.0 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling tokio-util v0.7.17 [INFO] [stderr] Compiling tower-http v0.6.6 [INFO] [stderr] Compiling hyper-util v0.1.17 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.12.24 [INFO] [stderr] Compiling kotoba-llm v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 15s [INFO] running `Command { std: "docker" "inspect" "9a63356e5436e7affebeb66f64bff1f6edd2e2d09dc3f4f335764b9c474dba4c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9a63356e5436e7affebeb66f64bff1f6edd2e2d09dc3f4f335764b9c474dba4c", kill_on_drop: false }` [INFO] [stdout] 9a63356e5436e7affebeb66f64bff1f6edd2e2d09dc3f4f335764b9c474dba4c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a5311ae8e2925da248509b41b3d001e1712d6d1e924da5c001f1165376cd0639 [INFO] running `Command { std: "docker" "start" "-a" "a5311ae8e2925da248509b41b3d001e1712d6d1e924da5c001f1165376cd0639", kill_on_drop: false }` [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Compiling kotoba-llm v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 13.36s [INFO] running `Command { std: "docker" "inspect" "a5311ae8e2925da248509b41b3d001e1712d6d1e924da5c001f1165376cd0639", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a5311ae8e2925da248509b41b3d001e1712d6d1e924da5c001f1165376cd0639", kill_on_drop: false }` [INFO] [stdout] a5311ae8e2925da248509b41b3d001e1712d6d1e924da5c001f1165376cd0639 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 60bdd070d777ba3e1345421126511ade41faefa2ba29ae888dd370df39826462 [INFO] running `Command { std: "docker" "start" "-a" "60bdd070d777ba3e1345421126511ade41faefa2ba29ae888dd370df39826462", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/kotoba_llm-3fd786eb286744f6) [INFO] [stdout] [INFO] [stdout] running 74 tests [INFO] [stdout] test client::tests::chat_with_retry_retries_transient_failures ... ok [INFO] [stdout] test client::tests::capabilities_returns_descriptor_for_handle ... ok [INFO] [stdout] test client::tests::handles_supporting_stream_filters_by_capability ... ok [INFO] [stdout] test client::tests::handles_supporting_tools_filters_by_capability ... ok [INFO] [stdout] test client::tests::capabilities_returns_error_for_unknown_handle ... ok [INFO] [stdout] test client::tests::register_handle_rejects_duplicate_handle ... ok [INFO] [stdout] test config::tests::build_client_from_configs_builds_handles ... ok [INFO] [stdout] test config::tests::build_client_from_configs_rejects_service_account ... ok [INFO] [stdout] test client::tests::llmclient_implements_llmclientlike_trait ... ok [INFO] [stdout] test config::tests::request_patch_merges_and_removes_fields ... ok [INFO] [stdout] test config::tests::build_client_from_configs_requires_credential ... ok [INFO] [stdout] test config::tests::build_client_from_configs_accepts_bearer_token ... ok [INFO] [stdout] test config::tests::build_client_from_configs_supports_all_providers ... ok [INFO] [stdout] test config::tests::request_patch_replaces_scalar_body ... ok [INFO] [stdout] test http::tests::post_json_with_headers_returns_validation_on_serde_error ... ok [INFO] [stdout] test provider::anthropic_messages::error::tests::parse_anthropic_token_limit_errors ... ok [INFO] [stdout] test provider::anthropic_messages::error::tests::parse_anthropic_model_not_found ... ok [INFO] [stdout] test provider::anthropic_messages::error::tests::parse_auth_and_rate_limit_errors ... ok [INFO] [stdout] test provider::anthropic_messages::error::tests::parse_validation_and_provider_errors ... ok [INFO] [stdout] test provider::anthropic_messages::stream::tests::convert_message_delta_event_with_usage_and_stop_reason ... ok [INFO] [stdout] test provider::anthropic_messages::response::tests::map_tool_use_block_to_tool_call_output ... ok [INFO] [stdout] test provider::anthropic_messages::stream::tests::convert_text_delta_event_to_message_delta ... ok [INFO] [stdout] test provider::anthropic_messages::request::tests::fold_system_and_developer_into_system_field ... ok [INFO] [stdout] test provider::anthropic_messages::response::tests::map_basic_text_response ... ok [INFO] [stdout] test provider::anthropic_messages::request::tests::build_body_with_basic_text_message ... ok [INFO] [stdout] test config::tests::build_client_from_configs_rejects_duplicate_handles ... ok [INFO] [stdout] test provider::google_gemini::error::tests::parse_auth_and_rate_limit_errors ... ok [INFO] [stdout] test provider::google_gemini::error::tests::parse_gemini_token_limit_and_model_errors ... ok [INFO] [stdout] test provider::google_gemini::error::tests::parse_validation_and_provider_errors ... ok [INFO] [stdout] test provider::google_gemini::request::tests::build_body_with_basic_text_message ... ok [INFO] [stdout] test provider::google_gemini::request::tests::build_generation_config_with_json_schema ... ok [INFO] [stdout] test provider::google_gemini::request::tests::convert_image_content_to_inline_and_file_data ... ok [INFO] [stdout] test provider::google_gemini::request::tests::system_and_developer_fold_into_system_instruction ... ok [INFO] [stdout] test provider::google_gemini::response::tests::convert_finish_reason_variants ... ok [INFO] [stdout] test provider::google_gemini::response::tests::map_basic_text_response ... ok [INFO] [stdout] test provider::google_gemini::stream::tests::convert_stream_chunk_with_text_delta ... ok [INFO] [stdout] test provider::openai_chat::error::tests::parse_auth_and_rate_limit_errors ... ok [INFO] [stdout] test provider::openai_chat::error::tests::parse_model_not_found_errors ... ok [INFO] [stdout] test provider::openai_chat::error::tests::parse_token_limit_errors ... ok [INFO] [stdout] test provider::openai_chat::error::tests::parse_validation_and_generic_provider_errors ... ok [INFO] [stdout] test provider::openai_chat::request::tests::build_body_with_basic_text_message ... ok [INFO] [stdout] test provider::openai_chat::request::tests::build_body_with_options_and_metadata ... ok [INFO] [stdout] test provider::openai_chat::request::tests::convert_tools_and_tool_choice ... ok [INFO] [stdout] test provider::openai_chat::request::tests::tool_message_with_invalid_results_should_fail ... ok [INFO] [stdout] test provider::openai_chat::request::tests::tool_message_with_single_result_is_encoded_correctly ... ok [INFO] [stdout] test provider::openai_chat::response::tests::convert_content_part_response_unknown_type_becomes_data ... ok [INFO] [stdout] test provider::openai_chat::request::tests::convert_various_content_parts ... ok [INFO] [stdout] test provider::openai_chat::response::tests::convert_content_part_response_text_and_image ... ok [INFO] [stdout] test provider::openai_chat::response::tests::convert_finish_reason_and_usage ... ok [INFO] [stdout] test provider::openai_chat::response::tests::map_response_text_only ... ok [INFO] [stdout] test provider::openai_chat::stream::tests::convert_content_delta_from_parts ... ok [INFO] [stdout] test provider::openai_chat::response::tests::map_response_with_tool_calls ... ok [INFO] [stdout] test provider::openai_chat::stream::tests::convert_stream_chunk_with_text_delta ... ok [INFO] [stdout] test provider::openai_responses::error::tests::parse_responses_model_not_found ... ok [INFO] [stdout] test provider::openai_responses::request::tests::build_body_with_instructions_and_input_messages ... ok [INFO] [stdout] test provider::openai_responses::error::tests::parse_responses_token_limit_errors ... ok [INFO] [stdout] test provider::openai_responses::error::tests::parse_validation_and_generic_provider_errors ... ok [INFO] [stdout] test provider::openai_responses::error::tests::parse_auth_and_rate_limit_errors ... ok [INFO] [stdout] test provider::openai_responses::request::tests::build_body_with_basic_text_input ... ok [INFO] [stdout] test provider::openai_chat::stream::tests::convert_tool_call_delta_event_basic ... ok [INFO] [stdout] test provider::openai_responses::request::tests::convert_image_content_to_input_image ... ok [INFO] [stdout] test provider::openai_responses::stream::tests::convert_output_text_delta_event ... ok [INFO] [stdout] test provider::openai_responses::response::tests::map_function_call_and_result ... ok [INFO] [stdout] test provider::openai_responses::response::tests::map_text_only_response ... ok [INFO] [stdout] test provider::retry::tests::chat_with_retry_stops_on_non_retryable_error ... ok [INFO] [stdout] test provider::openai_responses::stream::tests::convert_completed_event_to_terminal_chunk ... ok [INFO] [stdout] test stream::tests::decoder_combines_multiline_payloads ... ok [INFO] [stdout] test stream::tests::decoder_emits_data_and_done_events ... ok [INFO] [stdout] test stream::tests::decoder_rewrites_transport_errors_to_stream_closed ... ok [INFO] [stdout] test types::tests::request_estimator_breaks_down_roles ... ok [INFO] [stdout] test stream::tests::decoder_reports_utf8_errors ... ok [INFO] [stdout] test types::tests::text_estimator_scales_with_content_length ... ok [INFO] [stdout] test provider::retry::tests::chat_with_retry_eventually_succeeds ... ok [INFO] [stdout] test provider::retry::tests::chat_with_retry_respects_max_retries ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 74 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Running tests/anthropic_messages_basic.rs (/opt/rustwide/target/debug/deps/anthropic_messages_basic-b0e026de5ae7a9af) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test anthropic_messages_basic_image_understanding_dialog_live ... ignored, requires valid Anthropic Messages endpoint [INFO] [stdout] test anthropic_messages_basic_text_dialog_live ... ignored, requires valid Anthropic Messages endpoint [INFO] [stdout] test anthropic_messages_basic_tool_call_dialog_live ... ignored, requires valid Anthropic Messages endpoint [INFO] [stdout] test anthropic_messages_live_sync_and_stream ... ignored, requires valid Anthropic Messages endpoint [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/google_gemini_basic.rs (/opt/rustwide/target/debug/deps/google_gemini_basic-934fc56e26493085) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test google_gemini_basic_image_understanding_dialog_live ... ignored, requires valid Gemini-compatible endpoint [INFO] [stdout] test google_gemini_basic_text_dialog_live ... ignored, requires valid Gemini-compatible endpoint [INFO] [stdout] test google_gemini_basic_tool_call_dialog_live ... ignored, requires valid Gemini-compatible endpoint [INFO] [stdout] test google_gemini_live_sync_and_stream ... ignored, requires valid Gemini-compatible endpoint [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/openai_chat_basic.rs (/opt/rustwide/target/debug/deps/openai_chat_basic-3cc5892e2038a059) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test openai_chat_basic_image_understanding_dialog_live ... ignored, requires valid OpenAI-compatible endpoint [INFO] [stdout] test openai_chat_basic_text_dialog_live ... ignored, requires valid OpenAI-compatible endpoint [INFO] [stdout] test openai_chat_basic_tool_call_dialog_live ... ignored, requires valid OpenAI-compatible endpoint [INFO] [stdout] test openai_chat_live_sync_and_stream ... ignored, requires valid OpenAI-compatible endpoint [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/openai_responses_basic.rs (/opt/rustwide/target/debug/deps/openai_responses_basic-5d4824eef87299b8) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test openai_responses_basic_image_understanding_dialog_live ... ignored, requires valid OpenAI Responses endpoint [INFO] [stdout] test openai_responses_basic_text_dialog_live ... ignored, requires valid OpenAI Responses endpoint [INFO] [stdout] test openai_responses_basic_tool_call_dialog_live ... ignored, requires valid OpenAI Responses endpoint [INFO] [stdout] test openai_responses_live_sync_and_stream ... ignored, requires valid OpenAI Responses endpoint [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests kotoba_llm [INFO] [stdout] [INFO] [stdout] running 52 tests [INFO] [stdout] test src/client.rs - client::LLMClient::builder (line 26) ... ok [INFO] [stdout] test src/client.rs - client::LLMClient::handles (line 255) ... ok [INFO] [stdout] test src/client.rs - client::LLMClient::capabilities (line 289) ... ok [INFO] [stdout] test src/client.rs - client::LLMClient::chat_with_retry (line 123) ... ok [INFO] [stdout] test src/client.rs - client::LLMClient::handles_supporting_tools (line 331) ... ok [INFO] [stdout] test src/client.rs - client::LLMClient::handles_supporting_stream (line 380) ... ok [INFO] [stdout] test src/client.rs - client::LLMClient::chat (line 66) ... ok [INFO] [stdout] test src/client.rs - client::LLMClientBuilder::build (line 616) ... ok [INFO] [stdout] test src/client.rs - client::LLMClientBuilder::register_handle (line 569) ... ok [INFO] [stdout] test src/config.rs - config::RequestPatch (line 104) ... ok [INFO] [stdout] test src/config.rs - config::build_client_from_configs (line 235) ... ok [INFO] [stdout] test src/client.rs - client::LLMClientLike::chat (line 442) ... ok [INFO] [stdout] test src/client.rs - client::LLMClient::stream_chat (line 192) ... ok [INFO] [stdout] test src/config.rs - config::ModelConfig (line 44) ... ok [INFO] [stdout] test src/error.rs - error::LLMError::provider (line 112) ... ok [INFO] [stdout] test src/http/mod.rs - http::HttpRequest::post_json (line 40) ... ok [INFO] [stdout] test src/client.rs - client::LLMClientLike::stream_chat (line 494) ... ok [INFO] [stdout] test src/http/mod.rs - http::HttpResponse::into_string (line 94) ... ok [INFO] [stdout] test src/error.rs - error::LLMError::transport (line 93) ... ok [INFO] [stdout] test src/http/mod.rs - http::HttpRequest::with_headers (line 64) ... ok [INFO] [stdout] test src/provider/anthropic_messages/provider.rs - provider::anthropic_messages::provider::AnthropicMessagesProvider::new (line 44) ... ok [INFO] [stdout] test src/http/reqwest.rs - http::reqwest::ReqwestTransport::default_client (line 40) ... ok [INFO] [stdout] test src/http/reqwest.rs - http::reqwest::ReqwestTransport::new (line 25) ... ok [INFO] [stdout] test src/http/mod.rs - http::HttpTransport::send (line 126) ... ok [INFO] [stdout] test src/http/mod.rs - http::post_json_stream_with_headers (line 326) ... ok [INFO] [stdout] test src/provider/macros.rs - provider::macros::register_providers (line 15) ... ignored [INFO] [stdout] test src/provider/macros.rs - provider::macros::register_providers (line 40) ... ignored [INFO] [stdout] test src/provider/macros.rs - provider::macros::register_providers (line 56) ... ignored [INFO] [stdout] test src/http/mod.rs - http::HttpTransport::send_stream (line 163) ... ok [INFO] [stdout] test src/provider/anthropic_messages/provider.rs - provider::anthropic_messages::provider::AnthropicMessagesProvider::with_beta (line 104) ... ok [INFO] [stdout] test src/http/mod.rs - http::post_json_with_headers (line 267) ... ok [INFO] [stdout] test src/http/reqwest.rs - http::reqwest::default_dyn_transport (line 163) ... ok [INFO] [stdout] test src/provider/anthropic_messages/provider.rs - provider::anthropic_messages::provider::AnthropicMessagesProvider::with_default_model (line 122) ... ok [INFO] [stdout] test src/provider/openai_chat/provider.rs - provider::openai_chat::provider::OpenAiChatProvider::new (line 43) ... ok [INFO] [stdout] test src/provider/anthropic_messages/provider.rs - provider::anthropic_messages::provider::AnthropicMessagesProvider::with_base_url (line 68) ... ok [INFO] [stdout] test src/provider/anthropic_messages/provider.rs - provider::anthropic_messages::provider::AnthropicMessagesProvider::with_version (line 86) ... ok [INFO] [stdout] test src/provider/mod.rs - provider::LLMProvider::stream_chat (line 63) ... ok [INFO] [stdout] test src/provider/openai_responses/provider.rs - provider::openai_responses::provider::OpenAiResponsesProvider::new (line 43) ... ok [INFO] [stdout] test src/provider/openai_responses/provider.rs - provider::openai_responses::provider::OpenAiResponsesProvider::with_default_model (line 119) ... ok [INFO] [stdout] test src/provider/openai_chat/provider.rs - provider::openai_chat::provider::OpenAiChatProvider::with_organization (line 84) ... ok [INFO] [stdout] test src/provider/openai_responses/provider.rs - provider::openai_responses::provider::OpenAiResponsesProvider::with_organization (line 85) ... ok [INFO] [stdout] test src/provider/openai_responses/provider.rs - provider::openai_responses::provider::OpenAiResponsesProvider::with_base_url (line 67) ... ok [INFO] [stdout] test src/types/mod.rs - types::ChatRequest (line 268) ... ok [INFO] [stdout] test src/types/mod.rs - types::ChatResponse (line 397) ... ok [INFO] [stdout] test src/types/mod.rs - types::TokenEstimator::estimate_request (line 687) ... ok [INFO] [stdout] test src/provider/mod.rs - provider::LLMProvider::chat (line 32) ... ok [INFO] [stdout] test src/provider/openai_chat/provider.rs - provider::openai_chat::provider::OpenAiChatProvider::with_project (line 101) ... ok [INFO] [stdout] test src/types/mod.rs - types::TokenUsage (line 544) ... ok [INFO] [stdout] test src/provider/openai_chat/provider.rs - provider::openai_chat::provider::OpenAiChatProvider::with_base_url (line 67) ... ok [INFO] [stdout] test src/provider/openai_responses/provider.rs - provider::openai_responses::provider::OpenAiResponsesProvider::with_project (line 102) ... ok [INFO] [stdout] test src/provider/openai_chat/provider.rs - provider::openai_chat::provider::OpenAiChatProvider::with_default_model (line 118) ... ok [INFO] [stdout] test src/types/mod.rs - types::Message (line 39) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 49 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stdout] all doctests ran in 2.70s; merged doctests compilation took 2.56s [INFO] running `Command { std: "docker" "inspect" "60bdd070d777ba3e1345421126511ade41faefa2ba29ae888dd370df39826462", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "60bdd070d777ba3e1345421126511ade41faefa2ba29ae888dd370df39826462", kill_on_drop: false }` [INFO] [stdout] 60bdd070d777ba3e1345421126511ade41faefa2ba29ae888dd370df39826462