[INFO] fetching crate openrouter_api 0.3.2... [INFO] testing openrouter_api-0.3.2 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-8 [INFO] extracting crate openrouter_api 0.3.2 into /workspace/builds/worker-0-tc1/source [INFO] removed /workspace/builds/worker-0-tc1/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-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate openrouter_api 0.3.2 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "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] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tracing-attributes v0.1.29 [INFO] [stderr] Downloaded serial_test_derive v3.2.0 [INFO] [stderr] Downloaded hermit-abi v0.5.1 [INFO] [stderr] Downloaded serial_test v3.2.0 [INFO] [stderr] Downloaded sdd v3.0.10 [INFO] [stderr] Downloaded scc v2.4.0 [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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 19c63fb0a16bd95ab6bd70623ff96ce8d4d67831654245d7ff80422bc2a9083d [INFO] running `Command { std: "docker" "start" "-a" "19c63fb0a16bd95ab6bd70623ff96ce8d4d67831654245d7ff80422bc2a9083d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "19c63fb0a16bd95ab6bd70623ff96ce8d4d67831654245d7ff80422bc2a9083d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "19c63fb0a16bd95ab6bd70623ff96ce8d4d67831654245d7ff80422bc2a9083d", kill_on_drop: false }` [INFO] [stdout] 19c63fb0a16bd95ab6bd70623ff96ce8d4d67831654245d7ff80422bc2a9083d [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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 41dc6446edb97647755c6d9b0d99de8bdae779e2a3e1e3bdb582bc256a116f52 [INFO] running `Command { std: "docker" "start" "-a" "41dc6446edb97647755c6d9b0d99de8bdae779e2a3e1e3bdb582bc256a116f52", 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 cc v1.2.26 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling hashbrown v0.15.4 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling syn v2.0.102 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling socket2 v0.5.10 [INFO] [stderr] Compiling signal-hook-registry v1.4.5 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling webpki-roots v0.25.4 [INFO] [stderr] Compiling uuid v1.17.0 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling indexmap v2.9.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling rustls v0.21.12 [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 futures-macro v0.3.31 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling sct v0.7.1 [INFO] [stderr] Compiling rustls-webpki v0.101.7 [INFO] [stderr] Compiling zeroize v1.8.1 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling tokio v1.45.1 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling thiserror v1.0.69 [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 serde v1.0.219 [INFO] [stderr] Compiling tinystr v0.8.1 [INFO] [stderr] Compiling potential_utf v0.1.2 [INFO] [stderr] Compiling icu_locale_core v2.0.0 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling icu_provider v2.0.0 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling idna v1.0.3 [INFO] [stderr] Compiling url v2.5.4 [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 33.42s [INFO] running `Command { std: "docker" "inspect" "41dc6446edb97647755c6d9b0d99de8bdae779e2a3e1e3bdb582bc256a116f52", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "41dc6446edb97647755c6d9b0d99de8bdae779e2a3e1e3bdb582bc256a116f52", kill_on_drop: false }` [INFO] [stdout] 41dc6446edb97647755c6d9b0d99de8bdae779e2a3e1e3bdb582bc256a116f52 [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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] df77336657784ed5976b29121e90f25331e8a88f23e5839bda3d288465c60535 [INFO] running `Command { std: "docker" "start" "-a" "df77336657784ed5976b29121e90f25331e8a88f23e5839bda3d288465c60535", 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 zerocopy v0.8.25 [INFO] [stderr] Compiling tokio v1.45.1 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling anyhow v1.0.98 [INFO] [stderr] Compiling http-types v2.12.0 [INFO] [stderr] Compiling serde_qs v0.8.5 [INFO] [stderr] Compiling test-case-core v3.3.1 [INFO] [stderr] Compiling futures-lite v1.13.0 [INFO] [stderr] Compiling async-trait v0.1.88 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling deadpool-runtime v0.1.4 [INFO] [stderr] Compiling infer v0.2.3 [INFO] [stderr] Compiling sdd v3.0.10 [INFO] [stderr] Compiling url v2.5.4 [INFO] [stderr] Compiling retain_mut v0.1.9 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling scc v2.4.0 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling serial_test_derive v3.2.0 [INFO] [stderr] Compiling futures-timer v3.0.3 [INFO] [stderr] Compiling concurrent-queue v2.5.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 rand v0.7.3 [INFO] [stderr] Compiling futures-executor v0.3.31 [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 deadpool v0.9.5 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling tokio-test v0.4.4 [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 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 31.69s [INFO] running `Command { std: "docker" "inspect" "df77336657784ed5976b29121e90f25331e8a88f23e5839bda3d288465c60535", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "df77336657784ed5976b29121e90f25331e8a88f23e5839bda3d288465c60535", kill_on_drop: false }` [INFO] [stdout] df77336657784ed5976b29121e90f25331e8a88f23e5839bda3d288465c60535 [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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 221f099b4fb9d191a4c9d2a935ec30a150e129c85b109a423f541ad1c4a99a55 [INFO] running `Command { std: "docker" "start" "-a" "221f099b4fb9d191a4c9d2a935ec30a150e129c85b109a423f541ad1c4a99a55", 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.23s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/openrouter_api-a9140e354d5c9ab7) [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 client::tests::tests::test_client_config_build_headers_with_api_key ... ok [INFO] [stdout] test api::providers::tests::test_providers_api_new ... 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_all_options ... ok [INFO] [stdout] test api::credits::tests::test_credits_api_new ... ok [INFO] [stdout] test api::generation::tests::test_generation_api_new ... ok [INFO] [stdout] test client::tests::tests::test_client_with_api_key_invalid ... 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_secure_api_key_creation_valid ... ok [INFO] [stdout] test client::tests::tests::test_client_new_creation ... ok [INFO] [stdout] test client::tests::tests::test_secure_api_key_creation_with_or_prefix ... ok [INFO] [stdout] test client::tests::tests::test_secure_api_key_debug_redaction ... ok [INFO] [stdout] test client::tests::tests::test_secure_api_key_invalid_prefix ... ok [INFO] [stdout] test client::tests::tests::test_secure_api_key_empty ... ok [INFO] [stdout] test client::tests::tests::test_client_with_api_key_valid ... ok [INFO] [stdout] test client::tests::tests::test_secure_api_key_bearer_header ... ok [INFO] [stdout] test client::tests::tests::test_client_configuration_chain ... ok [INFO] [stdout] test client::tests::tests::test_secure_api_key_whitespace_only ... ok [INFO] [stdout] test client::tests::tests::test_retry_config_default ... ok [INFO] [stdout] test error::tests::tests::test_api_error_with_metadata ... ok [INFO] [stdout] test client::tests::tests::test_client_config_build_headers_without_api_key ... ok [INFO] [stdout] test error::tests::tests::test_error_debug ... ok [INFO] [stdout] test error::tests::tests::test_error_chain ... ok [INFO] [stdout] test client::tests::tests::test_secure_api_key_too_short ... ok [INFO] [stdout] test client::tests::tests::test_client_with_base_url_valid ... ok [INFO] [stdout] test error::tests::tests::test_error_display ... ok [INFO] [stdout] test error::tests::tests::test_error_metadata_access ... ok [INFO] [stdout] test error::tests::tests::test_api_error_construction ... ok [INFO] [stdout] test error::tests::tests::test_error_trait_implementations ... ok [INFO] [stdout] test error::tests::tests::test_from_serde_json_error ... ok [INFO] [stdout] test error::tests::tests::test_serialization_error ... ok [INFO] [stdout] test error::tests::tests::test_streaming_error ... ok [INFO] [stdout] test client::tests::tests::test_client_with_retry_config ... ok [INFO] [stdout] test api::providers::tests::test_providers_api_network_error ... ok [INFO] [stdout] test error::tests::tests::test_config_error ... 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 security_tests::test_secure_api_key_no_clone ... ok [INFO] [stdout] test security_tests::test_api_config_isolation ... ok [INFO] [stdout] test tests::integration_tests::tests::test_analytics_convenience_methods ... ok [INFO] [stdout] test tests::integration_tests::tests::test_activity_data_convenience_methods ... ok [INFO] [stdout] test tests::integration_tests::tests::test_analytics_serialization_roundtrip ... ok [INFO] [stdout] test tests::integration_tests::tests::test_basic_chat_completion ... ok [INFO] [stdout] test tests::integration_tests::tests::test_activity_response_aggregations ... ok [INFO] [stdout] test tests::integration_tests::tests::test_analytics_api_client_integration ... ok [INFO] [stdout] test tests::integration_tests::tests::test_credits_api_client_integration ... ok [INFO] [stdout] test tests::integration_tests::tests::test_credits_api_integration ... ok [INFO] [stdout] test tests::integration_tests::tests::test_activity_request_validation ... ok [INFO] [stdout] test tests::integration_tests::tests::test_chat_completion_with_provider_preferences ... ok [INFO] [stdout] test api::providers::tests::test_provider_convenience_methods_with_empty_response ... ok [INFO] [stdout] test api::generation::tests::test_generation_id_validation ... ok [INFO] [stdout] test mcp::client::tests::test_mcp_client_with_default_config ... ok [INFO] [stdout] test tests::integration_tests::tests::test_credits_serialization_roundtrip ... ok [INFO] [stdout] test mcp::client::tests::test_request_size_validation ... ok [INFO] [stdout] test tests::integration_tests::tests::test_generation_api_client_integration ... ok [INFO] [stdout] test tests::integration_tests::tests::test_generation_serialization_roundtrip ... ok [INFO] [stdout] test mcp::client::tests::test_successful_request_within_limits ... 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 mcp::client::tests::test_mcp_client_with_config ... ok [INFO] [stdout] test mcp::client::tests::test_content_length_header_validation ... ok [INFO] [stdout] test mcp::client::tests::test_response_size_limit ... 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 tests::integration_tests::tests::test_text_completion_response_deserialization ... ok [INFO] [stdout] test tests::integration_tests::tests::test_valid_tool_call_response ... ok [INFO] [stdout] test tests::integration_tests::tests::test_web_search_response_deserialization ... ok [INFO] [stdout] test types::analytics::tests::test_activity_data_convenience_methods ... ok [INFO] [stdout] test types::analytics::tests::test_activity_data_edge_cases ... ok [INFO] [stdout] test types::analytics::tests::test_activity_request_validation ... ok [INFO] [stdout] test types::analytics::tests::test_activity_response_aggregations ... ok [INFO] [stdout] test types::analytics::tests::test_activity_response_edge_cases ... 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 tests::integration_tests::tests::test_invalid_tool_call_response ... ok [INFO] [stdout] test types::credits::tests::test_credits_data_remaining ... ok [INFO] [stdout] test types::credits::tests::test_credits_data_usage_percentage ... 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::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::generation::tests::test_generation_data_success_checks ... ok [INFO] [stdout] test types::generation::tests::test_generation_data_time_conversions ... 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::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_models_response ... ok [INFO] [stdout] test types::models::tests::test_deserialize_model_info ... ok [INFO] [stdout] test error::tests::tests::test_error_types_compilation ... ok [INFO] [stdout] test tests::integration_tests::tests::test_provider_preferences_serialization ... ok [INFO] [stdout] test types::models::tests::test_model_capability_deserialization ... 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::models::tests::test_model_info_edge_cases ... ok [INFO] [stdout] test types::models::tests::test_deserialize_all_models_from_api ... ok [INFO] [stdout] test types::providers::tests::test_provider_edge_cases ... ok [INFO] [stdout] test types::providers::tests::test_provider_without_urls ... ok [INFO] [stdout] test types::providers::tests::test_provider_url_validation ... ok [INFO] [stdout] test types::providers::tests::test_providers_response ... ok [INFO] [stdout] test types::providers::tests::test_providers_response_edge_cases ... 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_empty ... 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_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 utils::auth::auth_tests::tests::test_validate_api_key_empty ... ok [INFO] [stdout] test utils::auth::auth_tests::tests::test_api_key_integration_with_client ... ok [INFO] [stdout] test utils::auth::auth_tests::tests::test_validate_api_key_valid ... 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::auth::auth_tests::tests::test_load_secure_api_key_from_env_success ... ok [INFO] [stdout] test utils::auth::auth_tests::tests::test_load_api_key_with_newlines ... ok [INFO] [stdout] test types::credits::tests::test_credits_data_has_credits ... ok [INFO] [stdout] test types::providers::tests::test_group_by_domain ... ok [INFO] [stdout] test utils::retry::tests::test_exponential_backoff_calculation ... ok [INFO] [stdout] test utils::auth::auth_tests::tests::test_validate_api_key_too_short ... ok [INFO] [stdout] test utils::retry::tests::test_retry_config_default ... ok [INFO] [stdout] test utils::retry::tests::test_retry_config_new_fields ... 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::retry::tests::test_total_timeout_enforcement ... ok [INFO] [stdout] test utils::cache::tests::test_cache_basic_operations ... ok [INFO] [stdout] test utils::cache::tests::test_cache_cleanup ... ok [INFO] [stdout] test utils::security::tests::test_api_key_redaction ... ok [INFO] [stdout] test utils::security::tests::test_email_redaction ... 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::security::tests::test_long_content_truncation ... 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::cache::tests::test_cache_custom_ttl ... 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_with_trailing_slash ... ok [INFO] [stdout] test utils::validation::common::tests::test_validate_date_format ... ok [INFO] [stdout] test utils::validation::common::tests::test_validate_model_id ... ok [INFO] [stdout] test utils::validation::common::tests::test_validate_enum_value ... ok [INFO] [stdout] test utils::validation::common::tests::test_validate_sampling_parameters ... ok [INFO] [stdout] test utils::validation::common::tests::test_validate_string_length ... ok [INFO] [stdout] test utils::validation::common::tests::test_validate_url ... ok [INFO] [stdout] test utils::validation::completion::tests::test_check_prompt_token_limits ... ok [INFO] [stdout] test utils::validation::common::tests::test_validate_non_empty_string ... ok [INFO] [stdout] test utils::validation::common::tests::test_validate_numeric_range ... 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_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_invalid_max_tokens ... 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_completion_request_empty_prompt ... ok [INFO] [stdout] test utils::validation::completion::tests::test_validate_stop_sequence_array ... ok [INFO] [stdout] test utils::retry::tests::test_concurrent_retry_limits ... ok [INFO] [stdout] test utils::validation::completion::tests::test_validate_stop_sequence_string ... ok [INFO] [stdout] test utils::validation::completion_tests::tests::test_estimate_prompt_tokens ... 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_check_prompt_token_limits ... 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_completion_request_max_tokens_bounds ... 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_top_p_bounds ... 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_completion_request_whitespace_prompt ... 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_valid ... 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_logit_bias_valid ... 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_logprobs_parameter ... 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_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_edge_cases ... ok [INFO] [stdout] test utils::validation::tests::validation_tests::test_validation_error_messages ... ok [INFO] [stdout] test utils::validation::tests::validation_tests::test_validation_module_exports ... ok [INFO] [stdout] test utils::validation::web_search::tests::test_estimate_query_complexity ... 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_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_and_suggest_query_improvement ... 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::completion_tests::tests::test_validate_stop_sequence_empty ... 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_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_valid ... 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::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::cache::tests::test_cache_ttl ... 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_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_results_for_complexity ... 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_empty_query ... 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_event_handlers ... 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_no_alphanumeric ... 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_results ... 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_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_script_tags ... 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_whitespace_query ... 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_with_alphanumeric ... ok [INFO] [stdout] test utils::validation::web_search_tests::tests::test_validate_web_search_request_zero_results ... ok [INFO] [stdout] test utils::security::tests::test_json_field_redaction ... 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] test utils::auth::auth_tests::tests::test_load_secure_api_key_from_env_invalid ... 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_preserves_internal_content ... 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_load_api_key_from_env_whitespace ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 262 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.08s [INFO] [stdout] [INFO] [stderr] Doc-tests openrouter_api [INFO] [stdout] [INFO] [stdout] running 23 tests [INFO] [stdout] test src/api/providers.rs - api::providers::ProvidersApi::get_providers_with_status_page (line 301) - compile ... ok [INFO] [stdout] test src/api/providers.rs - api::providers::ProvidersApi::get_provider_names (line 377) - compile ... ok [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/providers.rs - api::providers::ProvidersApi::get_provider_by_name (line 173) - compile ... ok [INFO] [stdout] test src/api/analytics.rs - api::analytics::AnalyticsApi::get_activity (line 50) - 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/utils/validation/mod.rs - utils::validation (line 21) ... ignored [INFO] [stdout] test src/api/generation.rs - api::generation::GenerationApi::get_generation (line 56) - compile ... ok [INFO] [stdout] test src/api/providers.rs - api::providers::ProvidersApi::get_providers (line 41) - 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/credits.rs - api::credits::CreditsApi::get_balance (line 46) - 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_provider_slugs (line 342) - compile ... ok [INFO] [stdout] test src/api/analytics.rs - api::analytics::AnalyticsApi::get_activity_by_model (line 271) - compile ... ok [INFO] [stdout] test src/client.rs - client::OpenRouterClient::with_timeout (line 394) - compile ... ok [INFO] [stdout] test src/client.rs - client::OpenRouterClient::from_env_with_config (line 232) - 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::from_env (line 216) - compile ... ok [INFO] [stdout] test src/utils/retry.rs - utils::retry::execute_with_retry_builder (line 32) ... ok [INFO] [stdout] test src/client.rs - client::OpenRouterClient::with_base_url (line 319) - compile ... ok [INFO] [stdout] test src/client.rs - client::OpenRouterClient::with_api_key (line 353) - compile ... ok [INFO] [stdout] test src/api/request.rs - api::request::RequestBuilder::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.56s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "221f099b4fb9d191a4c9d2a935ec30a150e129c85b109a423f541ad1c4a99a55", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "221f099b4fb9d191a4c9d2a935ec30a150e129c85b109a423f541ad1c4a99a55", kill_on_drop: false }` [INFO] [stdout] 221f099b4fb9d191a4c9d2a935ec30a150e129c85b109a423f541ad1c4a99a55