[INFO] fetching crate gemini-adk-rs 0.6.0... [INFO] testing gemini-adk-rs-0.6.0 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate gemini-adk-rs 0.6.0 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate gemini-adk-rs 0.6.0 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate gemini-adk-rs 0.6.0 [INFO] tweaked toml for crates.io crate gemini-adk-rs 0.6.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate gemini-adk-rs 0.6.0 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate gemini-adk-rs 0.6.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tonic-prost v0.14.5 [INFO] [stderr] Downloaded secret-vault-value v1.0.1 [INFO] [stderr] Downloaded rvs_derive v0.3.2 [INFO] [stderr] Downloaded rvstruct v0.3.2 [INFO] [stderr] Downloaded opentelemetry_resourcedetector_gcp_rust v0.20.0 [INFO] [stderr] Downloaded rsb_derive v0.5.1 [INFO] [stderr] Downloaded opentelemetry-gcloud-trace v0.22.0 [INFO] [stderr] Downloaded opentelemetry-http v0.31.0 [INFO] [stderr] Downloaded opentelemetry_gcloud_monitoring_exporter v0.22.1 [INFO] [stderr] Downloaded google-cloud-type v1.2.0 [INFO] [stderr] Downloaded opentelemetry-otlp v0.31.0 [INFO] [stderr] Downloaded opentelemetry-proto v0.31.0 [INFO] [stderr] Downloaded tracing-opentelemetry v0.32.1 [INFO] [stderr] Downloaded opentelemetry v0.31.0 [INFO] [stderr] Downloaded opentelemetry-semantic-conventions v0.31.0 [INFO] [stderr] Downloaded google-cloud-gax-internal v0.7.10 [INFO] [stderr] Downloaded google-cloud-api v1.3.0 [INFO] [stderr] Downloaded tonic v0.14.5 [INFO] [stderr] Downloaded google-cloud-monitoring-v3 v1.6.0 [INFO] [stderr] Downloaded opentelemetry_sdk v0.31.0 [INFO] [stderr] Downloaded gemini-genai-rs v0.6.0 [INFO] [stderr] Downloaded gcloud-sdk v0.28.5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7b93064700502ec9d8fe3db6d4b2469d6a79c7cc23281c140e55642934181668 [INFO] running `Command { std: "docker" "start" "-a" "7b93064700502ec9d8fe3db6d4b2469d6a79c7cc23281c140e55642934181668", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7b93064700502ec9d8fe3db6d4b2469d6a79c7cc23281c140e55642934181668", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7b93064700502ec9d8fe3db6d4b2469d6a79c7cc23281c140e55642934181668", kill_on_drop: false }` [INFO] [stdout] 7b93064700502ec9d8fe3db6d4b2469d6a79c7cc23281c140e55642934181668 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 75fe490bd395fb710f593dc51c7a6a0ff075219444227806aa883167d4b7ed0c [INFO] running `Command { std: "docker" "start" "-a" "75fe490bd395fb710f593dc51c7a6a0ff075219444227806aa883167d4b7ed0c", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling cc v1.2.57 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling zerocopy v0.8.42 [INFO] [stderr] Compiling openssl v0.10.76 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling schemars v0.8.22 [INFO] [stderr] Compiling arc-swap v1.8.2 [INFO] [stderr] Compiling dyn-clone v1.0.20 [INFO] [stderr] Compiling openssl-sys v0.9.112 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling uuid v1.22.0 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [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 openssl-macros v0.1.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling bytemuck_derive v1.10.2 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling bytemuck v1.25.0 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling schemars_derive v0.8.22 [INFO] [stderr] Compiling tungstenite v0.24.0 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling tracing-serde v0.2.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-tungstenite v0.24.0 [INFO] [stderr] Compiling gemini-genai-rs v0.6.0 [INFO] [stderr] Compiling gemini-adk-rs v0.6.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 26s [INFO] running `Command { std: "docker" "inspect" "75fe490bd395fb710f593dc51c7a6a0ff075219444227806aa883167d4b7ed0c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "75fe490bd395fb710f593dc51c7a6a0ff075219444227806aa883167d4b7ed0c", kill_on_drop: false }` [INFO] [stdout] 75fe490bd395fb710f593dc51c7a6a0ff075219444227806aa883167d4b7ed0c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a0dfaf38cf9bfd3c2061f92923b53c67b219bb6ba5ed8b00f599822dd43fa1c7 [INFO] running `Command { std: "docker" "start" "-a" "a0dfaf38cf9bfd3c2061f92923b53c67b219bb6ba5ed8b00f599822dd43fa1c7", kill_on_drop: false }` [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-tungstenite v0.24.0 [INFO] [stderr] Compiling tokio-test v0.4.5 [INFO] [stderr] Compiling gemini-genai-rs v0.6.0 [INFO] [stderr] Compiling gemini-adk-rs v0.6.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 11s [INFO] running `Command { std: "docker" "inspect" "a0dfaf38cf9bfd3c2061f92923b53c67b219bb6ba5ed8b00f599822dd43fa1c7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a0dfaf38cf9bfd3c2061f92923b53c67b219bb6ba5ed8b00f599822dd43fa1c7", kill_on_drop: false }` [INFO] [stdout] a0dfaf38cf9bfd3c2061f92923b53c67b219bb6ba5ed8b00f599822dd43fa1c7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 5bb588cc47cb8ddace5f99a0d561f70990e25b3ec85d1a4bd3c7d76d98c37fbb [INFO] running `Command { std: "docker" "start" "-a" "5bb588cc47cb8ddace5f99a0d561f70990e25b3ec85d1a4bd3c7d76d98c37fbb", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.41s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gemini_adk_rs-946bcbffae56a5e8) [INFO] [stdout] [INFO] [stdout] running 869 tests [INFO] [stdout] test a2a::event_converter::tests::empty_content_returns_none ... ok [INFO] [stdout] test a2a::event_converter::tests::to_adk_event_multiple_text_parts_concatenated ... ok [INFO] [stdout] test a2a::event_converter::tests::to_adk_event_nested_message ... ok [INFO] [stdout] test a2a::event_converter::tests::to_adk_event_no_text_parts ... ok [INFO] [stdout] test a2a::event_converter::tests::to_adk_event_user_role ... ok [INFO] [stdout] test a2a::event_converter::tests::empty_string_content_returns_none ... ok [INFO] [stdout] test a2a::event_converter::tests::to_adk_event_basic ... ok [INFO] [stdout] test a2a::part_converter::tests::a2a_data_executable_code_to_genai ... ok [INFO] [stdout] test a2a::part_converter::tests::a2a_data_unknown_type_returns_none ... ok [INFO] [stdout] test a2a::part_converter::tests::a2a_file_uri_only_returns_none ... ok [INFO] [stdout] test a2a::part_converter::tests::a2a_text_to_genai_part ... ok [INFO] [stdout] test a2a::part_converter::tests::code_execution_result_to_a2a_data ... ok [INFO] [stdout] test a2a::part_converter::tests::executable_code_to_a2a_data ... ok [INFO] [stdout] test a2a::part_converter::tests::function_call_long_running ... ok [INFO] [stdout] test a2a::part_converter::tests::function_call_to_a2a_data_with_metadata ... ok [INFO] [stdout] test a2a::part_converter::tests::function_response_to_a2a_data ... ok [INFO] [stdout] test a2a::part_converter::tests::inline_data_to_a2a_file ... ok [INFO] [stdout] test a2a::part_converter::tests::round_trip_function_call ... ok [INFO] [stdout] test a2a::part_converter::tests::round_trip_function_response ... ok [INFO] [stdout] test a2a::part_converter::tests::round_trip_text ... ok [INFO] [stdout] test a2a::part_converter::tests::text_part_to_a2a ... ok [INFO] [stdout] test a2a::part_converter::tests::to_a2a_parts_filters_and_collects ... ok [INFO] [stdout] test a2a::part_converter::tests::to_genai_parts_filters_and_collects ... ok [INFO] [stdout] test a2a::remote_agent::tests::agent_card_serde ... ok [INFO] [stdout] test a2a::remote_agent::tests::create_remote_agent ... ok [INFO] [stdout] test a2a::remote_agent::tests::default_config ... ok [INFO] [stdout] test a2a::types::tests::a2a_message_round_trip_with_text_part ... ok [INFO] [stdout] test a2a::types::tests::a2a_part_data_serializes_with_kind_tag ... ok [INFO] [stdout] test a2a::part_converter::tests::a2a_data_function_call_to_genai ... ok [INFO] [stdout] test a2a::part_converter::tests::a2a_data_function_response_to_genai ... ok [INFO] [stdout] test a2a::event_converter::tests::agent_event_to_a2a_message ... ok [INFO] [stdout] test a2a::types::tests::a2a_part_file_serializes_with_kind_tag ... ok [INFO] [stdout] test a2a::part_converter::tests::a2a_file_to_genai_inline_data ... ok [INFO] [stdout] test a2a::types::tests::a2a_part_text_serializes_with_kind_tag ... ok [INFO] [stdout] test agent::tests::agent_trait_is_object_safe ... ok [INFO] [stdout] test a2a::types::tests::a2a_task_with_status_and_artifacts ... ok [INFO] [stdout] test a2a::types::tests::task_state_serde_camel_case ... ok [INFO] [stdout] test a2a::types::tests::task_status_update_event_final_field_rename ... ok [INFO] [stdout] test a2a::types::tests::task_artifact_update_event_round_trip ... ok [INFO] [stdout] test agent_config::tests::is_workflow_detection ... ok [INFO] [stdout] test agent_config::tests::tool_config_variants ... ok [INFO] [stdout] test agent_config::tests::parse_full_json_config ... ok [INFO] [stdout] test agent_config::tests::validate_bad_temperature_fails ... ok [INFO] [stdout] test agent_config::tests::validate_empty_name_fails ... ok [INFO] [stdout] test agent_config::tests::parse_minimal_json_config ... ok [INFO] [stdout] test agent_config::tests::validate_good_config_passes ... ok [INFO] [stdout] test a2a::part_converter::tests::a2a_data_code_exec_result_to_genai ... ok [INFO] [stdout] test agent_session::tests::activity_signals_broadcast ... ok [INFO] [stdout] test agent_session::tests::from_writer_with_mock ... ok [INFO] [stdout] test agent_session::tests::agent_session_is_clone ... ok [INFO] [stdout] test agent_session::tests::send_audio_without_subscribers_no_broadcast ... ok [INFO] [stdout] test a2a::types::tests::a2a_file_content_with_bytes_vs_uri ... ok [INFO] [stdout] test agent_tool::tests::agent_tool_collects_text_output ... ok [INFO] [stdout] test agent_session::tests::send_audio_with_subscriber_broadcasts ... ok [INFO] [stdout] test agent_session::tests::state_accessible ... ok [INFO] [stdout] test agent_tool::tests::agent_tool_returns_completed_when_no_output ... ok [INFO] [stdout] test agent_session::tests::text_broadcast ... ok [INFO] [stdout] test agent_tool::tests::agent_tool_propagates_errors ... ok [INFO] [stdout] test agent_tool::tests::agent_tool_with_custom_description ... ok [INFO] [stdout] test agents::loop_agent::tests::loop_escalate_breaks_early ... ok [INFO] [stdout] test agents::loop_agent::tests::loop_sub_agents_returns_children ... ok [INFO] [stdout] test agents::loop_agent::tests::loop_propagates_non_escalate_transfer ... ok [INFO] [stdout] test agents::loop_agent::tests::loop_zero_iterations ... ok [INFO] [stdout] test agents::parallel::tests::parallel_empty_succeeds ... ok [INFO] [stdout] test agents::loop_agent::tests::loop_runs_max_iterations ... ok [INFO] [stdout] test agent_tool::tests::agent_tool_runs_agent_in_isolation ... ok [INFO] [stdout] test agents::parallel::tests::parallel_fails_if_any_fails ... ok [INFO] [stdout] test agents::parallel::tests::parallel_runs_all ... ok [INFO] [stdout] test agent_tool::tests::agent_tool_with_custom_parameters ... ok [INFO] [stdout] test agent_tool::tests::agent_tool_state_injection ... ok [INFO] [stdout] test agents::sequential::tests::sequential_empty_succeeds ... ok [INFO] [stdout] test a2a::event_converter::tests::user_event_to_a2a_message ... ok [INFO] [stdout] test agents::sequential::tests::sequential_propagates_transfer ... ok [INFO] [stdout] test agents::sequential::tests::sequential_runs_all_in_order ... ok [INFO] [stdout] test artifacts::file_service::tests::load_nonexistent_returns_none ... ok [INFO] [stdout] test artifacts::file_service::tests::sanitize_removes_dangerous_chars ... ok [INFO] [stdout] test artifacts::file_service::tests::delete_artifact ... ok [INFO] [stdout] test agents::parallel::tests::parallel_sub_agents_returns_children ... ok [INFO] [stdout] test agents::sequential::tests::sequential_stops_on_error ... ok [INFO] [stdout] test agents::sequential::tests::sequential_sub_agents_returns_children ... ok [INFO] [stdout] test artifacts::forwarding::tests::forwarding_delete_delegates ... ok [INFO] [stdout] test artifacts::file_service::tests::load_specific_version ... ok [INFO] [stdout] test artifacts::forwarding::tests::forwarding_list_delegates ... ok [INFO] [stdout] test artifacts::file_service::tests::save_and_load_round_trip ... ok [INFO] [stdout] test artifacts::forwarding::tests::forwarding_save_delegates ... ok [INFO] [stdout] test artifacts::file_service::tests::list_artifacts ... ok [INFO] [stdout] test artifacts::forwarding::tests::forwarding_load_delegates ... ok [INFO] [stdout] test artifacts::tests::artifact_json ... ok [INFO] [stdout] test artifacts::forwarding::tests::forwarding_load_version_delegates ... ok [INFO] [stdout] test artifacts::tests::artifact_service_is_object_safe ... ok [INFO] [stdout] test artifacts::file_service::tests::versioning_increments_and_load_gets_latest ... ok [INFO] [stdout] test artifacts::tests::artifact_text ... ok [INFO] [stdout] test artifacts::tests::save_and_load ... ok [INFO] [stdout] test artifacts::tests::load_nonexistent_returns_none ... ok [INFO] [stdout] test artifacts::tests::versioning ... ok [INFO] [stdout] test auth::config::tests::auth_config_roundtrip ... ok [INFO] [stdout] test auth::config::tests::auth_config_with_exchanged_credential ... ok [INFO] [stdout] test auth::config::tests::auth_tool_arguments_roundtrip ... ok [INFO] [stdout] test auth::credential::tests::credential_type_roundtrip ... ok [INFO] [stdout] test artifacts::tests::artifact_new ... ok [INFO] [stdout] test auth::credential::tests::api_key_credential_roundtrip ... ok [INFO] [stdout] test artifacts::tests::delete_artifact ... ok [INFO] [stdout] test artifacts::tests::list_artifacts ... ok [INFO] [stdout] test auth::credential::tests::credential_type_screaming_snake_case ... ok [INFO] [stdout] test auth::exchanger::tests::default_registry_is_empty ... ok [INFO] [stdout] test auth::credential::tests::http_credential_roundtrip ... ok [INFO] [stdout] test auth::credential::tests::oauth2_credential_roundtrip ... ok [INFO] [stdout] test auth::credential::tests::service_account_credential_roundtrip ... ok [INFO] [stdout] test auth::exchanger::tests::credential_exchanger_trait_is_object_safe ... ok [INFO] [stdout] test auth::handler::tests::config_accessor ... ok [INFO] [stdout] test auth::handler::tests::generate_auth_request_returns_config_clone ... ok [INFO] [stdout] test auth::handler::tests::get_auth_response_found ... ok [INFO] [stdout] test auth::handler::tests::get_auth_response_not_found ... ok [INFO] [stdout] test auth::exchanger::tests::exchange_unregistered_scheme_returns_error ... ok [INFO] [stdout] test auth::schemes::tests::http_scheme_omits_none_bearer_format ... ok [INFO] [stdout] test artifacts::file_service::tests::path_traversal_prevention ... ok [INFO] [stdout] test auth::exchanger::tests::register_and_exchange_with_mock ... ok [INFO] [stdout] test auth::schemes::tests::api_key_scheme_tagged_serialization ... ok [INFO] [stdout] test auth::schemes::tests::http_scheme_tagged_serialization ... ok [INFO] [stdout] test auth::schemes::tests::oauth2_scheme_omits_none_fields ... ok [INFO] [stdout] test auth::schemes::tests::oauth2_scheme_tagged_serialization ... ok [INFO] [stdout] test callback::tests::tool_call_result_err ... ok [INFO] [stdout] test callback::tests::tool_call_result_ok ... ok [INFO] [stdout] test auth::schemes::tests::oauth_grant_type_snake_case ... ok [INFO] [stdout] test code_executors::container::tests::custom_config ... ok [INFO] [stdout] test auth::schemes::tests::oauth_grant_type_roundtrip ... ok [INFO] [stdout] test callback::tests::before_tool_result_variants ... ok [INFO] [stdout] test auth::schemes::tests::openid_connect_scheme_tagged_serialization ... ok [INFO] [stdout] test code_executors::container::tests::default_config ... ok [INFO] [stdout] test code_executors::tests::build_code_execution_result_part_ok_outcome ... ok [INFO] [stdout] test code_executors::tests::build_executable_code_part_correct ... ok [INFO] [stdout] test code_executors::tests::build_code_execution_result_part_failed_outcome ... ok [INFO] [stdout] test code_executors::tests::built_in_execute_code_returns_empty ... ok [INFO] [stdout] test code_executors::container::tests::executor_metadata ... ok [INFO] [stdout] test code_executors::tests::code_execution_input_construction ... ok [INFO] [stdout] test code_executors::tests::code_execution_result_empty ... ok [INFO] [stdout] test code_executors::tests::code_execution_input_no_execution_id ... ok [INFO] [stdout] test code_executors::tests::code_file_construction ... ok [INFO] [stdout] test code_executors::tests::code_file_serde_roundtrip ... ok [INFO] [stdout] test code_executors::tests::default_error_retry_attempts ... ok [INFO] [stdout] test code_executors::tests::code_executor_is_object_safe ... ok [INFO] [stdout] test code_executors::tests::default_execution_result_delimiters ... ok [INFO] [stdout] test code_executors::tests::extract_code_from_tool_code_block ... ok [INFO] [stdout] test code_executors::tests::default_stateful ... ok [INFO] [stdout] test code_executors::tests::extract_code_returns_none_when_no_block ... ok [INFO] [stdout] test code_executors::tests::extract_code_from_python_block ... ok [INFO] [stdout] test code_executors::unsafe_local::tests::custom_timeout ... ok [INFO] [stdout] test code_executors::tests::stub_executor_execute_code ... ok [INFO] [stdout] test code_executors::unsafe_local::tests::default_timeout ... ok [INFO] [stdout] test confirmation::tests::confirmed_constructor ... ok [INFO] [stdout] test code_executors::unsafe_local::tests::not_stateful ... ok [INFO] [stdout] test code_executors::vertex_ai::tests::execute_returns_empty_stub ... ok [INFO] [stdout] test confirmation::tests::denied_constructor ... ok [INFO] [stdout] test code_executors::vertex_ai::tests::executor_metadata ... ok [INFO] [stdout] test code_executors::tests::default_code_block_delimiters ... ok [INFO] [stdout] test confirmation::tests::serde_roundtrip ... ok [INFO] [stdout] test confirmation::tests::with_payload ... ok [INFO] [stdout] test context::tests::agent_event_is_send_and_clone ... ok [INFO] [stdout] test context::tests::invocation_context_has_default_run_config ... ok [INFO] [stdout] test context::tests::tool_context_with_confirmation ... ok [INFO] [stdout] test context::tests::tool_context_wraps_callback_context ... ok [INFO] [stdout] test context::tests::callback_context_state_access ... ok [INFO] [stdout] test credentials::tests::auth_credential_serde_roundtrip ... ok [INFO] [stdout] test credentials::tests::credential_service_is_object_safe ... ok [INFO] [stdout] test credentials::tests::load_nonexistent_returns_none ... ok [INFO] [stdout] test credentials::tests::overwrite_credential ... ok [INFO] [stdout] test error::tests::agent_error_display_messages ... ok [INFO] [stdout] test credentials::tests::save_and_load ... ok [INFO] [stdout] test error::tests::tool_error_display_messages ... ok [INFO] [stdout] test error::tests::tool_error_is_clone ... ok [INFO] [stdout] test error::tests::tool_error_timeout_shows_duration ... ok [INFO] [stdout] test evaluation::eval_case::tests::eval_set_construction ... ok [INFO] [stdout] test code_executors::tests::built_in_process_llm_request_rejects_non_gemini2 ... ok [INFO] [stdout] test credentials::tests::delete_credential ... ok [INFO] [stdout] test error::tests::agent_error_from_tool_error ... ok [INFO] [stdout] test error::tests::agent_error_from_session_error ... ok [INFO] [stdout] test evaluation::evalset_parser::tests::minimal_evalset ... ok [INFO] [stdout] test evaluation::evalset_parser::tests::parse_invalid_json ... ok [INFO] [stdout] test evaluation::evalset_parser::tests::parse_valid_evalset ... ok [INFO] [stdout] test evaluation::evalset_parser::tests::to_eval_pairs_converts_correctly ... ok [INFO] [stdout] test evaluation::eval_case::tests::eval_case_serde_roundtrip ... ok [INFO] [stdout] test evaluation::evaluator::tests::evaluator_is_object_safe ... ok [INFO] [stdout] test evaluation::hallucination_evaluator::tests::build_prompt_structure ... ok [INFO] [stdout] test evaluation::hallucination_evaluator::tests::builder_methods ... ok [INFO] [stdout] test evaluation::hallucination_evaluator::tests::default_impl ... ok [INFO] [stdout] test evaluation::hallucination_evaluator::tests::extract_context_includes_user_and_tools ... ok [INFO] [stdout] test evaluation::hallucination_evaluator::tests::extract_responses_all ... ok [INFO] [stdout] test evaluation::hallucination_evaluator::tests::extract_responses_final_only ... ok [INFO] [stdout] test evaluation::hallucination_evaluator::tests::parse_invalid ... ok [INFO] [stdout] test evaluation::hallucination_evaluator::tests::parse_response_with_claims ... ok [INFO] [stdout] test evaluation::hallucination_evaluator::tests::parse_valid_response ... ok [INFO] [stdout] test evaluation::llm_as_judge::tests::build_prompt_includes_rubric ... ok [INFO] [stdout] test evaluation::llm_as_judge::tests::default_config ... ok [INFO] [stdout] test evaluation::llm_as_judge::tests::parse_invalid_response ... ok [INFO] [stdout] test evaluation::llm_as_judge::tests::parse_json_in_text ... ok [INFO] [stdout] test evaluation::match_type::tests::any_order_full ... ok [INFO] [stdout] test evaluation::llm_as_judge::tests::parse_valid_json_response ... ok [INFO] [stdout] test evaluation::llm_as_judge::tests::score_clamped_to_valid_range ... ok [INFO] [stdout] test evaluation::match_type::tests::empty_expected ... ok [INFO] [stdout] test evaluation::match_type::tests::any_order_partial ... ok [INFO] [stdout] test evaluation::match_type::tests::default_is_exact ... ok [INFO] [stdout] test evaluation::match_type::tests::empty_both ... ok [INFO] [stdout] test evaluation::match_type::tests::exact_match ... ok [INFO] [stdout] test evaluation::match_type::tests::exact_mismatch_partial_credit ... ok [INFO] [stdout] test evaluation::match_type::tests::in_order_partial_with_extra ... ok [INFO] [stdout] test evaluation::match_type::tests::in_order_partial ... ok [INFO] [stdout] test evaluation::match_type::tests::in_order_subsequence ... ok [INFO] [stdout] test evaluation::response_evaluator::tests::exact_mismatch ... ok [INFO] [stdout] test evaluation::response_evaluator::tests::contains_match ... ok [INFO] [stdout] test evaluation::response_evaluator::tests::exact_match ... ok [INFO] [stdout] test evaluation::response_evaluator::tests::requires_expected ... ok [INFO] [stdout] test evaluation::response_evaluator::tests::fuzzy_match ... ok [INFO] [stdout] test code_executors::tests::built_in_process_llm_request_adds_code_execution_for_gemini2 ... ok [INFO] [stdout] test evaluation::response_evaluator::tests::similarity_empty ... ok [INFO] [stdout] test evaluation::response_evaluator::tests::similarity_identical ... ok [INFO] [stdout] test evaluation::response_evaluator::tests::levenshtein_identical ... ok [INFO] [stdout] test evaluation::evaluator::tests::eval_error_display ... ok [INFO] [stdout] test evaluation::response_evaluator::tests::levenshtein_one_edit ... ok [INFO] [stdout] test evaluation::rubric_evaluator::tests::build_prompt_includes_rubrics ... ok [INFO] [stdout] test evaluation::eval_result::tests::eval_result_serde_roundtrip ... ok [INFO] [stdout] test evaluation::eval_result::tests::eval_result_construction ... ok [INFO] [stdout] test evaluation::rubric_evaluator::tests::parse_invalid ... ok [INFO] [stdout] test evaluation::rubric_evaluator::tests::parse_scores_only ... ok [INFO] [stdout] test evaluation::rubric_evaluator::tests::for_tool_use_mode ... ok [INFO] [stdout] test evaluation::rubric_evaluator::tests::parse_embedded_json ... ok [INFO] [stdout] test evaluation::rubric_evaluator::tests::parse_valid_response ... ok [INFO] [stdout] test evaluation::rubric_evaluator::tests::score_clamped ... ok [INFO] [stdout] test evaluation::safety_evaluator::tests::default_threshold ... ok [INFO] [stdout] test evaluation::rubric_evaluator::tests::with_judge_model ... ok [INFO] [stdout] test evaluation::rubric_evaluator::tests::for_response_mode ... ok [INFO] [stdout] test evaluation::safety_evaluator::tests::multiple_signals_extra_penalty ... ok [INFO] [stdout] test evaluation::safety_evaluator::tests::empty_invocations_scores_one ... ok [INFO] [stdout] test evaluation::safety_evaluator::tests::score_from_high_severity ... ok [INFO] [stdout] test evaluation::safety_evaluator::tests::score_from_no_signals ... ok [INFO] [stdout] test evaluation::safety_evaluator::tests::email_pattern_detection ... ok [INFO] [stdout] test evaluation::safety_evaluator::tests::phone_pattern_detection ... ok [INFO] [stdout] test evaluation::safety_evaluator::tests::detects_email ... ok [INFO] [stdout] test evaluation::safety_evaluator::tests::detects_api_key ... ok [INFO] [stdout] test evaluation::safety_evaluator::tests::safe_response ... ok [INFO] [stdout] test evaluation::test_config::tests::missing_score_defaults_to_zero ... ok [INFO] [stdout] test evaluation::test_config::tests::check_all_passing ... ok [INFO] [stdout] test evaluation::test_config::tests::parse_invalid_json ... ok [INFO] [stdout] test evaluation::trajectory_evaluator::tests::lcs_different ... ok [INFO] [stdout] test evaluation::test_config::tests::parse_simple_thresholds ... ok [INFO] [stdout] test evaluation::test_config::tests::parse_llm_judge_config ... ok [INFO] [stdout] test evaluation::trajectory_evaluator::tests::lcs_identical ... ok [INFO] [stdout] test evaluation::trajectory_evaluator::tests::requires_expected ... ok [INFO] [stdout] test evaluation::trajectory_evaluator::tests::partial_match ... ok [INFO] [stdout] test evaluation::trajectory_evaluator::tests::set_match_unordered ... ok [INFO] [stdout] test evaluation::trajectory_evaluator::tests::strict_order_perfect_match ... ok [INFO] [stdout] test evaluation::user_simulator_evaluator::tests::build_prompt_includes_conversation ... ok [INFO] [stdout] test evaluation::user_simulator_evaluator::tests::builder_methods ... ok [INFO] [stdout] test evaluation::test_config::tests::check_all_failing ... ok [INFO] [stdout] test evaluation::user_simulator_evaluator::tests::default_impl ... ok [INFO] [stdout] test evaluation::user_simulator_evaluator::tests::empty_invocations ... ok [INFO] [stdout] test evaluation::user_simulator_evaluator::tests::heuristic_detects_empty_messages ... ok [INFO] [stdout] test evaluation::user_simulator_evaluator::tests::heuristic_detects_repetition ... ok [INFO] [stdout] test evaluation::user_simulator_evaluator::tests::heuristic_good_conversation ... ok [INFO] [stdout] test evaluation::user_simulator_evaluator::tests::heuristic_stop_signal_misplaced ... ok [INFO] [stdout] test evaluation::user_simulator_evaluator::tests::heuristic_stop_signal_ok ... ok [INFO] [stdout] test evaluation::user_simulator_evaluator::tests::no_user_turns ... ok [INFO] [stdout] test evaluation::user_simulator_evaluator::tests::parse_invalid ... ok [INFO] [stdout] test evaluation::user_simulator_evaluator::tests::parse_sub_scores_only ... ok [INFO] [stdout] test evaluation::safety_evaluator::tests::ssn_pattern_detection ... ok [INFO] [stdout] test evaluation::user_simulator_evaluator::tests::parse_valid_response ... ok [INFO] [stdout] test events::structured::tests::convert_empty_event ... ok [INFO] [stdout] test events::structured::tests::convert_event_with_content ... ok [INFO] [stdout] test events::structured::tests::convert_event_with_content_and_transfer ... ok [INFO] [stdout] test events::structured::tests::convert_event_with_tool_result_in_state_delta ... ok [INFO] [stdout] test events::structured::tests::convert_event_with_escalation ... ok [INFO] [stdout] test events::tests::event_actions_escalate ... ok [INFO] [stdout] test events::structured::tests::event_type_classification ... ok [INFO] [stdout] test events::structured::tests::convert_event_with_transfer ... ok [INFO] [stdout] test events::tests::event_actions_transfer ... ok [INFO] [stdout] test events::tests::event_actions_state_delta ... ok [INFO] [stdout] test events::tests::event_new ... ok [INFO] [stdout] test events::tests::event_serialization ... ok [INFO] [stdout] test events::tests::event_with_invocation ... ok [INFO] [stdout] test instruction::tests::numeric_value ... ok [INFO] [stdout] test instruction::tests::multiple_keys ... ok [INFO] [stdout] test instruction::tests::no_placeholders_passthrough ... ok [INFO] [stdout] test instruction::tests::missing_required_key_left_as_is ... ok [INFO] [stdout] test instruction::tests::optional_key_missing ... ok [INFO] [stdout] test instruction::tests::optional_key_present ... ok [INFO] [stdout] test instruction::tests::empty_template ... ok [INFO] [stdout] test instruction::tests::prefix_key ... ok [INFO] [stdout] test instruction::tests::simple_substitution ... ok [INFO] [stdout] test evaluation::safety_evaluator::tests::threshold_clamped ... ok [INFO] [stdout] test evaluation::safety_evaluator::tests::detects_ssn ... ok [INFO] [stdout] test evaluation::safety_evaluator::tests::detects_injection_pattern ... ok [INFO] [stdout] test live::background_tool::tests::cancel_nonexistent_id_is_noop ... ok [INFO] [stdout] test live::background_tool::tests::cancel_removes_task_and_cancels_token ... ok [INFO] [stdout] test live::background_tool::tests::format_cancelled_output ... ok [INFO] [stdout] test live::background_tool::tests::cancel_all_clears_all_tasks ... ok [INFO] [stdout] test live::background_tool::tests::format_result_ok ... ok [INFO] [stdout] test live::background_tool::tests::format_running_output ... ok [INFO] [stdout] test live::background_tool::tests::remove_cleans_up_completed_task ... ok [INFO] [stdout] test live::background_tool::tests::spawn_increments_active_count ... ok [INFO] [stdout] test live::background_tool::tests::format_result_err ... ok [INFO] [stdout] test live::background_agent_dispatch::tests::dispatch_writes_error_to_state ... ok [INFO] [stdout] test live::background_agent_dispatch::tests::dispatch_writes_result_to_state ... ok [INFO] [stdout] test live::background_tool::tests::tool_execution_mode_debug_standard ... ok [INFO] [stdout] test live::background_tool::tests::tool_execution_mode_debug_background_some ... ok [INFO] [stdout] test live::background_tool::tests::tracker_new_is_empty ... ok [INFO] [stdout] test live::background_tool::tests::spawn_shows_active_id ... ok [INFO] [stdout] test live::background_tool::tests::tool_execution_mode_debug_background_none ... ok [INFO] [stdout] test live::builder::tests::builder_creates_with_defaults ... ok [INFO] [stdout] test live::callbacks::tests::callback_mode_defaults_to_blocking ... ok [INFO] [stdout] test live::callbacks::tests::debug_shows_registered ... ok [INFO] [stdout] test live::callbacks::tests::default_callbacks_all_none ... ok [INFO] [stdout] test live::callbacks::tests::sync_callback_callable ... ok [INFO] [stdout] test live::computed::tests::compute_returning_none_skips_write ... ok [INFO] [stdout] test live::background_tool::tests::tool_execution_mode_default_is_standard ... ok [INFO] [stdout] test live::computed::tests::dependency_ordering ... ok [INFO] [stdout] test live::computed::tests::len_and_is_empty ... ok [INFO] [stdout] test live::computed::tests::diamond_dependency ... ok [INFO] [stdout] test live::computed::tests::empty_registry_recompute_returns_empty ... ok [INFO] [stdout] test live::computed::tests::recompute_affected_diamond ... ok [INFO] [stdout] test live::computed::tests::recompute_affected_only_recomputes_affected ... ok [INFO] [stdout] test live::computed::tests::recompute_returns_only_changed_keys ... ok [INFO] [stdout] test live::computed::tests::single_var_register_and_recompute ... ok [INFO] [stdout] test live::computed::tests::validate_catches_cycles ... ok [INFO] [stdout] test live::computed::tests::validate_empty_registry ... ok [INFO] [stdout] test live::computed::tests::validate_succeeds_on_valid_graph ... ok [INFO] [stdout] test live::context_builder::tests::compose_with_add ... ok [INFO] [stdout] test live::context_builder::tests::custom_format ... ok [INFO] [stdout] test live::context_builder::tests::empty_section_omitted ... ok [INFO] [stdout] test live::background_agent_dispatch::tests::cancel_all_aborts_tasks ... ok [INFO] [stdout] test live::context_builder::tests::empty_state_returns_empty_string ... ok [INFO] [stdout] test live::context_builder::tests::flag_omitted_when_false ... ok [INFO] [stdout] test live::context_builder::tests::flag_renders_when_true ... ok [INFO] [stdout] test live::context_builder::tests::multiple_sections ... ok [INFO] [stdout] test live::context_builder::tests::phase_needs_disappears_when_all_gathered ... ok [INFO] [stdout] test live::context_builder::tests::phase_needs_shows_gathering ... ok [INFO] [stdout] test live::context_builder::tests::renders_populated_fields ... ok [INFO] [stdout] test live::context_builder::tests::sentiment_skips_neutral ... ok [INFO] [stdout] test live::context_builder::tests::sentiment_renders_non_neutral ... ok [INFO] [stdout] test live::context_builder::tests::skips_missing_fields ... ok [INFO] [stdout] test live::context_writer::tests::deferred_writer_does_not_flush_on_tool_response ... ok [INFO] [stdout] test live::context_writer::tests::deferred_writer_client_content_passes_through ... ok [INFO] [stdout] test live::context_writer::tests::deferred_writer_flushes_on_send_audio ... ok [INFO] [stdout] test live::context_writer::tests::deferred_writer_flushes_on_send_video ... ok [INFO] [stdout] test live::context_writer::tests::deferred_writer_flushes_on_send_text ... ok [INFO] [stdout] test live::context_writer::tests::deferred_writer_flushes_prompt_after_context ... ok [INFO] [stdout] test live::context_writer::tests::deferred_writer_no_flush_when_empty ... ok [INFO] [stdout] test live::context_writer::tests::pending_context_drain_clears ... ok [INFO] [stdout] test live::context_writer::tests::pending_context_extend ... ok [INFO] [stdout] test live::context_writer::tests::pending_context_prompt_flag ... ok [INFO] [stdout] test live::context_writer::tests::pending_context_push_and_drain ... ok [INFO] [stdout] test live::extractor::tests::extractor_default_trigger_is_every_turn ... ok [INFO] [stdout] test live::extractor::tests::extractor_name_and_window_size ... ok [INFO] [stdout] test live::extractor::tests::extractor_with_trigger ... ok [INFO] [stdout] test live::extractor::tests::format_transcript_readable ... ok [INFO] [stdout] test live::extractor::tests::llm_extractor_handles_markdown_fenced_json ... ok [INFO] [stdout] test live::extractor::tests::llm_extractor_invalid_json_returns_error ... ok [INFO] [stdout] test live::extractor::tests::strip_code_fences_variants ... ok [INFO] [stdout] test live::background_agent_dispatch::tests::state_mutations_visible_to_parent ... ok [INFO] [stdout] test live::needs::tests::custom_thresholds ... ok [INFO] [stdout] test live::extractor::tests::llm_extractor_with_schema ... ok [INFO] [stdout] test live::extractor::tests::llm_extractor_produces_json ... ok [INFO] [stdout] test live::needs::tests::fulfilling_need_resets_counter ... ok [INFO] [stdout] test live::needs::tests::escalation_at_threshold ... ok [INFO] [stdout] test live::needs::tests::no_action_before_threshold ... ok [INFO] [stdout] test live::needs::tests::no_action_when_needs_fulfilled ... ok [INFO] [stdout] test live::persistence::tests::memory_persistence_delete ... ok [INFO] [stdout] test live::needs::tests::nudge_at_threshold ... ok [INFO] [stdout] test live::persistence::tests::memory_persistence_load_missing ... ok [INFO] [stdout] test live::phase::tests::active_tools_returns_filter ... ok [INFO] [stdout] test live::phase::tests::active_tools_returns_none_when_no_filter ... ok [INFO] [stdout] test live::phase::tests::describe_navigation_terminal_phase ... ok [INFO] [stdout] test live::phase::tests::describe_navigation_basic ... ok [INFO] [stdout] test live::persistence::tests::fs_persistence_round_trip ... ok [INFO] [stdout] test live::persistence::tests::memory_persistence_round_trip ... ok [INFO] [stdout] test live::phase::tests::evaluate_multiple_transitions_first_match_wins ... ok [INFO] [stdout] test live::phase::tests::evaluate_terminal_phase_returns_none ... ok [INFO] [stdout] test live::phase::tests::instruction_modifier_conditional_false ... ok [INFO] [stdout] test live::phase::tests::evaluate_single_transition_fires ... ok [INFO] [stdout] test live::phase::tests::evaluate_single_transition_does_not_fire ... ok [INFO] [stdout] test live::phase::tests::describe_navigation_with_history_and_needs ... ok [INFO] [stdout] test live::phase::tests::multiple_transitions_accumulate_history ... ok [INFO] [stdout] test live::phase::tests::new_and_add_phase_and_current ... ok [INFO] [stdout] test live::phase::tests::instruction_modifier_conditional_true ... ok [INFO] [stdout] test live::phase::tests::instruction_modifier_state_append ... ok [INFO] [stdout] test live::phase::tests::phase_guard_allows_transition_when_satisfied ... ok [INFO] [stdout] test live::phase::tests::phase_guard_blocks_transition ... ok [INFO] [stdout] test live::phase::tests::phase_guard_skips_to_next_transition ... ok [INFO] [stdout] test live::phase::tests::phase_instruction_dynamic_resolves ... ok [INFO] [stdout] test live::phase::tests::resolve_with_modifiers_composes ... ok [INFO] [stdout] test live::phase::tests::phase_instruction_static_resolves ... ok [INFO] [stdout] test live::phase::tests::transition_runs_on_enter_and_on_exit_callbacks ... ok [INFO] [stdout] test live::phase::tests::transition_resolves_dynamic_instruction ... ok [INFO] [stdout] test live::phase::tests::transition_to_nonexistent_target_returns_none ... ok [INFO] [stdout] test live::phase::tests::validate_catches_invalid_transition_target ... ok [INFO] [stdout] test live::phase::tests::transition_updates_current_and_records_history ... ok [INFO] [stdout] test live::phase::tests::validate_catches_no_phases ... ok [INFO] [stdout] test live::phase::tests::validate_succeeds_on_valid_config ... ok [INFO] [stdout] test live::phase::tests::validate_catches_missing_initial_phase ... ok [INFO] [stdout] test live::computed::tests::cycle_detection_panics - should panic ... ok [INFO] [stdout] test live::computed::tests::self_cycle_panics - should panic ... ok [INFO] [stdout] test live::processor::tests::control_lane_routes_turn_complete ... ok [INFO] [stdout] test live::processor::tests::fast_lane_routes_audio ... ok [INFO] [stdout] test live::processor::tests::callback_mode_blocking_awaits_inline ... ok [INFO] [stdout] test live::processor::tests::callback_mode_concurrent_spawns_task ... ok [INFO] [stdout] test live::session_signals::tests::audio_data_updates_activity ... ok [INFO] [stdout] test live::session_signals::tests::connected_initializes_state ... ok [INFO] [stdout] test live::session_signals::tests::disconnected_clears_connected_and_sets_flag ... ok [INFO] [stdout] test live::session_signals::tests::disconnected_without_reason ... ok [INFO] [stdout] test live::session_signals::tests::error_increments_count ... ok [INFO] [stdout] test live::session_signals::tests::flush_timing_after_connected ... ok [INFO] [stdout] test live::session_signals::tests::flush_timing_respects_video_budget ... ok [INFO] [stdout] test live::session_signals::tests::go_away_sets_state ... ok [INFO] [stdout] test live::session_signals::tests::go_away_without_time_left ... ok [INFO] [stdout] test live::session_signals::tests::interrupted_increments_count ... ok [INFO] [stdout] test live::session_signals::tests::latest_resume_handle_initially_none ... ok [INFO] [stdout] test live::session_signals::tests::latest_resume_handle_updates ... ok [INFO] [stdout] test live::session_signals::tests::mark_video_sent_changes_session_type ... ok [INFO] [stdout] test live::session_signals::tests::mark_video_sent_idempotent ... ok [INFO] [stdout] test live::session_signals::tests::phase_changed_sets_model_speaking ... ok [INFO] [stdout] test live::session_signals::tests::session_resume_handle_stored ... ok [INFO] [stdout] test live::session_signals::tests::session_type_defaults_to_audio_only ... ok [INFO] [stdout] test live::session_signals::tests::silence_ms_tracked ... ok [INFO] [stdout] test live::session_signals::tests::text_complete_updates_activity ... ok [INFO] [stdout] test live::session_signals::tests::transcription_stores_last ... ok [INFO] [stdout] test live::session_signals::tests::turn_complete_updates_activity ... ok [INFO] [stdout] test live::session_signals::tests::voice_activity_toggles_user_speaking ... ok [INFO] [stdout] test live::processor::tests::interrupt_suppresses_audio ... ok [INFO] [stdout] test live::soft_turn::tests::no_soft_turn_without_vad_end ... ok [INFO] [stdout] test live::soft_turn::tests::model_response_cancels_soft_turn ... ok [INFO] [stdout] test live::processor::tests::extractor_runs_on_turn_complete ... ok [INFO] [stdout] test live::steering::tests::conditional_appends_when_true ... ok [INFO] [stdout] test live::steering::tests::conditional_skips_when_false ... ok [INFO] [stdout] test live::steering::tests::state_append_builds_context ... ok [INFO] [stdout] test live::telemetry::tests::audio_counters_accumulate ... ok [INFO] [stdout] test live::processor::tests::telemetry_lane_auto_collects ... ok [INFO] [stdout] test live::telemetry::tests::interruption_counter ... ok [INFO] [stdout] test live::telemetry::tests::latency_tracking ... ok [INFO] [stdout] test live::telemetry::tests::new_snapshot_is_zeroed ... ok [INFO] [stdout] test live::temporal::tests::consecutive_failure_fires_after_threshold ... ok [INFO] [stdout] test live::processor::tests::transcript_accumulates_in_control_lane ... ok [INFO] [stdout] test live::temporal::tests::consecutive_failure_reset_clears_counter ... ok [INFO] [stdout] test live::temporal::tests::consecutive_failure_resets_on_success ... ok [INFO] [stdout] test live::temporal::tests::default_creates_empty_registry ... ok [INFO] [stdout] test live::temporal::tests::needs_timer_false_without_sustained_detector ... ok [INFO] [stdout] test live::temporal::tests::needs_timer_true_with_sustained_detector ... ok [INFO] [stdout] test live::temporal::tests::pattern_cooldown_prevents_rapid_refiring ... ok [INFO] [stdout] test live::temporal::tests::pattern_without_cooldown_fires_every_time ... ok [INFO] [stdout] test live::temporal::tests::rate_detector_does_not_need_timer ... ok [INFO] [stdout] test live::temporal::tests::rate_does_not_fire_when_events_outside_window ... ok [INFO] [stdout] test live::temporal::tests::rate_filter_rejects_events ... ok [INFO] [stdout] test live::temporal::tests::rate_fires_when_count_reached ... ok [INFO] [stdout] test live::temporal::tests::rate_reset_clears_timestamps ... ok [INFO] [stdout] test live::temporal::tests::registry_check_all_returns_actions ... ok [INFO] [stdout] test live::temporal::tests::sustained_detector_needs_timer ... ok [INFO] [stdout] test live::temporal::tests::sustained_fires_after_duration ... ok [INFO] [stdout] test live::temporal::tests::sustained_reset_clears_state ... ok [INFO] [stdout] test live::temporal::tests::sustained_resets_on_false ... ok [INFO] [stdout] test live::temporal::tests::turn_count_detector_does_not_need_timer ... ok [INFO] [stdout] test live::temporal::tests::turn_count_fires_after_n_consecutive ... ok [INFO] [stdout] test live::temporal::tests::turn_count_reset_clears_counter ... ok [INFO] [stdout] test live::temporal::tests::turn_count_resets_on_false ... ok [INFO] [stdout] test live::transcript::tests::accumulate_and_end_turn ... ok [INFO] [stdout] test live::transcript::tests::default_capacity_is_50 ... ok [INFO] [stdout] test live::transcript::tests::end_turn_empty_returns_none ... ok [INFO] [stdout] test live::transcript::tests::format_window_produces_readable_text ... ok [INFO] [stdout] test live::transcript::tests::has_pending ... ok [INFO] [stdout] test live::transcript::tests::multiple_tool_calls_in_one_turn ... ok [INFO] [stdout] test live::transcript::tests::multiple_turns_all_tracked ... ok [INFO] [stdout] test live::transcript::tests::push_tool_call_records_summary ... ok [INFO] [stdout] test live::transcript::tests::push_tool_call_truncates_long_args ... ok [INFO] [stdout] test live::transcript::tests::ring_cap_evicts_oldest ... ok [INFO] [stdout] test live::transcript::tests::ring_cap_window_within_retained ... ok [INFO] [stdout] test live::transcript::tests::set_input_transcription_overwrites_accumulated ... ok [INFO] [stdout] test live::transcript::tests::set_output_transcription_overwrites_accumulated ... ok [INFO] [stdout] test live::transcript::tests::snapshot_window_creates_window ... ok [INFO] [stdout] test live::transcript::tests::tool_call_only_turn_creates_turn ... ok [INFO] [stdout] test live::transcript::tests::tool_calls_appear_in_format_window ... ok [INFO] [stdout] test live::transcript::tests::tool_calls_reset_after_end_turn ... ok [INFO] [stdout] test live::transcript::tests::transcript_window_empty ... ok [INFO] [stdout] test live::soft_turn::tests::reset_clears_state ... ok [INFO] [stdout] test live::transcript::tests::transcript_window_formatted ... ok [INFO] [stdout] test live::transcript::tests::truncate_current_model_turn_clears_model_text ... ok [INFO] [stdout] test live::transcript::tests::window_larger_than_turns ... ok [INFO] [stdout] test live::transcript::tests::window_returns_last_n ... ok [INFO] [stdout] test live::watcher::tests::became_true_does_not_fire_on_non_bool ... ok [INFO] [stdout] test live::watcher::tests::action_receives_old_new_and_state ... ok [INFO] [stdout] test live::watcher::tests::became_false_fires_on_true_to_false ... ok [INFO] [stdout] test live::watcher::tests::became_true_fires_on_false_to_true ... ok [INFO] [stdout] test live::watcher::tests::changed_fires_on_any_diff ... ok [INFO] [stdout] test live::watcher::tests::changed_to_fires_when_new_value_matches ... ok [INFO] [stdout] test live::watcher::tests::changed_to_does_not_fire_when_new_value_differs ... ok [INFO] [stdout] test live::watcher::tests::crossed_above_does_not_fire_when_both_above ... ok [INFO] [stdout] test live::watcher::tests::crossed_above_fires_on_upward_crossing ... ok [INFO] [stdout] test live::watcher::tests::crossed_above_with_non_numeric_values_does_not_fire ... ok [INFO] [stdout] test live::watcher::tests::crossed_below_fires_on_downward_crossing ... ok [INFO] [stdout] test live::watcher::tests::custom_predicate_fires_when_fn_returns_true ... ok [INFO] [stdout] test live::watcher::tests::default_creates_empty_registry ... ok [INFO] [stdout] test live::watcher::tests::empty_diffs_produce_no_futures ... ok [INFO] [stdout] test live::watcher::tests::evaluate_with_no_matching_diffs_returns_empty ... ok [INFO] [stdout] test live::watcher::tests::evaluate_separates_blocking_and_concurrent ... ok [INFO] [stdout] test live::watcher::tests::observed_keys_tracks_added_watcher_keys ... ok [INFO] [stdout] test live::watcher::tests::multiple_watchers_on_same_key ... ok [INFO] [stdout] test llm::gemini::tests::base_llm_is_object_safe ... ok [INFO] [stdout] test llm::gemini::tests::default_model_is_gemini_2_5_flash ... ok [INFO] [stdout] test llm::gemini::tests::explicit_model ... ok [INFO] [stdout] test llm::gemini::tests::gemini_llm_is_send_sync ... ok [INFO] [stdout] test live::watcher::tests::changed_from_fires_when_old_value_matches ... ok [INFO] [stdout] test live::background_agent_dispatch::tests::budget_limits_concurrency ... ok [INFO] [stdout] test llm::gemini::tests::model_id_returns_correct_string ... ok [INFO] [stdout] test llm::gemini::tests::variant_from_params_gemini_api ... ok [INFO] [stdout] test llm::gemini::tests::variant_from_params_vertex ... ok [INFO] [stdout] test llm::registry::tests::first_match_wins ... ok [INFO] [stdout] test llm::registry::tests::len_and_is_empty ... ok [INFO] [stdout] test llm::registry::tests::register_and_resolve ... ok [INFO] [stdout] test llm::registry::tests::resolve_unknown_returns_none ... ok [INFO] [stdout] test llm::tests::base_llm_is_object_safe ... ok [INFO] [stdout] test llm::tests::llm_request_from_contents ... ok [INFO] [stdout] test llm::tests::llm_request_from_text ... ok [INFO] [stdout] test llm::tests::llm_response_function_calls ... ok [INFO] [stdout] test llm::tests::llm_response_text ... ok [INFO] [stdout] test llm::tests::token_usage ... ok [INFO] [stdout] test llm_agent::tests::builder_auto_registers_transfer_tools ... ok [INFO] [stdout] test llm_agent::tests::builder_creates_agent_with_name ... ok [INFO] [stdout] test llm_agent::tests::builder_prepends_telemetry_middleware ... ok [INFO] [stdout] test llm::gemini::tests::is_supported_gemini_models ... ok [INFO] [stdout] test llm_agent::tests::builder_registers_tools ... ok [INFO] [stdout] test llm_agent::tests::builder_with_multiple_sub_agents ... ok [INFO] [stdout] test llm_agent::tests::builder_with_user_middleware_and_telemetry ... ok [INFO] [stdout] test llm::gemini::tests::is_supported_non_gemini_models ... ok [INFO] [stdout] test live::telemetry::tests::multiple_turns_average_latency ... ok [INFO] [stdout] test live::background_agent_dispatch::tests::cancel_specific_task ... ok [INFO] [stdout] test llm::gemini::tests::is_supported_vertex_ai_resource_paths ... ok [INFO] [stdout] test llm_agent::tests::event_loop_breaks_on_disconnect ... ok [INFO] [stdout] test llm_agent::tests::event_loop_breaks_on_turn_complete ... ok [INFO] [stdout] test llm_agent::tests::event_loop_detects_transfer ... ok [INFO] [stdout] test llm_agent::tests::event_loop_emits_lifecycle_events ... ok [INFO] [stdout] test llm_agent::tests::event_loop_handles_error_event ... ok [INFO] [stdout] test llm_agent::tests::tools_returns_declarations ... ok [INFO] [stdout] test llm_agent::tests::get_tool_returns_tool_kind ... ok [INFO] [stdout] test live::soft_turn::tests::soft_turn_after_timeout ... ok [INFO] [stdout] test llm_agent::tests::transfer_requested_error ... ok [INFO] [stdout] test memory::tests::clear_session ... ok [INFO] [stdout] test memory::tests::get_nonexistent_returns_none ... ok [INFO] [stdout] test memory::tests::delete_entry ... ok [INFO] [stdout] test memory::tests::memory_entry_new ... ok [INFO] [stdout] test memory::tests::list_entries ... ok [INFO] [stdout] test memory::tests::memory_service_is_object_safe ... ok [INFO] [stdout] test memory::tests::store_and_get ... ok [INFO] [stdout] test memory::vertex_ai_memory_bank::tests::service_metadata ... ok [INFO] [stdout] test memory::vertex_ai_rag::tests::service_metadata ... ok [INFO] [stdout] test llm_agent::tests::event_loop_passes_through_events ... ok [INFO] [stdout] test memory::vertex_ai_rag::tests::store_and_search_stub ... ok [INFO] [stdout] test middleware::tests::add_middleware_to_chain ... ok [INFO] [stdout] test middleware::tests::chain_is_clone ... ok [INFO] [stdout] test middleware::tests::latency_middleware_defaults ... ok [INFO] [stdout] test memory::tests::search_entries ... ok [INFO] [stdout] test middleware::tests::latency_middleware_records_failure ... ok [INFO] [stdout] test middleware::tests::log_middleware_defaults ... ok [INFO] [stdout] test middleware::tests::logging_middleware_doesnt_panic ... ok [INFO] [stdout] test middleware::tests::middleware_chain_ordering ... ok [INFO] [stdout] test middleware::tests::middleware_is_object_safe ... ok [INFO] [stdout] test middleware::tests::retry_middleware_reset ... ok [INFO] [stdout] test middleware::tests::latency_middleware_clear ... ok [INFO] [stdout] test middleware::tests::retry_middleware_tracks_retries ... ok [INFO] [stdout] test middleware::tests::chain_with_all_builtin_middleware ... ok [INFO] [stdout] test optimization::optimizer::tests::optimizer_result_serde ... ok [INFO] [stdout] test optimization::simple_prompt::tests::default_config ... ok [INFO] [stdout] test planners::built_in::tests::default_instruction ... ok [INFO] [stdout] test planners::plan_re_act::tests::builds_instruction_with_tags ... ok [INFO] [stdout] test planners::plan_re_act::tests::instruction_includes_tool_guidance ... ok [INFO] [stdout] test planners::plan_re_act::tests::instruction_without_tool_guidance ... ok [INFO] [stdout] test planners::plan_re_act::tests::process_filters_tagged_response ... ok [INFO] [stdout] test planners::built_in::tests::custom_instruction ... ok [INFO] [stdout] test planners::built_in::tests::response_passthrough ... ok [INFO] [stdout] test planners::plan_re_act::tests::process_passthrough_plain_text ... ok [INFO] [stdout] test planners::tests::planner_error_display ... ok [INFO] [stdout] test plugin::context_filter::tests::plugin_name ... ok [INFO] [stdout] test plugin::context_filter::tests::default_config ... ok [INFO] [stdout] test plugin::context_filter::tests::custom_config ... ok [INFO] [stdout] test plugin::global_instruction::tests::default_empty ... ok [INFO] [stdout] test plugin::global_instruction::tests::with_instructions ... ok [INFO] [stdout] test plugin::global_instruction::tests::plugin_name ... ok [INFO] [stdout] test plugin::logging::tests::logging_plugin_default ... ok [INFO] [stdout] test plugin::logging::tests::logging_plugin_name ... ok [INFO] [stdout] test plugin::reflect_retry::tests::default_retries ... ok [INFO] [stdout] test plugin::reflect_retry::tests::custom_retries ... ok [INFO] [stdout] test plugin::reflect_retry::tests::plugin_name ... ok [INFO] [stdout] test plugin::security::tests::allow_all_policy ... ok [INFO] [stdout] test plugin::reflect_retry::tests::on_tool_error_returns_short_circuit ... ok [INFO] [stdout] test plugin::security::tests::deny_list_policy_allows ... ok [INFO] [stdout] test plugin::security::tests::deny_list_policy_blocks ... ok [INFO] [stdout] test plugin::security::tests::security_plugin_allows_safe_tool ... ok [INFO] [stdout] test plugin::security::tests::security_plugin_denies_blocked_tool ... ok [INFO] [stdout] test plugin::tests::new_hooks_default_to_continue ... ok [INFO] [stdout] test plugin::tests::custom_before_model_plugin ... ok [INFO] [stdout] test plugin::tests::plugin_is_object_safe ... ok [INFO] [stdout] test plugin::tests::plugin_manager_add ... ok [INFO] [stdout] test plugin::tests::plugin_manager_deny_short_circuits ... ok [INFO] [stdout] test plugin::tests::plugin_manager_empty ... ok [INFO] [stdout] test plugin::tests::plugin_result_helpers ... ok [INFO] [stdout] test middleware::tests::latency_middleware_records_timing ... ok [INFO] [stdout] test processors::tests::chain_len ... ok [INFO] [stdout] test processors::tests::content_filter_text_only ... ok [INFO] [stdout] test processors::tests::instruction_inserter_appends_to_existing ... ok [INFO] [stdout] test processors::tests::request_processor_chain ... ok [INFO] [stdout] test processors::tests::instruction_inserter_sets_instruction ... ok [INFO] [stdout] test processors::tests::request_processor_is_object_safe ... ok [INFO] [stdout] test processors::tests::response_processor_is_object_safe ... ok [INFO] [stdout] test router::tests::empty_registry ... ok [INFO] [stdout] test router::tests::names_list ... ok [INFO] [stdout] test router::tests::register_and_resolve ... ok [INFO] [stdout] test run_config::tests::clone_run_config ... ok [INFO] [stdout] test run_config::tests::default_values ... ok [INFO] [stdout] test run_config::tests::streaming_mode_serde_roundtrip ... ok [INFO] [stdout] test run_config::tests::streaming_mode_default_is_bidi ... ok [INFO] [stdout] test runner::tests::runner_auto_registers_sub_agents ... ok [INFO] [stdout] test runner::tests::runner_handles_transfer ... ok [INFO] [stdout] test runner::tests::runner_fails_on_unknown_transfer_target ... ok [INFO] [stdout] test runner::tests::runner_preserves_state_across_transfer ... ok [INFO] [stdout] test runner::tests::runner_propagates_errors ... ok [INFO] [stdout] test runner::tests::runner_with_initial_state ... ok [INFO] [stdout] test session::schema_tests::postgres_schema_has_indexes ... ok [INFO] [stdout] test session::schema_tests::postgres_schema_has_tables ... ok [INFO] [stdout] test session::schema_tests::postgres_schema_uses_jsonb ... ok [INFO] [stdout] test runner::tests::runner_runs_single_agent ... ok [INFO] [stdout] test session::schema_tests::sqlite_schema_has_indexes ... ok [INFO] [stdout] test session::schema_tests::sqlite_schema_has_tables ... ok [INFO] [stdout] test session::schema_tests::sqlite_schema_uses_text_for_json ... ok [INFO] [stdout] test session::sqlite::tests::create_and_get ... ok [INFO] [stdout] test session::sqlite::tests::db_path ... ok [INFO] [stdout] test session::sqlite::tests::in_memory_config ... ok [INFO] [stdout] test session::tests::append_and_get_events ... ok [INFO] [stdout] test session::tests::append_event_to_nonexistent_session ... ok [INFO] [stdout] test session::tests::create_and_get_session ... ok [INFO] [stdout] test session::tests::delete_session_removes_it ... ok [INFO] [stdout] test session::tests::session_service_is_object_safe ... ok [INFO] [stdout] test session::types::tests::session_id_display ... ok [INFO] [stdout] test session::types::tests::session_id_equality ... ok [INFO] [stdout] test session::tests::list_sessions_filters_by_app_and_user ... ok [INFO] [stdout] test session::types::tests::session_new ... ok [INFO] [stdout] test state::tests::clear_prefix_also_clears_delta ... ok [INFO] [stdout] test state::tests::clear_prefix_no_matching_keys_is_noop ... ok [INFO] [stdout] test state::tests::clear_prefix_via_turn_accessor ... ok [INFO] [stdout] test state::tests::delta_commit_merges_to_inner ... ok [INFO] [stdout] test state::tests::clear_prefix_removes_matching_keys ... ok [INFO] [stdout] test state::tests::delta_has_delta_reports_correctly ... ok [INFO] [stdout] test state::tests::delta_rollback_discards_changes ... ok [INFO] [stdout] test state::tests::delta_snapshot ... ok [INFO] [stdout] test state::tests::delta_tracking_writes_to_delta ... ok [INFO] [stdout] test state::tests::derived_missing_key_returns_none ... ok [INFO] [stdout] test state::tests::derived_read_only_contains ... ok [INFO] [stdout] test state::tests::derived_read_only_get ... ok [INFO] [stdout] test state::tests::derived_read_only_get_raw ... ok [INFO] [stdout] test state::tests::derived_read_only_keys ... ok [INFO] [stdout] test state::tests::diff_values_detects_changed_value ... ok [INFO] [stdout] test state::tests::diff_values_detects_new_key ... ok [INFO] [stdout] test state::tests::diff_values_detects_removed_key ... ok [INFO] [stdout] test state::tests::diff_values_multiple_keys_mixed_changes ... ok [INFO] [stdout] test state::tests::diff_values_no_change ... ok [INFO] [stdout] test state::tests::get_derived_fallback_skipped_for_prefixed_keys ... ok [INFO] [stdout] test state::tests::get_derived_fallback_with_delta_tracking ... ok [INFO] [stdout] test state::tests::get_falls_back_to_derived_prefix ... ok [INFO] [stdout] test state::tests::get_missing_returns_none ... ok [INFO] [stdout] test state::tests::get_prefers_direct_key_over_derived ... ok [INFO] [stdout] test state::tests::merge_states ... ok [INFO] [stdout] test state::tests::modify_increment_existing ... ok [INFO] [stdout] test state::tests::modify_uses_default_when_missing ... ok [INFO] [stdout] test state::tests::modify_with_delta_tracking ... ok [INFO] [stdout] test state::tests::no_delta_tracking_preserves_existing_behavior ... ok [INFO] [stdout] test state::tests::pick_subset ... ok [INFO] [stdout] test state::tests::prefix_app_set_and_get ... ok [INFO] [stdout] test state::tests::prefix_bg_set_and_get ... ok [INFO] [stdout] test state::tests::prefix_contains_and_remove ... ok [INFO] [stdout] test state::tests::prefix_keys ... ok [INFO] [stdout] test state::tests::prefix_session_contains_and_remove ... ok [INFO] [stdout] test state::tests::prefix_session_set_and_get ... ok [INFO] [stdout] test state::tests::prefix_temp_set_and_get ... ok [INFO] [stdout] test state::tests::prefix_turn_keys ... ok [INFO] [stdout] test state::tests::prefix_turn_set_and_get ... ok [INFO] [stdout] test state::tests::prefix_user_set_and_get ... ok [INFO] [stdout] test state::tests::prefix_with_delta_tracking ... ok [INFO] [stdout] test state::tests::remove_returns_value ... ok [INFO] [stdout] test state::tests::rename_key ... ok [INFO] [stdout] test state::tests::set_and_get_json ... ok [INFO] [stdout] test state::tests::set_and_get_string ... ok [INFO] [stdout] test state::tests::set_committed_bypasses_delta ... ok [INFO] [stdout] test state::tests::snapshot_values_captures_existing_keys ... ok [INFO] [stdout] test state::tests::snapshot_values_empty_keys ... ok [INFO] [stdout] test state::tests::state_key_get_and_set ... ok [INFO] [stdout] test state::tests::state_key_get_missing ... ok [INFO] [stdout] test state::tests::state_key_interop_with_raw ... ok [INFO] [stdout] test state::tests::state_key_string_type ... ok [INFO] [stdout] test state::tests::state_key_with ... ok [INFO] [stdout] test state::tests::with_derived_fallback_skipped_for_prefixed ... ok [INFO] [stdout] test state::tests::with_falls_back_to_derived ... ok [INFO] [stdout] test state::tests::with_falls_back_to_inner_when_not_in_delta ... ok [INFO] [stdout] test state::tests::with_on_prefixed_state ... ok [INFO] [stdout] test state::tests::with_on_read_only_prefixed_state ... ok [INFO] [stdout] test state::tests::with_reads_from_delta_first ... ok [INFO] [stdout] test state::tests::with_reads_from_inner ... ok [INFO] [stdout] test state::tests::with_returns_none_for_missing ... ok [INFO] [stdout] test telemetry::setup::tests::telemetry_setup_builder_chain ... ok [INFO] [stdout] test telemetry::setup::tests::telemetry_setup_clone ... ok [INFO] [stdout] test telemetry::setup::tests::telemetry_setup_defaults ... ok [INFO] [stdout] test telemetry::tests::telemetry_middleware_hooks_dont_panic ... ok [INFO] [stdout] test text::tests::dispatch_and_join_round_trip ... ok [INFO] [stdout] test text::tests::fallback_empty_returns_error ... ok [INFO] [stdout] test text::tests::fallback_returns_first_success ... ok [INFO] [stdout] test text::tests::fn_agent_can_fail ... ok [INFO] [stdout] test text::tests::fn_agent_transforms_state ... ok [INFO] [stdout] test text::tests::fallback_returns_last_error ... ok [INFO] [stdout] test text::tests::join_with_target_names ... ok [INFO] [stdout] test text::tests::llm_text_agent_dispatches_tools ... ok [INFO] [stdout] test text::tests::llm_text_agent_propagates_llm_error ... ok [INFO] [stdout] test text::tests::llm_text_agent_reads_input_from_state ... ok [INFO] [stdout] test text::tests::llm_text_agent_returns_text ... ok [INFO] [stdout] test text::tests::loop_breaks_on_predicate ... ok [INFO] [stdout] test text::tests::loop_runs_max_iterations ... ok [INFO] [stdout] test text::tests::map_over_empty_list ... ok [INFO] [stdout] test text::tests::map_over_iterates_items ... ok [INFO] [stdout] test text::tests::parallel_fails_if_any_fails ... ok [INFO] [stdout] test text::tests::parallel_runs_concurrently ... ok [INFO] [stdout] test text::tests::race_empty_returns_error ... ok [INFO] [stdout] test text::tests::race_returns_first_to_complete ... ok [INFO] [stdout] test text::tests::route_dispatches_matching_rule ... ok [INFO] [stdout] test text::tests::route_uses_default_when_no_match ... ok [INFO] [stdout] test text::tests::sequential_chains_agents ... ok [INFO] [stdout] test text::tests::sequential_empty_returns_empty ... ok [INFO] [stdout] test text::tests::sequential_stops_on_error ... ok [INFO] [stdout] test text::tests::tap_observes_state ... ok [INFO] [stdout] test text::tests::text_agent_is_object_safe ... ok [INFO] [stdout] test text::tests::timeout_returns_result_within_limit ... ok [INFO] [stdout] test text_agent_tool::tests::args_injected_into_state ... ok [INFO] [stdout] test text_agent_tool::tests::basic_dispatch ... ok [INFO] [stdout] test text_agent_tool::tests::custom_parameters ... ok [INFO] [stdout] test text_agent_tool::tests::error_propagation ... ok [INFO] [stdout] test text_agent_tool::tests::from_arc_constructor ... ok [INFO] [stdout] test text_agent_tool::tests::state_shared_bidirectionally ... ok [INFO] [stdout] test text_agent_tool::tests::tool_metadata ... ok [INFO] [stdout] test text_runner::tests::custom_session_service ... ok [INFO] [stdout] test llm_agent::tests::event_loop_dispatches_tool_call ... ok [INFO] [stdout] test text_runner::tests::run_ephemeral ... ok [INFO] [stdout] test text_runner::tests::run_resumes_existing_session ... ok [INFO] [stdout] test text_runner::tests::run_with_nonexistent_session_errors ... ok [INFO] [stdout] test text_runner::tests::run_with_session_creates_and_persists ... ok [INFO] [stdout] test tool::tests::build_response_error ... ok [INFO] [stdout] test tool::tests::build_response_success ... ok [INFO] [stdout] test tool::tests::classify_tool ... ok [INFO] [stdout] test tool::tests::call_unknown_tool_returns_error ... ok [INFO] [stdout] test tool::tests::default_timeout_is_30s ... ok [INFO] [stdout] test tool::tests::empty_dispatcher ... ok [INFO] [stdout] test tool::tests::register_and_call_function_tool ... ok [INFO] [stdout] test tool::tests::to_tool_declarations ... ok [INFO] [stdout] test tool::tests::simple_tool_closure ... ok [INFO] [stdout] test tool::tests::tool_completes_before_timeout ... ok [INFO] [stdout] test tool::tests::tool_dispatcher_implements_tool_provider ... ok [INFO] [stdout] test llm_agent::tests::event_loop_handles_unknown_tool ... ok [INFO] [stdout] test tool::tests::typed_tool_auto_generates_schema ... ok [INFO] [stdout] test tool::tests::typed_tool_deserializes_args ... ok [INFO] [stdout] test llm_agent::tests::event_loop_tool_failure_emits_failed_event ... ok [INFO] [stdout] test tool::tests::typed_tool_invalid_args_returns_error ... ok [INFO] [stdout] test tool::tests::typed_tool_registers_in_dispatcher ... ok [INFO] [stdout] test tool::tests::with_timeout_overrides_default ... ok [INFO] [stdout] test tools::bash_tool::tests::blocked_command_returns_error ... ok [INFO] [stdout] test tools::bash_tool::tests::policy_allows_all_by_default ... ok [INFO] [stdout] test tools::bash_tool::tests::policy_blocks_unmatched_prefix ... ok [INFO] [stdout] test tools::bash_tool::tests::policy_rejects_empty_command ... ok [INFO] [stdout] test tools::bash_tool::tests::execute_simple_command ... ok [INFO] [stdout] test tools::bash_tool::tests::tool_metadata ... ok [INFO] [stdout] test tools::example_tool::tests::creates_instruction_if_none ... ok [INFO] [stdout] test tools::example_tool::tests::from_provider ... ok [INFO] [stdout] test tools::example_tool::tests::injects_examples ... ok [INFO] [stdout] test tools::example_tool::tests::empty_examples_noop ... ok [INFO] [stdout] test tools::exit_loop::tests::no_parameters ... ok [INFO] [stdout] test tools::exit_loop::tests::call_returns_success ... ok [INFO] [stdout] test tools::exit_loop::tests::tool_name_and_description ... ok [INFO] [stdout] test tools::get_user_choice::tests::call_with_options ... ok [INFO] [stdout] test tools::get_user_choice::tests::missing_options_error ... ok [INFO] [stdout] test tools::get_user_choice::tests::tool_metadata ... ok [INFO] [stdout] test tools::google_search::tests::empty_model_string_is_noop ... ok [INFO] [stdout] test tools::google_search::tests::full_resource_path_gemini1 ... ok [INFO] [stdout] test tools::google_search::tests::full_resource_path_gemini2 ... ok [INFO] [stdout] test tools::google_search::tests::gemini1_adds_google_search_retrieval ... ok [INFO] [stdout] test tools::google_search::tests::gemini1_0_adds_google_search_retrieval ... ok [INFO] [stdout] test tools::google_search::tests::gemini2_0_adds_google_search ... ok [INFO] [stdout] test tools::google_search::tests::gemini2_adds_google_search ... ok [INFO] [stdout] test tools::google_search::tests::gemini3_future_version ... ok [INFO] [stdout] test tools::google_search::tests::preserves_existing_tools ... ok [INFO] [stdout] test tools::google_search::tests::unknown_model_is_noop ... ok [INFO] [stdout] test tools::google_search::tests::non_gemini_model_is_noop ... ok [INFO] [stdout] test tools::load_memory::tests::call_with_query ... ok [INFO] [stdout] test tools::load_memory::tests::tool_metadata ... ok [INFO] [stdout] test tools::long_running::tests::description_format_is_correct ... ok [INFO] [stdout] test tools::long_running::tests::call_delegates_to_inner ... ok [INFO] [stdout] test tools::long_running::tests::description_is_augmented ... ok [INFO] [stdout] test tools::long_running::tests::is_long_running_returns_true ... ok [INFO] [stdout] test tools::long_running::tests::name_delegates_to_inner ... ok [INFO] [stdout] test tools::long_running::tests::parameters_delegates_to_inner ... ok [INFO] [stdout] test tools::mcp::tests::connection_params_sse_no_headers ... ok [INFO] [stdout] test tools::mcp::tests::connection_params_stdio ... ok [INFO] [stdout] test tools::mcp::tests::connection_params_stdio_no_timeout ... ok [INFO] [stdout] test tools::mcp::tests::mcp_error_display ... ok [INFO] [stdout] test tools::mcp::tests::mcp_tool_call_delegates_to_session_manager ... ok [INFO] [stdout] test tools::mcp::tests::connection_params_sse ... ok [INFO] [stdout] test tools::mcp::tests::mcp_tool_name_description_parameters ... ok [INFO] [stdout] test tools::mcp::tests::mcp_tool_no_schema ... ok [INFO] [stdout] test tools::mcp::tests::mcp_toolset_get_tools_returns_empty ... ok [INFO] [stdout] test tools::mcp::tests::mcp_toolset_close_is_noop ... ok [INFO] [stdout] test tools::mcp::tests::mcp_toolset_no_filter_by_default ... ok [INFO] [stdout] test tools::mcp::tests::mcp_toolset_with_filter_stores_filter ... ok [INFO] [stdout] test tools::mcp::tests::mcp_toolset_session_manager_accessor ... ok [INFO] [stdout] test tools::mcp::tests::session_manager_call_tool_returns_not_connected ... ok [INFO] [stdout] test tools::mcp::tests::session_manager_params_accessor ... ok [INFO] [stdout] test tools::preload_memory::tests::creates_instruction_if_none ... ok [INFO] [stdout] test tools::mcp::tests::session_manager_list_tools_returns_empty ... ok [INFO] [stdout] test tools::preload_memory::tests::empty_memories_noop ... ok [INFO] [stdout] test tools::preload_memory::tests::injects_memories_into_instruction ... ok [INFO] [stdout] test tools::retrieval::files::tests::chunk_long_text ... ok [INFO] [stdout] test tools::retrieval::files::tests::chunk_short_text ... ok [INFO] [stdout] test tools::retrieval::files::tests::retrieve_from_nonexistent_file ... ok [INFO] [stdout] test tools::retrieval::base::tests::retrieval_result_serde ... ok [INFO] [stdout] test tools::retrieval::vertex_ai_rag::tests::tool_metadata ... ok [INFO] [stdout] test tools::retrieval::vertex_ai_rag::tests::retrieve_returns_empty_stub ... ok [INFO] [stdout] test tools::transfer_to_agent::tests::agent_names_accessor ... ok [INFO] [stdout] test tools::transfer_to_agent::tests::invalid_agent_name ... ok [INFO] [stdout] test tools::transfer_to_agent::tests::missing_agent_name ... ok [INFO] [stdout] test tools::transfer_to_agent::tests::parameters_include_enum ... ok [INFO] [stdout] test tools::url_context::tests::gemini1_is_noop ... ok [INFO] [stdout] test text::tests::join_with_timeout ... ok [INFO] [stdout] test tools::url_context::tests::gemini2_adds_url_context ... ok [INFO] [stdout] test tools::url_context::tests::non_gemini_is_noop ... ok [INFO] [stdout] test tools::vertex_ai_search::tests::call_with_query ... ok [INFO] [stdout] test tools::vertex_ai_search::tests::missing_query ... ok [INFO] [stdout] test tools::vertex_ai_search::tests::tool_metadata ... ok [INFO] [stdout] test toolset::tests::empty_toolset ... ok [INFO] [stdout] test toolset::tests::filter_by_name ... ok [INFO] [stdout] test toolset::tests::filter_by_nonexistent_name ... ok [INFO] [stdout] test toolset::tests::static_toolset_get_tools ... ok [INFO] [stdout] test toolset::tests::toolset_is_object_safe ... ok [INFO] [stdout] test utils::model_name::tests::extract_empty_string ... ok [INFO] [stdout] test utils::model_name::tests::extract_from_full_path ... ok [INFO] [stdout] test utils::model_name::tests::extract_from_simple_name ... ok [INFO] [stdout] test utils::model_name::tests::extract_non_gemini_full_path ... ok [INFO] [stdout] test tools::transfer_to_agent::tests::valid_transfer ... ok [INFO] [stdout] test utils::model_name::tests::extract_preserves_suffixes ... ok [INFO] [stdout] test utils::model_name::tests::gemini1_full_path ... ok [INFO] [stdout] test utils::model_name::tests::gemini2_not_gemini1 ... ok [INFO] [stdout] test utils::model_name::tests::gemini1_models ... ok [INFO] [stdout] test utils::model_name::tests::gemini2_or_above_negative ... ok [INFO] [stdout] test utils::model_name::tests::gemini2_or_above_edge_cases ... ok [INFO] [stdout] test utils::model_name::tests::gemini2_or_above_full_path ... ok [INFO] [stdout] test utils::model_name::tests::gemini2_or_above_positive ... ok [INFO] [stdout] test utils::model_name::tests::gemini2_or_above_non_gemini ... ok [INFO] [stdout] test utils::model_name::tests::non_gemini_model ... ok [INFO] [stdout] test utils::model_name::tests::gemini_model_simple ... ok [INFO] [stdout] test utils::model_name::tests::gemini_model_full_path ... ok [INFO] [stdout] test utils::variant::tests::gemini_api_empty_string ... ok [INFO] [stdout] test utils::variant::tests::gemini_api_false ... ok [INFO] [stdout] test utils::model_name::tests::non_gemini_not_gemini1 ... ok [INFO] [stdout] test utils::variant::tests::gemini_api_unset ... ok [INFO] [stdout] test utils::variant::tests::vertex_ai_mixed_case ... ok [INFO] [stdout] test utils::variant::tests::gemini_api_zero ... ok [INFO] [stdout] test utils::variant::tests::vertex_ai_one ... ok [INFO] [stdout] test utils::variant::tests::vertex_ai_true_lowercase ... ok [INFO] [stdout] test utils::variant::tests::vertex_ai_true_uppercase ... ok [INFO] [stdout] test text::tests::timeout_returns_error_when_exceeded ... ok [INFO] [stdout] test tool::tests::call_function_uses_default_timeout ... ok [INFO] [stdout] test tool::tests::tool_cancelled_returns_error ... ok [INFO] [stdout] test tool::tests::tool_timeout_returns_error ... ok [INFO] [stdout] test live::processor::tests::background_tool_sends_ack_immediately ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 869 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.59s [INFO] [stdout] [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-bc56f1bc4396dc11) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test agent_tool_in_llm_agent ... ok [INFO] [stdout] test state_preserved_across_agent_tool ... ok [INFO] [stdout] test runner_transfer_cycle ... ok [INFO] [stdout] test events_emitted_in_order ... ok [INFO] [stdout] test middleware_chain_called_in_order ... ok [INFO] [stderr] Doc-tests gemini_adk_rs [INFO] [stdout] test full_tool_call_roundtrip ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 19 tests [INFO] [stdout] test src/live/background_agent_dispatch.rs - live::background_agent_dispatch::BackgroundAgentDispatcher (line 21) ... ignored [INFO] [stdout] test src/live/background_tool.rs - live::background_tool::ToolExecutionMode (line 100) ... ignored [INFO] [stdout] test src/live/background_tool.rs - live::background_tool::ToolExecutionMode (line 114) ... ignored [INFO] [stdout] test src/live/context_builder.rs - live::context_builder (line 29) ... ignored [INFO] [stdout] test src/live/context_builder.rs - live::context_builder::ContextBuilder (line 244) ... ignored [INFO] [stdout] test src/live/steering.rs - live::steering::ContextDelivery (line 142) ... ignored [INFO] [stdout] test src/live/steering.rs - live::steering::SteeringMode (line 32) ... ignored [INFO] [stdout] test src/middleware/latency.rs - middleware::latency::LatencyMiddleware (line 30) ... ignored [INFO] [stdout] test src/middleware/mod.rs - middleware::Middleware (line 26) ... ignored [INFO] [stdout] test src/middleware/retry.rs - middleware::retry::RetryMiddleware (line 17) ... ignored [INFO] [stdout] test src/runner.rs - runner::Runner (line 26) ... ignored [INFO] [stdout] test src/state.rs - state::StateKey (line 17) ... ignored [INFO] [stdout] test src/text_agent_tool.rs - text_agent_tool::TextAgentTool (line 38) ... ignored [INFO] [stdout] test src/tool/dispatcher.rs - tool::dispatcher::ToolDispatcher::new (line 29) ... ignored [INFO] [stdout] test src/tool/mod.rs - tool::ToolFunction (line 26) ... ignored [INFO] [stdout] test src/tool/simple.rs - tool::simple::SimpleTool::new (line 30) ... ignored [INFO] [stdout] test src/tool/typed.rs - tool::typed::TypedTool (line 22) ... ignored [INFO] [stdout] test src/telemetry/setup.rs - telemetry::setup::TelemetrySetup (line 22) - compile ... ok [INFO] [stdout] test src/utils/model_name.rs - utils::model_name::extract_model_name (line 20) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 17 ignored; 0 measured; 0 filtered out; finished in 1.18s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "5bb588cc47cb8ddace5f99a0d561f70990e25b3ec85d1a4bd3c7d76d98c37fbb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5bb588cc47cb8ddace5f99a0d561f70990e25b3ec85d1a4bd3c7d76d98c37fbb", kill_on_drop: false }` [INFO] [stdout] 5bb588cc47cb8ddace5f99a0d561f70990e25b3ec85d1a4bd3c7d76d98c37fbb