[INFO] cloning repository https://github.com/IvanLi-CN/tavily-hikari [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/IvanLi-CN/tavily-hikari" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIvanLi-CN%2Ftavily-hikari", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIvanLi-CN%2Ftavily-hikari'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3df8796111c454f2a905ddbea3ef93bb0bc33750 [INFO] testing IvanLi-CN/tavily-hikari against master#d933cf483edf1605142ac6899ff32536c0ad8b22 for pr-150933 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIvanLi-CN%2Ftavily-hikari" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-4-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/IvanLi-CN/tavily-hikari [INFO] finished tweaking git repo https://github.com/IvanLi-CN/tavily-hikari [INFO] tweaked toml for git repo https://github.com/IvanLi-CN/tavily-hikari written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/IvanLi-CN/tavily-hikari on toolchain d933cf483edf1605142ac6899ff32536c0ad8b22 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/IvanLi-CN/tavily-hikari 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" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded cc v1.2.43 [INFO] [stderr] Downloaded openssl-sys v0.9.110 [INFO] [stderr] Downloaded openssl v0.10.74 [INFO] [stderr] Downloaded syn v2.0.108 [INFO] [stderr] Downloaded rustls v0.23.34 [INFO] [stderr] Downloaded rust-mcp-schema v0.7.5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6bef4c07eabd5e98e4eb19c497e8a2fb325b3f426c923b43b968b7d090550cb5 [INFO] running `Command { std: "docker" "start" "-a" "6bef4c07eabd5e98e4eb19c497e8a2fb325b3f426c923b43b968b7d090550cb5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6bef4c07eabd5e98e4eb19c497e8a2fb325b3f426c923b43b968b7d090550cb5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6bef4c07eabd5e98e4eb19c497e8a2fb325b3f426c923b43b968b7d090550cb5", kill_on_drop: false }` [INFO] [stdout] 6bef4c07eabd5e98e4eb19c497e8a2fb325b3f426c923b43b968b7d090550cb5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 173ab518eba41dbfa0a000cbdaf2f2aa87b0561e8ee9b9f1a9602a5bca258b2f [INFO] running `Command { std: "docker" "start" "-a" "173ab518eba41dbfa0a000cbdaf2f2aa87b0561e8ee9b9f1a9602a5bca258b2f", kill_on_drop: false }` [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling writeable v0.6.2 [INFO] [stderr] Compiling find-msvc-tools v0.1.4 [INFO] [stderr] Compiling litemap v0.8.1 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling generic-array v0.14.9 [INFO] [stderr] Compiling icu_properties_data v2.1.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling hashbrown v0.16.0 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling cc v1.2.43 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling crc-catalog v2.4.0 [INFO] [stderr] Compiling unicode_categories v0.1.1 [INFO] [stderr] Compiling crc v3.3.0 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling event-listener v2.5.3 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling syn v2.0.108 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling openssl v0.10.74 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling flume v0.11.1 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling anstyle-query v1.1.4 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling indexmap v2.12.0 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling clap_lex v0.7.6 [INFO] [stderr] Compiling base64ct v1.8.0 [INFO] [stderr] Compiling mio v1.1.0 [INFO] [stderr] Compiling socket2 v0.6.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.6 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling clap_builder v4.5.51 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling openssl-sys v0.9.110 [INFO] [stderr] Compiling libsqlite3-sys v0.27.0 [INFO] [stderr] Compiling tokio v1.48.0 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling password-hash v0.5.0 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling rustls-pki-types v1.13.0 [INFO] [stderr] Compiling blake2 v0.10.6 [INFO] [stderr] Compiling hashlink v0.8.4 [INFO] [stderr] Compiling sqlformat v0.2.6 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling iana-time-zone v0.1.64 [INFO] [stderr] Compiling tempfile v3.23.0 [INFO] [stderr] Compiling http-range-header v0.4.2 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling nanoid v0.4.0 [INFO] [stderr] Compiling argon2 v0.5.3 [INFO] [stderr] Compiling futures-executor v0.3.31 [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 tracing-attributes v0.1.30 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling axum-macros v0.4.2 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling pin-project v1.1.10 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling clap v4.5.51 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling rust-mcp-schema v0.7.5 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.1 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling axum-core v0.4.5 [INFO] [stderr] Compiling tower v0.4.13 [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 sqlx-core v0.7.4 [INFO] [stderr] Compiling tokio-util v0.7.16 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling h2 v0.4.12 [INFO] [stderr] Compiling tower-http v0.5.2 [INFO] [stderr] Compiling tower-http v0.6.6 [INFO] [stderr] Compiling sqlx-sqlite v0.7.4 [INFO] [stderr] Compiling sqlx-macros-core v0.7.4 [INFO] [stderr] Compiling hyper v1.7.0 [INFO] [stderr] Compiling hyper-util v0.1.17 [INFO] [stderr] Compiling sqlx-macros v0.7.4 [INFO] [stderr] Compiling sqlx v0.7.4 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling axum v0.7.9 [INFO] [stderr] Compiling reqwest v0.12.24 [INFO] [stderr] Compiling tavily-hikari v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 01s [INFO] running `Command { std: "docker" "inspect" "173ab518eba41dbfa0a000cbdaf2f2aa87b0561e8ee9b9f1a9602a5bca258b2f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "173ab518eba41dbfa0a000cbdaf2f2aa87b0561e8ee9b9f1a9602a5bca258b2f", kill_on_drop: false }` [INFO] [stdout] 173ab518eba41dbfa0a000cbdaf2f2aa87b0561e8ee9b9f1a9602a5bca258b2f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 632c838215c3ceb015d60fa392978d0144783b448310b96a1c318b04abae1c03 [INFO] running `Command { std: "docker" "start" "-a" "632c838215c3ceb015d60fa392978d0144783b448310b96a1c318b04abae1c03", kill_on_drop: false }` [INFO] [stderr] Compiling tavily-hikari v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 33.50s [INFO] running `Command { std: "docker" "inspect" "632c838215c3ceb015d60fa392978d0144783b448310b96a1c318b04abae1c03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "632c838215c3ceb015d60fa392978d0144783b448310b96a1c318b04abae1c03", kill_on_drop: false }` [INFO] [stdout] 632c838215c3ceb015d60fa392978d0144783b448310b96a1c318b04abae1c03 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] d61c3586c5fcdef683e6cab07664e864d68e917a0849d136a0a2fd4d00350c2b [INFO] running `Command { std: "docker" "start" "-a" "d61c3586c5fcdef683e6cab07664e864d68e917a0849d136a0a2fd4d00350c2b", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.35s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tavily_hikari-3c577bab311e66e8) [INFO] [stdout] [INFO] [stdout] running 47 tests [INFO] [stdout] test affinity_tests::mapping_is_returned_before_ttl ... ok [INFO] [stdout] test affinity_tests::mapping_expires_after_ttl_and_is_cleaned ... ok [INFO] [stdout] test affinity_tests::drop_mapping_removes_affinity ... ok [INFO] [stdout] test affinity_tests::no_mapping_returns_none ... ok [INFO] [stdout] test affinity_tests::record_mapping_overwrites_existing_entry ... ok [INFO] [stdout] test tests::analyze_http_attempt_treats_2xx_as_success ... ok [INFO] [stdout] test tests::analyze_http_attempt_treats_pending_status_string_as_success ... ok [INFO] [stdout] test tests::analyze_http_attempt_uses_structured_status_and_marks_quota_exhausted ... ok [INFO] [stdout] test tests::extract_research_request_id_from_path_decodes_segment ... ok [INFO] [stdout] test tests::extract_research_request_id_accepts_snake_and_camel_case ... ok [INFO] [stdout] test tests::analyze_http_attempt_prioritizes_structured_status_code_for_quota_exhausted ... ok [INFO] [stdout] test tests::analyze_http_attempt_treats_failed_status_string_as_error ... ok [INFO] [stdout] test tests::analyze_http_attempt_treats_http_errors_as_error ... ok [INFO] [stdout] test affinity_tests::prune_keeps_map_bounded ... ok [INFO] [stdout] test tests::heal_orphan_auth_tokens_from_logs_creates_soft_deleted_token ... ok [INFO] [stdout] test tests::get_user_token_returns_unavailable_after_soft_delete ... ok [INFO] [stdout] test tests::parse_hhmm_validates_clock_time ... ok [INFO] [stdout] test tests::add_or_undelete_key_with_status_keeps_tx_clean_after_insert_failure ... ok [INFO] [stdout] test tests::delete_access_token_soft_deletes_and_hides_from_list ... ok [INFO] [stdout] test tests::oauth_login_state_is_single_use ... ok [INFO] [stdout] test tests::get_user_token_secret_returns_none_when_token_disabled ... ok [INFO] [stdout] test tests::ensure_user_token_binding_with_preferred_rebinds_and_keeps_old_token_active ... ok [INFO] [stdout] test tests::redact_api_key_bytes_removes_api_key_value ... ok [INFO] [stdout] test tests::oauth_login_state_binding_hash_must_match ... ok [INFO] [stdout] test tests::ensure_user_token_binding_with_preferred_falls_back_when_preferred_owned_by_other_user ... ok [INFO] [stdout] test tests::ensure_user_token_binding_with_preferred_falls_back_when_preferred_unavailable ... ok [INFO] [stdout] test tests::ensure_user_token_binding_reuses_existing_binding ... ok [INFO] [stdout] test tests::force_user_relogin_migration_revokes_existing_sessions_once ... ok [INFO] [stdout] test tests::oauth_login_state_payload_carries_bind_token_id ... ok [INFO] [stdout] test tests::account_quota_limits_sync_with_env_defaults_on_restart ... ok [INFO] [stdout] test tests::sanitize_headers_removes_blocked_and_keeps_allowed ... ok [INFO] [stdout] test tests::sanitize_headers_rewrites_origin_and_referer ... ok [INFO] [stdout] test tests::proxy_http_json_endpoint_injects_bearer_auth_when_enabled ... ok [INFO] [stdout] test tests::proxy_http_json_endpoint_does_not_inject_bearer_auth_when_disabled ... ok [INFO] [stdout] test tests::rollup_token_usage_stats_is_idempotent_without_new_logs ... ok [INFO] [stdout] test tests::account_quota_backfill_is_idempotent ... ok [INFO] [stdout] test tests::quota_blocks_after_hourly_limit ... ok [INFO] [stdout] test tests::rollup_token_usage_stats_counts_only_billable_logs ... ok [INFO] [stdout] test tests::rollup_token_usage_stats_migration_includes_same_second_boundary_logs ... ok [INFO] [stdout] test tests::rollup_token_usage_stats_keeps_legacy_timestamp_cursor_monotonic ... ok [INFO] [stdout] test tests::rollup_token_usage_stats_processes_same_second_log_once ... ok [INFO] [stdout] test tests::rollup_token_usage_stats_migration_handles_out_of_order_timestamps ... ok [INFO] [stdout] test tests::proxy_http_search_marks_key_exhausted_on_quota_status ... ok [INFO] [stdout] test tests::rollup_token_usage_stats_migrates_legacy_timestamp_cursor ... ok [INFO] [stdout] test tests::bound_token_quota_checks_use_account_counters ... ok [INFO] [stdout] test tests::hourly_any_request_limit_blocks_after_threshold ... ok [INFO] [stdout] test tests::request_logs_env_settings_enforce_minimums_and_defaults ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 47 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.32s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/admin_password_hash.rs (/opt/rustwide/target/debug/deps/admin_password_hash-bff28017db3fb465) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/mock_mcp_client.rs (/opt/rustwide/target/debug/deps/mock_mcp_client-bee133d388af3217) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/mock_tavily.rs (/opt/rustwide/target/debug/deps/mock_tavily-2761f0cff7a6f70a) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/mock_upstream.rs (/opt/rustwide/target/debug/deps/mock_upstream-75d5b75c5b6db114) [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/tavily_hikari-f592cd1931af6b81) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 43 tests [INFO] [stdout] test server::tests::extract_token_from_query_ignores_additional_token_params ... ok [INFO] [stdout] test server::tests::extract_token_from_query_none_or_empty ... ok [INFO] [stdout] test server::tests::extract_token_from_query_single_param_case_insensitive ... ok [INFO] [stdout] test server::tests::extract_token_from_query_strips_param_and_preserves_others ... ok [INFO] [stdout] test server::tests::extract_token_from_query_uses_first_non_empty_token ... ok [INFO] [stdout] test server::tests::post_linuxdo_auth_persists_preferred_token_id_in_oauth_state ... ok [INFO] [stdout] test server::tests::api_keys_batch_does_not_override_existing_group ... ok [INFO] [stdout] test server::tests::mcp_accepts_token_from_query_param ... ok [INFO] [stdout] test server::tests::api_keys_batch_rejects_over_limit ... ok [INFO] [stdout] test server::tests::api_keys_batch_returns_403_for_non_admin ... ok [INFO] [stdout] test server::tests::mcp_rejects_invalid_token_in_query_param ... ok [INFO] [stdout] test server::tests::admin_user_management_requires_admin ... ok [INFO] [stdout] test server::tests::tavily_http_extract_replaces_body_api_key_with_tavily_key ... ok [INFO] [stdout] test server::tests::mcp_non_tool_calls_are_ignored_by_business_quota ... ok [INFO] [stdout] test server::tests::api_keys_batch_reports_statuses_and_is_partial_success ... ok [INFO] [stdout] test server::tests::api_keys_batch_can_mark_exhausted_by_secret ... ok [INFO] [stdout] test server::tests::tavily_http_crawl_replaces_body_api_key_with_tavily_key ... ok [INFO] [stdout] test server::tests::admin_user_management_lists_details_and_updates_quota ... ok [INFO] [stdout] test server::tests::mcp_tools_list_does_not_increment_billable_totals_after_rollup ... ok [INFO] [stdout] test server::tests::tavily_http_map_replaces_body_api_key_with_tavily_key ... ok [INFO] [stdout] test server::tests::post_linuxdo_auth_follow_redirect_uses_get_method ... ok [INFO] [stdout] test server::tests::api_keys_validate_reports_ok_exhausted_and_duplicates ... ok [INFO] [stdout] test server::tests::tavily_http_research_result_encodes_request_id_path_segment_for_upstream ... ok [INFO] [stdout] test server::tests::tavily_http_search_rejects_negative_max_results ... ok [INFO] [stdout] test server::tests::tavily_http_research_replaces_body_api_key_with_tavily_key ... ok [INFO] [stdout] test server::tests::linuxdo_callback_rebinds_preferred_token_end_to_end ... ok [INFO] [stdout] test server::tests::tavily_http_research_result_returns_500_when_owner_lookup_fails ... ok [INFO] [stdout] test server::tests::tavily_http_research_result_rejects_request_id_from_other_token ... ok [INFO] [stdout] test server::tests::tavily_http_map_skips_hourly_any_request_limiter ... ok [INFO] [stdout] test server::tests::tavily_http_research_result_survives_proxy_restart_with_persisted_affinity ... ok [INFO] [stdout] test server::tests::tavily_http_research_result_uses_upstream_bearer_and_request_id_path ... ok [INFO] [stdout] test server::tests::tavily_http_search_dev_open_admin_does_not_fail_foreign_key ... ok [INFO] [stdout] test server::tests::tavily_http_search_replaces_body_api_key_with_tavily_key ... ok [INFO] [stdout] test server::tests::tavily_http_search_returns_401_without_token ... ok [INFO] [stdout] test server::tests::tavily_http_usage_returns_daily_and_monthly_counts ... ok [INFO] [stdout] test server::tests::tavily_http_search_returns_401_for_invalid_token ... ok [INFO] [stdout] test server::tests::tavily_http_search_hourly_any_limit_429_is_non_billable_and_excluded_from_rollup ... ok [INFO] [stdout] test server::tests::tavily_http_search_rewrites_header_token_to_tavily_bearer ... ok [INFO] [stdout] test server::tests::user_profile_and_user_token_reflect_linuxdo_session ... ok [INFO] [stdout] test server::tests::tavily_http_research_result_reuses_key_selected_by_research_create ... ok [INFO] [stdout] test server::tests::tavily_http_search_returns_429_when_quota_exhausted_and_logs_token_attempt ... ok [INFO] [stdout] test server::tests::revoking_user_sessions_does_not_break_builtin_admin_session ... ok [INFO] [stderr] Running tests/server_http_contract.rs (/opt/rustwide/target/debug/deps/server_http_contract-6536957979e04416) [INFO] [stdout] test server::tests::builtin_admin_login_allows_admin_endpoints_and_logout_revokes ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 43 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.61s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test health_endpoint_is_stable_after_modularization ... ok [INFO] [stdout] test search_endpoint_requires_valid_token_when_dev_open_admin_disabled ... ok [INFO] [stdout] test search_endpoint_rewrites_upstream_credentials ... ok [INFO] [stderr] Doc-tests tavily_hikari [INFO] [stdout] test extract_crawl_map_endpoints_rewrite_upstream_credentials ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.58s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "d61c3586c5fcdef683e6cab07664e864d68e917a0849d136a0a2fd4d00350c2b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d61c3586c5fcdef683e6cab07664e864d68e917a0849d136a0a2fd4d00350c2b", kill_on_drop: false }` [INFO] [stdout] d61c3586c5fcdef683e6cab07664e864d68e917a0849d136a0a2fd4d00350c2b