[INFO] fetching crate openrouter_api 0.3.2...
[INFO] testing openrouter_api-0.3.2 against beta-2025-10-28 for beta-1.92-2
[INFO] extracting crate openrouter_api 0.3.2 into /workspace/builds/worker-3-tc2/source
[INFO] removed /workspace/builds/worker-3-tc2/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate openrouter_api 0.3.2
[INFO] finished tweaking crates.io crate openrouter_api 0.3.2
[INFO] tweaked toml for crates.io crate openrouter_api 0.3.2 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate openrouter_api 0.3.2 on toolchain beta-2025-10-28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate openrouter_api 0.3.2 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-2025-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `reqwest` dependency)
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a65d699864d4340a2abb4d06c7c747c37fd68bf96a9e2895bfdf89331fd8b347
[INFO] running `Command { std: "docker" "start" "-a" "a65d699864d4340a2abb4d06c7c747c37fd68bf96a9e2895bfdf89331fd8b347", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a65d699864d4340a2abb4d06c7c747c37fd68bf96a9e2895bfdf89331fd8b347", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a65d699864d4340a2abb4d06c7c747c37fd68bf96a9e2895bfdf89331fd8b347", kill_on_drop: false }`
[INFO] [stdout] a65d699864d4340a2abb4d06c7c747c37fd68bf96a9e2895bfdf89331fd8b347
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a16ffb83f909c98818afe9ec137628ce546110b1ea3782f71511919bb8538b1c
[INFO] running `Command { std: "docker" "start" "-a" "a16ffb83f909c98818afe9ec137628ce546110b1ea3782f71511919bb8538b1c", kill_on_drop: false }`
[INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `reqwest` dependency)
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling cc v1.2.26
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling syn v2.0.102
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling webpki-roots v0.25.4
[INFO] [stderr]    Compiling uuid v1.17.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tokio v1.45.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.2
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling tokio-util v0.7.15
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling h2 v0.3.26
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-rustls v0.24.2
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling openrouter_api v0.3.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 46.80s
[INFO] running `Command { std: "docker" "inspect" "a16ffb83f909c98818afe9ec137628ce546110b1ea3782f71511919bb8538b1c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a16ffb83f909c98818afe9ec137628ce546110b1ea3782f71511919bb8538b1c", kill_on_drop: false }`
[INFO] [stdout] a16ffb83f909c98818afe9ec137628ce546110b1ea3782f71511919bb8538b1c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b3de06d46f9524a89c36a740ad18949a988c98d4383d4875556aabd6c896e4ee
[INFO] running `Command { std: "docker" "start" "-a" "b3de06d46f9524a89c36a740ad18949a988c98d4383d4875556aabd6c896e4ee", kill_on_drop: false }`
[INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `reqwest` dependency)
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling zerocopy v0.8.25
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling tokio v1.45.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling http-types v2.12.0
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling waker-fn v1.2.0
[INFO] [stderr]    Compiling serde_qs v0.8.5
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling test-case-core v3.3.1
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling retain_mut v0.1.9
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling infer v0.2.3
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling sdd v3.0.10
[INFO] [stderr]    Compiling futures-lite v1.13.0
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling serial_test_derive v3.2.0
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling scc v2.4.0
[INFO] [stderr]    Compiling async-channel v1.9.0
[INFO] [stderr]    Compiling test-case-macros v3.3.1
[INFO] [stderr]    Compiling test-case v3.3.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling serial_test v3.2.0
[INFO] [stderr]    Compiling tokio-util v0.7.15
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling deadpool v0.9.5
[INFO] [stderr]    Compiling h2 v0.3.26
[INFO] [stderr]    Compiling tokio-test v0.4.4
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-rustls v0.24.2
[INFO] [stderr]    Compiling wiremock v0.5.22
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling openrouter_api v0.3.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 47.21s
[INFO] running `Command { std: "docker" "inspect" "b3de06d46f9524a89c36a740ad18949a988c98d4383d4875556aabd6c896e4ee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b3de06d46f9524a89c36a740ad18949a988c98d4383d4875556aabd6c896e4ee", kill_on_drop: false }`
[INFO] [stdout] b3de06d46f9524a89c36a740ad18949a988c98d4383d4875556aabd6c896e4ee
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f99be9262221d44a871f4ca6db01f851302718b3d229737030648713bf1c8613
[INFO] running `Command { std: "docker" "start" "-a" "f99be9262221d44a871f4ca6db01f851302718b3d229737030648713bf1c8613", kill_on_drop: false }`
[INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `reqwest` dependency)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.26s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/openrouter_api-192bfa0e21c44182)
[INFO] [stdout] 
[INFO] [stdout] running 262 tests
[INFO] [stdout] test api::analytics::tests::test_activity_request_builder ... ok
[INFO] [stdout] test api::analytics::tests::test_query_parameter_encoding ... ok
[INFO] [stdout] test api::analytics::tests::test_analytics_api_new ... ok
[INFO] [stdout] test api::credits::tests::test_credits_api_new ... ok
[INFO] [stdout] test client::tests::tests::test_client_config_build_headers_with_all_options ... ok
[INFO] [stdout] test client::tests::tests::test_client_config_build_headers_invalid_header_values ... ok
[INFO] [stdout] test client::tests::tests::test_client_config_build_headers_with_api_key ... ok
[INFO] [stdout] test client::tests::tests::test_client_config_build_headers_without_api_key ... ok
[INFO] [stdout] test client::tests::tests::test_client_configuration_chain ... ok
[INFO] [stdout] test api::providers::tests::test_providers_api_new ... ok
[INFO] [stdout] test client::tests::tests::test_client_new_creation ... ok
[INFO] [stdout] test api::providers::tests::test_providers_api_network_error ... ok
[INFO] [stdout] test client::tests::tests::test_client_with_base_url_invalid ... ok
[INFO] [stdout] test client::tests::tests::test_client_default_creation ... ok
[INFO] [stdout] test client::tests::tests::test_client_with_retry_config ... ok
[INFO] [stdout] test client::tests::tests::test_secure_api_key_bearer_header ... ok
[INFO] [stdout] test client::tests::tests::test_client_with_api_key_valid ... ok
[INFO] [stdout] test client::tests::tests::test_secure_api_key_creation_valid ... ok
[INFO] [stdout] test client::tests::tests::test_retry_config_default ... ok
[INFO] [stdout] test api::providers::tests::test_provider_convenience_methods_with_empty_response ... ok
[INFO] [stdout] test client::tests::tests::test_secure_api_key_empty ... ok
[INFO] [stdout] test client::tests::tests::test_secure_api_key_invalid_prefix ... ok
[INFO] [stdout] test client::tests::tests::test_secure_api_key_too_short ... ok
[INFO] [stdout] test client::tests::tests::test_secure_api_key_whitespace_only ... ok
[INFO] [stdout] test client::tests::tests::test_secure_api_key_creation_with_or_prefix ... ok
[INFO] [stdout] test error::tests::tests::test_config_error ... ok
[INFO] [stdout] test error::tests::tests::test_error_chain ... ok
[INFO] [stdout] test error::tests::tests::test_api_error_with_metadata ... ok
[INFO] [stdout] test error::tests::tests::test_api_error_construction ... ok
[INFO] [stdout] test error::tests::tests::test_error_display ... ok
[INFO] [stdout] test error::tests::tests::test_error_types_compilation ... ok
[INFO] [stdout] test error::tests::tests::test_http_error_type ... ok
[INFO] [stdout] test error::tests::tests::test_schema_validation_error ... ok
[INFO] [stdout] test error::tests::tests::test_error_debug ... ok
[INFO] [stdout] test error::tests::tests::test_from_serde_json_error ... ok
[INFO] [stdout] test client::tests::tests::test_client_with_api_key_invalid ... ok
[INFO] [stdout] test error::tests::tests::test_serialization_error ... ok
[INFO] [stdout] test error::tests::tests::test_error_metadata_access ... ok
[INFO] [stdout] test error::tests::tests::test_streaming_error ... ok
[INFO] [stdout] test mcp::client::tests::test_request_size_validation ... ok
[INFO] [stdout] test mcp::client::tests::test_content_length_header_validation ... ok
[INFO] [stdout] test security_tests::test_secure_api_key_no_clone ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_activity_data_convenience_methods ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_activity_request_validation ... ok
[INFO] [stdout] test api::generation::tests::test_generation_api_new ... ok
[INFO] [stdout] test client::tests::tests::test_client_with_base_url_valid ... ok
[INFO] [stdout] test client::tests::tests::test_secure_api_key_debug_redaction ... ok
[INFO] [stdout] test mcp::client::tests::test_mcp_client_with_config ... ok
[INFO] [stdout] test error::tests::tests::test_error_trait_implementations ... ok
[INFO] [stdout] test security_tests::test_api_config_isolation ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_basic_chat_completion ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_credits_api_integration ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_credits_api_client_integration ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_generation_api_client_integration ... ok
[INFO] [stdout] test mcp::client::tests::test_successful_request_within_limits ... ok
[INFO] [stdout] test mcp::client::tests::test_response_size_limit ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_chat_completion_with_provider_preferences ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_credits_serialization_roundtrip ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_activity_response_aggregations ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_analytics_serialization_roundtrip ... ok
[INFO] [stdout] test mcp::client::tests::test_mcp_client_with_default_config ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_analytics_convenience_methods ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_analytics_api_client_integration ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_valid_tool_call_response ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_generation_api_integration ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_generation_cost_calculations ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_generation_serialization_roundtrip ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_invalid_tool_call_response ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_provider_preferences_serialization ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_provider_type_functionality ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_provider_url_validation ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_providers_api_basic_functionality ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_providers_api_method_signatures ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_providers_response_functionality ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_streaming_chunk_deserialization ... ok
[INFO] [stdout] test types::analytics::tests::test_activity_data_convenience_methods ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_web_search_response_deserialization ... ok
[INFO] [stdout] test tests::integration_tests::tests::test_text_completion_response_deserialization ... ok
[INFO] [stdout] test types::credits::tests::test_credits_response_convenience_methods ... ok
[INFO] [stdout] test types::credits::tests::test_credits_response_serialization ... ok
[INFO] [stdout] test types::credits::tests::test_credits_serialization ... ok
[INFO] [stdout] test types::analytics::tests::test_activity_data_edge_cases ... ok
[INFO] [stdout] test types::generation::tests::test_generation_data_cost_calculations ... ok
[INFO] [stdout] test types::generation::tests::test_generation_data_edge_cases ... ok
[INFO] [stdout] test types::generation::tests::test_generation_data_feature_checks ... ok
[INFO] [stdout] test types::analytics::tests::test_activity_response_edge_cases ... ok
[INFO] [stdout] test types::analytics::tests::test_activity_request_validation ... ok
[INFO] [stdout] test types::credits::tests::test_credits_data_usage_percentage ... ok
[INFO] [stdout] test types::analytics::tests::test_activity_response_aggregations ... ok
[INFO] [stdout] test types::analytics::tests::test_date_format_validation ... ok
[INFO] [stdout] test types::analytics::tests::test_leap_year_validation ... ok
[INFO] [stdout] test types::analytics::tests::test_model_and_provider_stats_edge_cases ... ok
[INFO] [stdout] test types::credits::tests::test_credits_data_has_credits ... ok
[INFO] [stdout] test types::credits::tests::test_credits_data_remaining ... ok
[INFO] [stdout] test api::generation::tests::test_generation_id_validation ... ok
[INFO] [stdout] test types::generation::tests::test_generation_data_success_checks ... ok
[INFO] [stdout] test types::generation::tests::test_generation_data_time_conversions ... ok
[INFO] [stdout] test types::models::tests::test_model_info_edge_cases ... ok
[INFO] [stdout] test types::models::tests::test_pricing_info_validation ... ok
[INFO] [stdout] test types::providers::tests::test_domain_extraction ... ok
[INFO] [stdout] test types::providers::tests::test_provider_creation ... ok
[INFO] [stdout] test types::generation::tests::test_generation_data_total_native_tokens ... ok
[INFO] [stdout] test types::generation::tests::test_generation_data_total_tokens ... ok
[INFO] [stdout] test types::providers::tests::test_group_by_domain ... ok
[INFO] [stdout] test types::generation::tests::test_generation_response_convenience_methods ... ok
[INFO] [stdout] test types::generation::tests::test_generation_response_serialization ... ok
[INFO] [stdout] test types::generation::tests::test_generation_serialization ... ok
[INFO] [stdout] test types::models::tests::test_deserialize_model_info ... ok
[INFO] [stdout] test types::models::tests::test_deserialize_models_response ... ok
[INFO] [stdout] test types::models::tests::test_model_capability_deserialization ... ok
[INFO] [stdout] test types::providers::tests::test_provider_edge_cases ... ok
[INFO] [stdout] test utils::auth::auth_tests::tests::test_load_api_key_from_env_empty ... ok
[INFO] [stdout] test types::providers::tests::test_providers_response_edge_cases ... ok
[INFO] [stdout] test utils::auth::auth_tests::tests::test_load_api_key_from_env_missing ... ok
[INFO] [stdout] test utils::auth::auth_tests::tests::test_load_api_key_returns_raw_value ... ok
[INFO] [stdout] test types::providers::tests::test_provider_without_urls ... ok
[INFO] [stdout] test utils::auth::auth_tests::tests::test_load_api_key_preserves_internal_content ... ok
[INFO] [stdout] test types::providers::tests::test_provider_url_validation ... ok
[INFO] [stdout] test utils::auth::auth_tests::tests::test_api_key_integration_with_client ... ok
[INFO] [stdout] test types::providers::tests::test_providers_response ... ok
[INFO] [stdout] test utils::auth::auth_tests::tests::test_load_secure_api_key_from_env_missing ... ok
[INFO] [stdout] test utils::auth::auth_tests::tests::test_or_api_key_fallback ... ok
[INFO] [stdout] test utils::auth::auth_tests::tests::test_or_api_key_priority ... ok
[INFO] [stdout] test utils::auth::auth_tests::tests::test_load_api_key_from_env_success ... ok
[INFO] [stdout] test utils::auth::auth_tests::tests::test_validate_api_key_empty ... ok
[INFO] [stdout] test utils::auth::auth_tests::tests::test_validate_api_key_too_short ... ok
[INFO] [stdout] test utils::auth::auth_tests::tests::test_validate_api_key_valid ... ok
[INFO] [stdout] test utils::auth::auth_tests::tests::test_load_secure_api_key_from_env_invalid ... ok
[INFO] [stdout] test utils::auth::auth_tests::tests::test_load_secure_api_key_from_env_success ... ok
[INFO] [stdout] test utils::auth::auth_tests::tests::test_validate_api_key_whitespace ... ok
[INFO] [stdout] test utils::auth::auth_tests::tests::test_validate_api_key_with_whitespace ... ok
[INFO] [stdout] test utils::cache::tests::test_cache_basic_operations ... ok
[INFO] [stdout] test utils::auth::auth_tests::tests::test_load_api_key_with_newlines ... ok
[INFO] [stdout] test utils::retry::tests::test_exponential_backoff_calculation ... ok
[INFO] [stdout] test utils::auth::auth_tests::tests::test_auth_functions_thread_safe ... ok
[INFO] [stdout] test utils::auth::auth_tests::tests::test_load_api_key_from_env_whitespace ... ok
[INFO] [stdout] test utils::retry::tests::test_retry_config_new_fields ... ok
[INFO] [stdout] test utils::retry::tests::test_retry_config_default ... ok
[INFO] [stdout] test utils::retry::tests::test_total_timeout_enforcement ... ok
[INFO] [stdout] test utils::retry::tests::test_retry_config_status_codes ... ok
[INFO] [stdout] test utils::retry::tests::test_retry_performance_impact ... ok
[INFO] [stdout] test utils::url_builder::tests::test_url_builder_with_trailing_slash ... ok
[INFO] [stdout] test utils::url_builder::tests::test_url_builder_without_trailing_slash ... ok
[INFO] [stdout] test utils::validation::chat::tests::test_check_token_limits_moderate_content ... ok
[INFO] [stdout] test utils::validation::chat::tests::test_validate_chat_request_empty_messages ... ok
[INFO] [stdout] test utils::validation::chat::tests::test_validate_chat_request_empty_model ... ok
[INFO] [stdout] test utils::validation::chat::tests::test_validate_chat_request_valid ... ok
[INFO] [stdout] test utils::url_builder::tests::test_url_builder_invalid_path ... ok
[INFO] [stdout] test utils::url_builder::tests::test_url_builder_with_leading_slash ... ok
[INFO] [stdout] test utils::validation::common::tests::test_validate_date_format ... ok
[INFO] [stdout] test utils::validation::common::tests::test_validate_enum_value ... ok
[INFO] [stdout] test utils::validation::common::tests::test_validate_model_id ... ok
[INFO] [stdout] test utils::validation::common::tests::test_validate_numeric_range ... ok
[INFO] [stdout] test utils::validation::common::tests::test_validate_non_empty_string ... ok
[INFO] [stdout] test utils::validation::common::tests::test_validate_string_length ... ok
[INFO] [stdout] test utils::validation::common::tests::test_validate_sampling_parameters ... ok
[INFO] [stdout] test utils::validation::common::tests::test_validate_url ... ok
[INFO] [stdout] test utils::validation::completion::tests::test_estimate_prompt_tokens ... ok
[INFO] [stdout] test utils::validation::completion::tests::test_validate_completion_request_empty_model ... ok
[INFO] [stdout] test utils::validation::completion::tests::test_validate_completion_request_empty_prompt ... ok
[INFO] [stdout] test utils::validation::completion::tests::test_check_prompt_token_limits ... ok
[INFO] [stdout] test utils::validation::completion::tests::test_validate_completion_request_invalid_max_tokens ... ok
[INFO] [stdout] test utils::validation::completion::tests::test_validate_completion_request_invalid_temperature ... ok
[INFO] [stdout] test utils::validation::completion::tests::test_validate_completion_request_invalid_top_p ... ok
[INFO] [stdout] test utils::validation::completion::tests::test_validate_completion_request_valid ... ok
[INFO] [stdout] test utils::validation::completion::tests::test_validate_completion_request_valid_extra_params ... ok
[INFO] [stdout] test utils::validation::completion::tests::test_validate_completion_request_whitespace_prompt ... ok
[INFO] [stdout] test utils::validation::completion::tests::test_validate_logit_bias_invalid_range ... ok
[INFO] [stdout] test utils::validation::completion::tests::test_validate_logit_bias_valid ... ok
[INFO] [stdout] test utils::validation::completion::tests::test_validate_stop_sequence_array ... ok
[INFO] [stdout] test utils::validation::completion::tests::test_validate_stop_sequence_string ... ok
[INFO] [stdout] test utils::validation::completion::tests::test_validate_stop_sequence_too_many ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_best_of_parameter ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_completion_request_complex_params ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_completion_request_empty_model ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_completion_request_empty_prompt ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_completion_request_invalid_model_format ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_completion_request_max_tokens_bounds ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_check_prompt_token_limits ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_estimate_prompt_tokens ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_completion_request_mixed_valid_invalid ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_completion_request_penalty_bounds ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_completion_request_temperature_bounds ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_completion_request_prompt_too_long ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_completion_request_top_p_bounds ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_completion_request_valid ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_completion_request_valid_extra_params ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_echo_parameter ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_completion_request_whitespace_prompt ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_logit_bias_invalid_range ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_logit_bias_invalid_token ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_logit_bias_valid ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_stop_sequence_array ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_logprobs_parameter ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_stop_sequence_empty ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_stop_sequence_string ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_stop_sequence_too_many ... ok
[INFO] [stdout] test utils::validation::completion_tests::tests::test_validate_suffix_parameter ... ok
[INFO] [stdout] test utils::validation::tests::validation_tests::test_chat_validation_integration ... ok
[INFO] [stdout] test utils::validation::tests::validation_tests::test_common_validation_utilities ... ok
[INFO] [stdout] test utils::validation::tests::validation_tests::test_sampling_parameters_validation ... ok
[INFO] [stdout] test utils::validation::tests::validation_tests::test_completion_validation_integration ... ok
[INFO] [stdout] test utils::validation::tests::validation_tests::test_validation_consistency ... ok
[INFO] [stdout] test utils::validation::tests::validation_tests::test_validation_error_messages ... ok
[INFO] [stdout] test utils::validation::tests::validation_tests::test_validation_edge_cases ... ok
[INFO] [stdout] test utils::validation::tests::validation_tests::test_validation_module_exports ... ok
[INFO] [stdout] test utils::validation::tests::validation_tests::test_validation_performance ... ok
[INFO] [stdout] test utils::validation::tests::validation_tests::test_web_search_validation_integration ... ok
[INFO] [stdout] test utils::validation::web_search::tests::test_estimate_query_complexity ... ok
[INFO] [stdout] test utils::validation::web_search::tests::test_has_excessive_repetition ... ok
[INFO] [stdout] test utils::validation::web_search::tests::test_looks_like_url_injection ... ok
[INFO] [stdout] test utils::validation::web_search::tests::test_validate_results_for_complexity ... ok
[INFO] [stdout] test utils::validation::web_search::tests::test_validate_web_search_request_empty_query ... ok
[INFO] [stdout] test utils::validation::web_search::tests::test_validate_web_search_request_javascript_injection ... ok
[INFO] [stdout] test utils::validation::web_search::tests::test_validate_web_search_request_no_alphanumeric ... ok
[INFO] [stdout] test utils::validation::web_search::tests::test_validate_web_search_request_script_tags ... ok
[INFO] [stdout] test utils::validation::web_search::tests::test_validate_web_search_request_too_long ... ok
[INFO] [stdout] test utils::validation::web_search::tests::test_validate_web_search_request_too_many_results ... ok
[INFO] [stdout] test utils::validation::web_search::tests::test_validate_web_search_request_valid ... ok
[INFO] [stdout] test utils::validation::web_search::tests::test_validate_web_search_request_valid_results ... ok
[INFO] [stdout] test utils::validation::web_search::tests::test_validate_web_search_request_whitespace_query ... ok
[INFO] [stdout] test utils::validation::web_search::tests::test_validate_web_search_request_zero_results ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_estimate_query_complexity ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_has_excessive_repetition ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_looks_like_url_injection ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_and_suggest_query_improvement ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_results_for_complexity ... ok
[INFO] [stdout] test utils::validation::web_search::tests::test_validate_and_suggest_query_improvement ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_data_uri ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_comprehensive ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_eval_attempts ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_edge_cases ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_event_handlers ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_javascript_injection ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_minimum_length ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_no_alphanumeric ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_no_results ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_script_tags ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_tab_newline_query ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_too_long ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_too_many_results ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_unicode ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_valid ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_maximum_length ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_valid_results ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_whitespace_query ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_with_alphanumeric ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_zero_results ... ok
[INFO] [stdout] test types::models::tests::test_deserialize_all_models_from_api ... ok
[INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_empty_query ... ok
[INFO] [stdout] test utils::security::tests::test_email_redaction ... ok
[INFO] [stdout] test utils::security::tests::test_long_content_truncation ... ok
[INFO] [stdout] test utils::security::tests::test_api_key_redaction ... ok
[INFO] [stdout] test utils::cache::tests::test_cache_cleanup ... ok
[INFO] [stdout] test utils::cache::tests::test_cache_custom_ttl ... ok
[INFO] [stdout] test utils::security::tests::test_json_field_redaction ... ok
[INFO] [stdout] test utils::retry::tests::test_concurrent_retry_limits ... ok
[INFO] [stdout] test utils::cache::tests::test_cache_ttl ... ok
[INFO] [stdout] test mcp::client::tests::test_concurrent_request_limiting ... ok
[INFO] [stdout] test utils::retry::tests::test_backoff_jitter_variation ... ok
[INFO] [stdout] test utils::retry::tests::test_individual_retry_capping ... ok
[INFO] [stdout] test mcp::client::tests::test_request_timeout ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 262 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.05s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests openrouter_api
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test src/api/analytics.rs - api::analytics::AnalyticsApi::get_activity_by_provider (line 329) - compile ... ok
[INFO] [stdout] test src/api/analytics.rs - api::analytics::AnalyticsApi::get_recent_activity (line 221) - compile ... ok
[INFO] [stdout] test src/api/analytics.rs - api::analytics::AnalyticsApi::get_activity_by_date_range (line 178) - compile ... ok
[INFO] [stdout] test src/api/providers.rs - api::providers::ProvidersApi::get_providers_with_status_page (line 301) - compile ... ok
[INFO] [stdout] test src/api/analytics.rs - api::analytics::AnalyticsApi::get_activity (line 50) - compile ... ok
[INFO] [stdout] test src/api/credits.rs - api::credits::CreditsApi::get_balance (line 46) - compile ... ok
[INFO] [stdout] test src/api/analytics.rs - api::analytics::AnalyticsApi::get_activity_by_model (line 271) - compile ... ok
[INFO] [stdout] test src/utils/validation/mod.rs - utils::validation (line 21) ... ignored
[INFO] [stdout] test src/api/providers.rs - api::providers::ProvidersApi::get_provider_slugs (line 342) - compile ... ok
[INFO] [stdout] test src/api/providers.rs - api::providers::ProvidersApi::get_providers (line 41) - compile ... ok
[INFO] [stdout] test src/client.rs - client::OpenRouterClient<NoAuth>::with_api_key (line 353) - compile ... ok
[INFO] [stdout] test src/client.rs - client::OpenRouterClient<Ready>::from_env (line 216) - compile ... ok
[INFO] [stdout] test src/api/providers.rs - api::providers::ProvidersApi::get_provider_by_slug (line 123) - compile ... ok
[INFO] [stdout] test src/client.rs - client::OpenRouterClient<Ready>::from_env_with_config (line 232) - compile ... ok
[INFO] [stdout] test src/client.rs - client::OpenRouterClient<Unconfigured>::with_base_url (line 319) - compile ... ok
[INFO] [stdout] test src/api/providers.rs - api::providers::ProvidersApi::get_providers_with_privacy_policy (line 219) - compile ... ok
[INFO] [stdout] test src/client.rs - client::OpenRouterClient<NoAuth>::with_timeout (line 394) - compile ... ok
[INFO] [stdout] test src/api/providers.rs - api::providers::ProvidersApi::get_provider_names (line 377) - compile ... ok
[INFO] [stdout] test src/api/providers.rs - api::providers::ProvidersApi::get_provider_by_name (line 173) - compile ... ok
[INFO] [stdout] test src/api/providers.rs - api::providers::ProvidersApi::get_providers_with_terms_of_service (line 260) - compile ... ok
[INFO] [stdout] test src/api/generation.rs - api::generation::GenerationApi::get_generation (line 56) - compile ... ok
[INFO] [stdout] test src/utils/retry.rs - utils::retry::execute_with_retry_builder (line 32) ... ok
[INFO] [stdout] test src/api/request.rs - api::request::RequestBuilder<Value>::with_provider_preferences (line 163) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 22 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 1.70s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f99be9262221d44a871f4ca6db01f851302718b3d229737030648713bf1c8613", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f99be9262221d44a871f4ca6db01f851302718b3d229737030648713bf1c8613", kill_on_drop: false }`
[INFO] [stdout] f99be9262221d44a871f4ca6db01f851302718b3d229737030648713bf1c8613
