[INFO] fetching crate a2a-protocol-server 0.3.1... [INFO] testing a2a-protocol-server-0.3.1 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210 [INFO] extracting crate a2a-protocol-server 0.3.1 into /workspace/builds/worker-5-tc2/source [INFO] started tweaking crates.io crate a2a-protocol-server 0.3.1 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate a2a-protocol-server 0.3.1 [INFO] tweaked toml for crates.io crate a2a-protocol-server 0.3.1 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate a2a-protocol-server 0.3.1 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate a2a-protocol-server 0.3.1 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 165f3c4ba55b940fd4d3764fd923a084fe5082c2b46cc2bf09c16832932a54d6 [INFO] running `Command { std: "docker" "start" "-a" "165f3c4ba55b940fd4d3764fd923a084fe5082c2b46cc2bf09c16832932a54d6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "165f3c4ba55b940fd4d3764fd923a084fe5082c2b46cc2bf09c16832932a54d6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "165f3c4ba55b940fd4d3764fd923a084fe5082c2b46cc2bf09c16832932a54d6", kill_on_drop: false }` [INFO] [stdout] 165f3c4ba55b940fd4d3764fd923a084fe5082c2b46cc2bf09c16832932a54d6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 61ed67544bfa04b32ae9a5b69758375c8468f4e88e922c0f3e59740e27e74f8f [INFO] running `Command { std: "docker" "start" "-a" "61ed67544bfa04b32ae9a5b69758375c8468f4e88e922c0f3e59740e27e74f8f", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling a2a-protocol-server v0.3.1 (/opt/rustwide/workdir) [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling uuid v1.22.0 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling a2a-protocol-types v0.3.1 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.22s [INFO] running `Command { std: "docker" "inspect" "61ed67544bfa04b32ae9a5b69758375c8468f4e88e922c0f3e59740e27e74f8f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "61ed67544bfa04b32ae9a5b69758375c8468f4e88e922c0f3e59740e27e74f8f", kill_on_drop: false }` [INFO] [stdout] 61ed67544bfa04b32ae9a5b69758375c8468f4e88e922c0f3e59740e27e74f8f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4aee9d6b3299971bb9fc30448fa4f73a97909aae427d3ab7862d5504da5354cf [INFO] running `Command { std: "docker" "start" "-a" "4aee9d6b3299971bb9fc30448fa4f73a97909aae427d3ab7862d5504da5354cf", kill_on_drop: false }` [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling zerocopy v0.8.42 [INFO] [stderr] Compiling cc v1.2.57 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling flume v0.11.1 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling libsqlite3-sys v0.30.1 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling zerocopy-derive v0.8.42 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling axum-core v0.5.6 [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 icu_provider v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling a2a-protocol-types v0.3.1 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling sqlx-core v0.8.6 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling sqlx-sqlite v0.8.6 [INFO] [stderr] Compiling sqlx v0.8.6 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling a2a-protocol-server v0.3.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 42s [INFO] running `Command { std: "docker" "inspect" "4aee9d6b3299971bb9fc30448fa4f73a97909aae427d3ab7862d5504da5354cf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4aee9d6b3299971bb9fc30448fa4f73a97909aae427d3ab7862d5504da5354cf", kill_on_drop: false }` [INFO] [stdout] 4aee9d6b3299971bb9fc30448fa4f73a97909aae427d3ab7862d5504da5354cf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] abdd89eb1a10a7cd7fdc002d24dd3cdc8c584d9babc8771434e82aa776f9cc92 [INFO] running `Command { std: "docker" "start" "-a" "abdd89eb1a10a7cd7fdc002d24dd3cdc8c584d9babc8771434e82aa776f9cc92", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.44s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/a2a_protocol_server-3ae101847675b31c) [INFO] [stdout] [INFO] [stdout] running 526 tests [INFO] [stdout] test agent_card::caching::tests::cache_config_default ... ok [INFO] [stdout] test agent_card::caching::tests::check_conditional_if_modified_since_match ... ok [INFO] [stdout] test agent_card::caching::tests::check_conditional_if_modified_since_miss ... ok [INFO] [stdout] test agent_card::caching::tests::cache_config_custom ... ok [INFO] [stdout] test agent_card::caching::tests::check_conditional_no_headers ... ok [INFO] [stdout] test agent_card::caching::tests::etag_matches_comma_list ... ok [INFO] [stdout] test agent_card::caching::tests::etag_matches_exact ... ok [INFO] [stdout] test agent_card::caching::tests::etag_no_match ... ok [INFO] [stdout] test agent_card::caching::tests::etag_matches_wildcard ... ok [INFO] [stdout] test agent_card::caching::tests::check_conditional_if_none_match_non_utf8_falls_through ... ok [INFO] [stdout] test agent_card::caching::tests::fnv1a_known_vectors ... ok [INFO] [stdout] test agent_card::caching::tests::fnv1a_xor_not_or ... ok [INFO] [stdout] test agent_card::caching::tests::format_http_date_known_timestamp ... ok [INFO] [stdout] test agent_card::caching::tests::format_http_date_midday ... ok [INFO] [stdout] test agent_card::caching::tests::format_http_date_next_day ... ok [INFO] [stdout] test agent_card::caching::tests::make_etag_different_for_different_data ... ok [INFO] [stdout] test agent_card::dynamic_handler::tests::handle_returns_500_on_producer_error ... ok [INFO] [stdout] test agent_card::dynamic_handler::tests::handle_includes_etag_header ... ok [INFO] [stdout] test agent_card::dynamic_handler::tests::conditional_request_with_matching_etag_returns_304 ... ok [INFO] [stdout] test agent_card::caching::tests::format_http_date_epoch ... ok [INFO] [stdout] test agent_card::dynamic_handler::tests::handle_includes_cors_header ... ok [INFO] [stdout] test agent_card::caching::tests::make_etag_deterministic ... ok [INFO] [stdout] test agent_card::dynamic_handler::tests::construction_with_defaults ... ok [INFO] [stdout] test agent_card::dynamic_handler::tests::fallback_error_response_returns_internal_error_json ... ok [INFO] [stdout] test agent_card::dynamic_handler::tests::response_body_deserializes_to_agent_card ... ok [INFO] [stdout] test agent_card::dynamic_handler::tests::handle_includes_cache_control_header ... ok [INFO] [stdout] test agent_card::hot_reload::tests::file_mtime_returns_none_for_missing_file ... ok [INFO] [stdout] test agent_card::dynamic_handler::tests::handle_unconditional_always_returns_full_response ... ok [INFO] [stdout] test agent_card::dynamic_handler::tests::error_response_returns_correct_status ... ok [INFO] [stdout] test agent_card::dynamic_handler::tests::conditional_request_with_non_matching_etag_returns_200 ... ok [INFO] [stdout] test agent_card::dynamic_handler::tests::handle_unconditional_returns_500_on_producer_error ... ok [INFO] [stdout] test agent_card::dynamic_handler::tests::handle_returns_correct_content_type ... ok [INFO] [stdout] test agent_card::caching::tests::format_http_date_end_of_day ... ok [INFO] [stdout] test agent_card::caching::tests::check_conditional_if_none_match_miss ... ok [INFO] [stdout] test agent_card::dynamic_handler::tests::with_max_age_overrides_default ... ok [INFO] [stdout] test agent_card::hot_reload::tests::clone_shares_state ... ok [INFO] [stdout] test agent_card::hot_reload::tests::new_handler_returns_initial_card ... ok [INFO] [stdout] test agent_card::hot_reload::tests::reload_from_json_invalid ... ok [INFO] [stdout] test agent_card::hot_reload::tests::producer_trait_returns_current_card ... ok [INFO] [stdout] test agent_card::hot_reload::tests::reload_from_json_valid ... ok [INFO] [stdout] test agent_card::static_handler::tests::static_handler_200_on_mismatched_etag ... ok [INFO] [stdout] test agent_card::static_handler::tests::static_handler_304_on_matching_etag ... ok [INFO] [stdout] test agent_card::hot_reload::tests::update_replaces_card ... ok [INFO] [stdout] test builder::tests::builder_empty_agent_card_interfaces_errors ... ok [INFO] [stdout] test agent_card::static_handler::tests::static_handler_unconditional_returns_200 ... ok [INFO] [stdout] test builder::tests::builder_debug_does_not_panic ... ok [INFO] [stdout] test builder::tests::builder_defaults_build_ok ... ok [INFO] [stdout] test builder::tests::builder_with_event_queue_write_timeout_builds_ok ... ok [INFO] [stdout] test builder::tests::builder_with_all_options ... ok [INFO] [stdout] test builder::tests::builder_zero_executor_timeout_errors ... ok [INFO] [stdout] test builder::tests::builder_zero_max_id_length_errors ... ok [INFO] [stdout] test agent_card::hot_reload::tests::reload_from_file_missing ... ok [INFO] [stdout] test builder::tests::builder_zero_max_metadata_size_errors ... ok [INFO] [stdout] test builder::tests::builder_zero_push_delivery_timeout_errors ... ok [INFO] [stdout] test builder::tests::builder_without_tenant_fields ... ok [INFO] [stdout] test builder::tests::builder_with_tenant_resolver_and_config ... ok [INFO] [stdout] test call_context::tests::new_defaults_are_empty ... ok [INFO] [stdout] test agent_card::hot_reload::tests::file_mtime_returns_some_for_existing_file ... ok [INFO] [stdout] test agent_card::hot_reload::tests::reload_from_file_valid ... ok [INFO] [stdout] test agent_card::hot_reload::tests::signal_watcher_can_be_spawned_and_aborted ... ok [INFO] [stdout] test call_context::tests::with_http_header_other_key_does_not_populate_request_id ... ok [INFO] [stdout] test call_context::tests::with_http_headers_extracts_request_id ... ok [INFO] [stdout] test call_context::tests::with_http_headers_without_request_id ... ok [INFO] [stdout] test call_context::tests::with_http_header_x_request_id_populates_request_id ... ok [INFO] [stdout] test dispatch::cors::tests::apply_headers_overwrites_existing_cors_headers ... ok [INFO] [stdout] test call_context::tests::with_caller_identity_sets_field ... ok [INFO] [stdout] test call_context::tests::with_extensions_sets_field ... ok [INFO] [stdout] test call_context::tests::with_request_id_sets_field ... ok [INFO] [stdout] test dispatch::cors::tests::apply_headers_sets_all_cors_headers ... ok [INFO] [stdout] test dispatch::cors::tests::apply_headers_with_custom_config ... ok [INFO] [stdout] test dispatch::cors::tests::config_is_cloneable ... ok [INFO] [stdout] test dispatch::cors::tests::max_age_zero_is_valid ... ok [INFO] [stdout] test dispatch::cors::tests::new_accepts_string_and_str ... ok [INFO] [stdout] test dispatch::cors::tests::preflight_response_returns_204_no_content ... ok [INFO] [stdout] test dispatch::jsonrpc::response::tests::error_response_bytes_contains_error_object ... ok [INFO] [stdout] test dispatch::jsonrpc::response::tests::extract_headers_lowercases_keys ... ok [INFO] [stdout] test dispatch::jsonrpc::response::tests::extract_headers_skips_non_ascii_values ... ok [INFO] [stdout] test dispatch::jsonrpc::response::tests::error_response_http_200_with_error ... ok [INFO] [stdout] test dispatch::jsonrpc::response::tests::error_response_has_jsonrpc_version ... ok [INFO] [stdout] test dispatch::jsonrpc::response::tests::json_response_404_status ... ok [INFO] [stdout] test dispatch::jsonrpc::response::tests::extract_headers_empty ... ok [INFO] [stdout] test dispatch::jsonrpc::response::tests::internal_serialization_error_returns_500 ... ok [INFO] [stdout] test dispatch::jsonrpc::response::tests::json_response_has_content_type_and_version_header ... ok [INFO] [stdout] test dispatch::cors::tests::new_sets_origin_and_defaults ... ok [INFO] [stdout] test dispatch::cors::tests::permissive_allows_all_origins ... ok [INFO] [stdout] test dispatch::cors::tests::preflight_response_includes_cors_headers ... ok [INFO] [stdout] test dispatch::jsonrpc::response::tests::json_response_200_status ... ok [INFO] [stdout] test dispatch::jsonrpc::response::tests::parse_error_response_has_error_code ... ok [INFO] [stdout] test dispatch::jsonrpc::response::tests::parse_params_missing_returns_invalid_params ... ok [INFO] [stdout] test dispatch::jsonrpc::response::tests::parse_error_response_returns_200_with_error_body ... ok [INFO] [stdout] test dispatch::jsonrpc::response::tests::success_response_includes_jsonrpc_version ... ok [INFO] [stdout] test dispatch::jsonrpc::response::tests::success_response_bytes_structure ... ok [INFO] [stdout] test dispatch::rest::query::tests::hex_val_digits ... ok [INFO] [stdout] test dispatch::rest::query::tests::hex_val_lowercase ... ok [INFO] [stdout] test dispatch::rest::query::tests::hex_val_invalid ... ok [INFO] [stdout] test dispatch::rest::query::tests::parse_list_tasks_query_empty ... ok [INFO] [stdout] test dispatch::jsonrpc::response::tests::parse_params_invalid_type_returns_error ... ok [INFO] [stdout] test dispatch::rest::query::tests::parse_list_tasks_query_all_params ... ok [INFO] [stdout] test dispatch::jsonrpc::response::tests::success_response_http_200_with_result ... ok [INFO] [stdout] test dispatch::rest::query::tests::hex_val_uppercase ... ok [INFO] [stdout] test dispatch::rest::query::tests::parse_list_tasks_query_with_status ... ok [INFO] [stdout] test dispatch::rest::query::tests::parse_query_param_bool_false ... ok [INFO] [stdout] test dispatch::rest::query::tests::parse_query_param_bool_missing ... ok [INFO] [stdout] test dispatch::rest::query::tests::parse_query_param_bool_true ... ok [INFO] [stdout] test dispatch::rest::query::tests::parse_query_param_empty_query ... ok [INFO] [stdout] test dispatch::rest::query::tests::parse_query_param_found ... ok [INFO] [stdout] test dispatch::rest::query::tests::parse_query_param_not_found ... ok [INFO] [stdout] test dispatch::rest::query::tests::parse_query_param_percent_encoded_value ... ok [INFO] [stdout] test dispatch::rest::query::tests::parse_query_param_plus_in_value ... ok [INFO] [stdout] test dispatch::rest::query::tests::parse_query_param_u32_invalid ... ok [INFO] [stdout] test dispatch::rest::query::tests::parse_query_param_u32_missing ... ok [INFO] [stdout] test dispatch::rest::query::tests::parse_query_param_u32_valid ... ok [INFO] [stdout] test dispatch::rest::query::tests::parse_query_param_u32_zero ... ok [INFO] [stdout] test dispatch::rest::query::tests::path_traversal_double_encoded ... ok [INFO] [stdout] test dispatch::rest::query::tests::path_traversal_raw ... ok [INFO] [stdout] test dispatch::rest::query::tests::path_traversal_safe_paths ... ok [INFO] [stdout] test dispatch::rest::query::tests::path_traversal_single_encoded ... ok [INFO] [stdout] test dispatch::rest::query::tests::percent_decode_double_encoded_dots ... ok [INFO] [stdout] test dispatch::rest::query::tests::percent_decode_encoded_chars ... ok [INFO] [stdout] test dispatch::rest::query::tests::percent_decode_invalid_sequence_passthrough ... ok [INFO] [stdout] test dispatch::rest::query::tests::percent_decode_plain_string ... ok [INFO] [stdout] test dispatch::rest::query::tests::percent_decode_plus_as_space ... ok [INFO] [stdout] test dispatch::rest::query::tests::strip_tenant_empty_tenant_name ... ok [INFO] [stdout] test dispatch::rest::query::tests::strip_tenant_no_prefix ... ok [INFO] [stdout] test dispatch::rest::query::tests::strip_tenant_no_trailing_slash ... ok [INFO] [stdout] test dispatch::rest::query::tests::strip_tenant_with_nested_path ... ok [INFO] [stdout] test dispatch::rest::query::tests::strip_tenant_with_valid_prefix ... ok [INFO] [stdout] test dispatch::rest::response::tests::build_json_response_with_empty_body ... ok [INFO] [stdout] test dispatch::rest::response::tests::build_json_response_includes_version_header ... ok [INFO] [stdout] test dispatch::rest::response::tests::extract_headers_empty ... ok [INFO] [stdout] test dispatch::rest::response::tests::error_json_response_status_and_body ... ok [INFO] [stdout] test dispatch::rest::response::tests::error_json_response_has_a2a_content_type ... ok [INFO] [stdout] test dispatch::rest::response::tests::build_json_response_various_statuses ... ok [INFO] [stdout] test dispatch::rest::response::tests::error_json_response_various_statuses ... ok [INFO] [stdout] test dispatch::rest::response::tests::extract_headers_lowercased_keys ... ok [INFO] [stdout] test dispatch::rest::response::tests::inject_field_on_non_object_is_noop ... ok [INFO] [stdout] test dispatch::rest::response::tests::health_response_status_and_body ... ok [INFO] [stdout] test dispatch::rest::response::tests::inject_field_preserves_existing ... ok [INFO] [stdout] test dispatch::rest::response::tests::inject_field_when_missing ... ok [INFO] [stdout] test dispatch::rest::response::tests::internal_error_response_has_json_body ... ok [INFO] [stdout] test dispatch::rest::response::tests::internal_error_response_is_500 ... ok [INFO] [stdout] test dispatch::rest::response::tests::json_ok_response_serializes_value ... ok [INFO] [stdout] test dispatch::rest::response::tests::server_error_http_client_maps_to_500 ... ok [INFO] [stdout] test dispatch::rest::response::tests::not_found_response_is_404 ... ok [INFO] [stdout] test dispatch::rest::response::tests::server_error_internal_maps_to_500 ... ok [INFO] [stdout] test dispatch::rest::response::tests::server_error_invalid_params_maps_to_400 ... ok [INFO] [stdout] test dispatch::rest::response::tests::server_error_invalid_state_transition_maps_to_400_equiv ... ok [INFO] [stdout] test dispatch::rest::response::tests::server_error_payload_too_large_maps_to_500 ... ok [INFO] [stdout] test dispatch::rest::response::tests::server_error_task_not_cancelable_maps_to_409 ... ok [INFO] [stdout] test dispatch::rest::response::tests::server_error_protocol_maps_to_500 ... ok [INFO] [stdout] test dispatch::rest::response::tests::server_error_method_not_found_maps_to_404 ... ok [INFO] [stdout] test dispatch::rest::response::tests::server_error_task_not_found_maps_to_404 ... ok [INFO] [stdout] test dispatch::rest::response::tests::server_error_push_not_supported_maps_to_400 ... ok [INFO] [stdout] test dispatch::tests::debug_format ... ok [INFO] [stdout] test dispatch::rest::response::tests::server_error_transport_maps_to_500 ... ok [INFO] [stdout] test dispatch::rest::tests::dispatch_config_default_query_limit ... ok [INFO] [stdout] test dispatch::rest::tests::rest_dispatcher_debug_format ... ok [INFO] [stdout] test dispatch::tests::with_max_batch_size_sets_value ... ok [INFO] [stdout] test dispatch::tests::with_max_query_string_length_sets_value ... ok [INFO] [stdout] test dispatch::rest::response::tests::server_error_serialization_maps_to_400 ... ok [INFO] [stdout] test dispatch::tests::with_body_read_timeout_sets_value ... ok [INFO] [stdout] test dispatch::tests::builder_chaining ... ok [INFO] [stdout] test dispatch::tests::with_max_request_body_size_sets_value ... ok [INFO] [stdout] test dispatch::tests::with_sse_channel_capacity_sets_value ... ok [INFO] [stdout] test error::tests::display_all_variants ... ok [INFO] [stdout] test dispatch::tests::with_sse_keep_alive_interval_sets_value ... ok [INFO] [stdout] test error::tests::display_serialization_variant ... ok [INFO] [stdout] test error::tests::from_serde_error ... ok [INFO] [stdout] test error::tests::display_http_variant ... ok [INFO] [stdout] test error::tests::source_internal_returns_none ... ok [INFO] [stdout] test error::tests::source_protocol_returns_some ... ok [INFO] [stdout] test error::tests::from_a2a_error ... ok [INFO] [stdout] test error::tests::from_hyper_error ... ok [INFO] [stdout] test error::tests::source_http_returns_some ... ok [INFO] [stdout] test error::tests::source_serialization_returns_some ... ok [INFO] [stdout] test dispatch::tests::default_values ... ok [INFO] [stdout] test executor_helpers::tests::emit_artifact_writes_to_queue ... ok [INFO] [stdout] test error::tests::source_task_not_found_returns_none ... ok [INFO] [stdout] test executor_helpers::tests::boxed_future_wraps_async_block ... ok [INFO] [stdout] test error::tests::source_transport_returns_none ... ok [INFO] [stdout] test executor_helpers::tests::is_cancelled_returns_false_initially ... ok [INFO] [stdout] test error::tests::to_a2a_error_all_variants ... ok [INFO] [stdout] test error::tests::to_a2a_error_http_variant ... ok [INFO] [stdout] test executor_helpers::tests::emit_artifact_with_append ... ok [INFO] [stdout] test executor_helpers::tests::emit_status_writes_to_queue ... ok [INFO] [stdout] test executor_helpers::tests::is_cancelled_returns_true_after_cancel ... ok [INFO] [stdout] test executor_helpers::tests::macro_cancel_form_compiles_and_runs ... ok [INFO] [stdout] test handler::event_processing::background::push_delivery::tests::deliver_push_bg_respects_total_deadline ... ok [INFO] [stdout] test handler::event_processing::background::push_delivery::tests::deliver_push_bg_logs_delivery_failure ... ok [INFO] [stdout] test handler::event_processing::background::push_delivery::tests::deliver_push_bg_with_no_sender_is_noop ... ok [INFO] [stdout] test builder::tests::builder_with_push_config_store_builds_ok ... ok [INFO] [stdout] test agent_card::static_handler::tests::static_handler_returns_etag_and_cache_headers ... ok [INFO] [stdout] test agent_card::static_handler::tests::static_handler_custom_max_age ... ok [INFO] [stdout] test agent_card::caching::tests::check_conditional_if_none_match_hit ... ok [INFO] [stdout] test handler::event_processing::background::push_delivery::tests::deliver_push_bg_with_failing_store_returns_silently ... ok [INFO] [stdout] test handler::event_processing::background::state_machine::tests::artifact_update_save_failure_reverts_artifact_list ... ok [INFO] [stdout] test handler::event_processing::background::state_machine::tests::error_event_save_failure_reverts_status ... ok [INFO] [stdout] test handler::event_processing::background::state_machine::tests::invalid_transition_save_failure_still_marks_failed ... ok [INFO] [stdout] test handler::event_processing::background::state_machine::tests::artifact_limit_enforced ... ok [INFO] [stdout] test handler::event_processing::background::state_machine::tests::process_event_bg_artifact_update_appends ... ok [INFO] [stdout] test handler::event_processing::background::state_machine::tests::process_event_bg_error_marks_failed ... ok [INFO] [stdout] test handler::event_processing::background::state_machine::tests::process_event_bg_status_update_invalid_transition_marks_failed ... ok [INFO] [stdout] test handler::event_processing::background::state_machine::tests::process_event_bg_status_update_valid_transition ... ok [INFO] [stdout] test handler::event_processing::background::state_machine::tests::status_update_save_failure_reverts_in_memory_state ... ok [INFO] [stdout] test handler::event_processing::background::state_machine::tests::task_snapshot_save_failure_reverts_to_previous ... ok [INFO] [stdout] test handler::event_processing::sync_collector::tests::collect_events_artifact_limit_enforced ... ok [INFO] [stdout] test handler::event_processing::background::state_machine::tests::process_event_bg_task_snapshot_replaces ... ok [INFO] [stdout] test handler::event_processing::sync_collector::tests::collect_events_push_delivery_failure_does_not_block ... ok [INFO] [stdout] test handler::event_processing::sync_collector::tests::collect_events_with_push_sender_delivers_notifications ... ok [INFO] [stdout] test handler::event_processing::sync_collector::tests::process_event_artifact_update_appends ... ok [INFO] [stdout] test handler::event_processing::sync_collector::tests::process_event_message_event_is_ignored ... ok [INFO] [stdout] test handler::event_processing::sync_collector::tests::process_event_invalid_state_transition_returns_error ... ok [INFO] [stdout] test handler::event_processing::sync_collector::tests::collect_events_returns_final_task ... ok [INFO] [stdout] test handler::helpers::tests::build_call_context_without_headers ... ok [INFO] [stdout] test handler::helpers::tests::validate_id_accepts_exactly_max_length ... ok [INFO] [stdout] test handler::helpers::tests::find_task_by_context_tests::context_id_too_long_returns_none ... ok [INFO] [stdout] test handler::event_processing::sync_collector::tests::process_event_error_marks_task_failed ... ok [INFO] [stdout] test handler::event_processing::sync_collector::tests::process_event_task_snapshot_replaces ... ok [INFO] [stdout] test handler::helpers::tests::build_call_context_with_empty_headers_map ... ok [INFO] [stdout] test handler::helpers::tests::build_call_context_with_headers ... ok [INFO] [stdout] test handler::helpers::tests::find_task_by_context_tests::context_id_within_limit_returns_none_for_missing ... ok [INFO] [stdout] test handler::event_processing::sync_collector::tests::process_event_self_valid_state_transition ... ok [INFO] [stdout] test handler::event_processing::background::push_delivery::tests::deliver_push_bg_logs_delivery_timeout ... ok [INFO] [stdout] test handler::helpers::tests::validate_id_accepts_normal_id ... ok [INFO] [stdout] test handler::helpers::tests::validate_id_includes_field_name_in_error ... ok [INFO] [stdout] test handler::helpers::tests::validate_id_rejects_whitespace_only ... ok [INFO] [stdout] test handler::helpers::tests::validate_id_rejects_exceeding_max_length ... ok [INFO] [stdout] test handler::lifecycle::extended_card::tests::get_extended_agent_card_error_path_records_metrics ... ok [INFO] [stdout] test handler::lifecycle::cancel_task::tests::cancel_task_not_found_returns_error ... ok [INFO] [stdout] test handler::helpers::tests::validate_id_rejects_empty_string ... ok [INFO] [stdout] test handler::lifecycle::extended_card::tests::get_extended_agent_card_no_card_returns_error ... ok [INFO] [stdout] test handler::lifecycle::cancel_task::tests::cancel_task_non_terminal_succeeds ... ok [INFO] [stdout] test handler::lifecycle::cancel_task::tests::cancel_task_error_path_records_metrics ... ok [INFO] [stdout] test handler::lifecycle::get_task::tests::get_task_not_found_returns_error ... ok [INFO] [stdout] test handler::lifecycle::get_task::tests::get_task_found_returns_task ... ok [INFO] [stdout] test handler::lifecycle::list_tasks::tests::list_tasks_returns_saved_task ... ok [INFO] [stdout] test handler::lifecycle::get_task::tests::get_task_error_path_records_metrics ... ok [INFO] [stdout] test handler::lifecycle::extended_card::tests::get_extended_agent_card_with_card_returns_ok ... ok [INFO] [stdout] test handler::lifecycle::list_tasks::tests::list_tasks_with_headers ... ok [INFO] [stdout] test handler::lifecycle::list_tasks::tests::list_tasks_with_tenant ... ok [INFO] [stdout] test handler::lifecycle::cancel_task::tests::cancel_task_terminal_state_returns_not_cancelable ... ok [INFO] [stdout] test handler::lifecycle::list_tasks::tests::list_tasks_error_path_records_metrics ... ok [INFO] [stdout] test handler::limits::tests::builder_chaining ... ok [INFO] [stdout] test handler::helpers::tests::validate_id_trims_before_length_check ... ok [INFO] [stdout] test handler::lifecycle::list_tasks::tests::list_tasks_empty_store_returns_empty ... ok [INFO] [stdout] test handler::lifecycle::subscribe::tests::resubscribe_task_not_found_returns_error ... ok [INFO] [stdout] test handler::lifecycle::subscribe::tests::resubscribe_error_path_records_error_metrics ... ok [INFO] [stdout] test handler::lifecycle::subscribe::tests::resubscribe_with_headers ... ok [INFO] [stdout] test handler::limits::tests::with_max_id_length_sets_value ... ok [INFO] [stdout] test handler::lifecycle::subscribe::tests::resubscribe_success_returns_reader ... ok [INFO] [stdout] test handler::limits::tests::with_max_metadata_size_sets_value ... ok [INFO] [stdout] test handler::lifecycle::subscribe::tests::resubscribe_task_exists_but_no_queue_returns_internal_error ... ok [INFO] [stdout] test handler::limits::tests::with_max_token_age_sets_value ... ok [INFO] [stdout] test handler::limits::tests::default_values ... ok [INFO] [stdout] test handler::limits::tests::debug_format ... ok [INFO] [stdout] test handler::lifecycle::subscribe::tests::resubscribe_with_tenant ... ok [INFO] [stdout] test handler::limits::tests::with_push_delivery_timeout_sets_value ... ok [INFO] [stdout] test handler::messaging::tests::empty_task_id_returns_invalid_params ... ok [INFO] [stdout] test handler::messaging::tests::duplicate_task_id_without_context_match_returns_error ... ok [INFO] [stdout] test handler::messaging::tests::empty_message_parts_returns_invalid_params ... ok [INFO] [stdout] test handler::messaging::tests::empty_context_id_returns_invalid_params ... ok [INFO] [stdout] test handler::messaging::tests::executor_failure_writes_failed_event ... ok [INFO] [stdout] test handler::messaging::tests::return_immediately_returns_task ... ok [INFO] [stdout] test handler::messaging::tests::cancellation_token_sweep_runs_when_map_is_full ... ok [INFO] [stdout] test handler::messaging::tests::send_message_with_request_metadata ... ok [INFO] [stdout] test handler::messaging::tests::send_message_with_headers ... ok [INFO] [stdout] test handler::messaging::tests::send_message_with_tenant ... ok [INFO] [stdout] test handler::messaging::tests::streaming_executor_failure_writes_error_event ... ok [INFO] [stdout] test handler::messaging::tests::streaming_mode_returns_stream_result ... ok [INFO] [stdout] test handler::messaging::tests::send_streaming_message_error_path_records_metrics ... ok [INFO] [stdout] test handler::messaging::tests::task_id_mismatch_returns_invalid_params ... ok [INFO] [stdout] test handler::messaging::tests::too_long_task_id_returns_invalid_params ... ok [INFO] [stdout] test handler::messaging::tests::too_long_context_id_returns_invalid_params ... ok [INFO] [stdout] test handler::messaging::tests::send_message_with_stored_task_continuation ... ok [INFO] [stdout] test handler::messaging::tests::send_message_error_path_records_metrics ... ok [INFO] [stdout] test handler::push_config::tests::delete_push_config_error_path_records_metrics ... ok [INFO] [stdout] test handler::messaging::tests::valid_message_returns_ok ... ok [INFO] [stdout] test handler::push_config::tests::delete_push_config_nonexistent_returns_ok ... ok [INFO] [stdout] test handler::push_config::tests::get_push_config_error_path_records_metrics ... ok [INFO] [stdout] test handler::push_config::tests::get_push_config_not_found_returns_invalid_params ... ok [INFO] [stdout] test handler::push_config::tests::list_push_configs_error_path_records_metrics ... ok [INFO] [stdout] test handler::push_config::tests::list_push_configs_empty_returns_empty_vec ... ok [INFO] [stdout] test handler::shutdown::tests::shutdown_is_idempotent ... ok [INFO] [stdout] test handler::push_config::tests::set_push_config_error_path_records_metrics ... ok [INFO] [stdout] test handler::push_config::tests::set_push_config_without_sender_returns_push_not_supported ... ok [INFO] [stdout] test handler::shutdown::tests::shutdown_clears_cancellation_tokens ... ok [INFO] [stdout] test handler::shutdown::tests::shutdown_completes_without_panic ... ok [INFO] [stdout] test handler::shutdown::tests::shutdown_with_timeout_completes_within_timeout ... ok [INFO] [stdout] test handler::shutdown::tests::shutdown_with_timeout_cancels_tokens ... ok [INFO] [stdout] test handler::shutdown::tests::shutdown_with_timeout_clears_cancellation_tokens ... ok [INFO] [stdout] test handler::shutdown::tests::shutdown_with_zero_timeout_still_completes ... ok [INFO] [stdout] test handler::tests::debug_shows_tenant_resolver_presence ... ok [INFO] [stdout] test handler::tests::default_build_has_no_tenant_config ... ok [INFO] [stdout] test handler::tests::default_build_has_no_tenant_resolver ... ok [INFO] [stdout] test handler::tests::handler_with_both_tenant_fields ... ok [INFO] [stdout] test handler::tests::send_message_result_response_variant ... ok [INFO] [stdout] test handler::tests::tenant_config_preserves_values ... ok [INFO] [stdout] test handler::tests::tenant_config_returns_some_when_configured ... ok [INFO] [stdout] test handler::tests::tenant_resolver_returns_none_when_not_configured ... ok [INFO] [stdout] test handler::tests::tenant_resolver_returns_some_when_configured ... ok [INFO] [stdout] test interceptor::tests::debug_shows_correct_count_after_push ... ok [INFO] [stdout] test interceptor::tests::debug_shows_count ... ok [INFO] [stdout] test interceptor::tests::empty_chain_succeeds ... ok [INFO] [stdout] test interceptor::tests::run_after_calls_interceptors_in_reverse ... ok [INFO] [stdout] test interceptor::tests::run_before_calls_interceptors_in_order ... ok [INFO] [stdout] test metrics::tests::arc_delegates_on_connection_pool_stats ... ok [INFO] [stdout] test metrics::tests::arc_delegates_on_error ... ok [INFO] [stdout] test metrics::tests::arc_delegates_on_latency ... ok [INFO] [stdout] test handler::tests::debug_impl_does_not_panic ... ok [INFO] [stdout] test metrics::tests::arc_delegates_on_request ... ok [INFO] [stdout] test metrics::tests::arc_delegates_on_response ... ok [INFO] [stdout] test metrics::tests::arc_delegates_on_queue_depth_change ... ok [INFO] [stdout] test push::config_store::tests::delete_nonexistent_is_ok ... ok [INFO] [stdout] test push::config_store::tests::delete_removes_config ... ok [INFO] [stdout] test push::config_store::tests::get_returns_none_for_missing_config ... ok [INFO] [stdout] test push::config_store::tests::list_returns_empty_for_unknown_task ... ok [INFO] [stdout] test push::config_store::tests::list_returns_only_configs_for_given_task ... ok [INFO] [stdout] test push::config_store::tests::max_configs_per_task_limit_enforced ... ok [INFO] [stdout] test push::config_store::tests::max_total_configs_limit_enforced ... ok [INFO] [stdout] test handler::tests::tenant_config_returns_none_when_not_configured ... ok [INFO] [stdout] test push::config_store::tests::overwrite_does_not_count_toward_per_task_limit ... ok [INFO] [stdout] test push::config_store::tests::overwrite_existing_config ... ok [INFO] [stdout] test push::config_store::tests::per_task_limit_does_not_block_other_tasks ... ok [INFO] [stdout] test handler::limits::tests::with_max_artifacts_per_task_sets_value ... ok [INFO] [stdout] test push::config_store::tests::set_assigns_id_when_none ... ok [INFO] [stdout] test push::config_store::tests::overwrite_does_not_count_toward_global_limit ... ok [INFO] [stdout] test push::config_store::tests::set_preserves_explicit_id ... ok [INFO] [stdout] test push::sender::tests::accepts_clean_header_value ... ok [INFO] [stdout] test push::sender::tests::accepts_http_scheme ... ok [INFO] [stdout] test push::sender::tests::accepts_public_ip ... ok [INFO] [stdout] test push::config_store::tests::set_then_get_round_trip ... ok [INFO] [stdout] test push::sender::tests::accepts_public_url ... ok [INFO] [stdout] test push::sender::tests::dns_accepts_ip_literal_public ... ok [INFO] [stdout] test push::sender::tests::dns_rejects_invalid_scheme ... ok [INFO] [stdout] test push::sender::tests::dns_rejects_localhost_hostname ... ok [INFO] [stdout] test push::sender::tests::dns_rejects_loopback_ip_literal ... ok [INFO] [stdout] test push::sender::tests::dns_rejects_missing_host ... ok [INFO] [stdout] test push::sender::tests::dns_rejects_private_ip_literal ... ok [INFO] [stdout] test push::sender::tests::http_push_sender_allow_private_urls ... ok [INFO] [stdout] test push::sender::tests::http_push_sender_default ... ok [INFO] [stdout] test push::sender::tests::http_push_sender_with_retry_policy ... ok [INFO] [stdout] test push::sender::tests::push_retry_policy_default ... ok [INFO] [stdout] test push::sender::tests::push_retry_policy_with_backoff ... ok [INFO] [stdout] test push::sender::tests::push_retry_policy_with_max_attempts ... ok [INFO] [stdout] test push::sender::tests::rejects_cgnat_range ... ok [INFO] [stdout] test push::sender::tests::rejects_dot_local ... ok [INFO] [stdout] test push::sender::tests::rejects_dot_internal ... ok [INFO] [stdout] test push::sender::tests::rejects_file_scheme ... ok [INFO] [stdout] test push::sender::tests::rejects_ftp_scheme ... ok [INFO] [stdout] test push::sender::tests::rejects_header_with_cr ... ok [INFO] [stdout] test push::sender::tests::rejects_header_with_crlf ... ok [INFO] [stdout] test push::sender::tests::rejects_header_with_lf ... ok [INFO] [stdout] test push::sender::tests::rejects_ipv6_loopback ... ok [INFO] [stdout] test push::sender::tests::rejects_ipv6_link_local ... ok [INFO] [stdout] test push::sender::tests::rejects_ipv6_unique_local ... ok [INFO] [stdout] test push::sender::tests::rejects_link_local ... ok [INFO] [stdout] test push::sender::tests::rejects_localhost ... ok [INFO] [stdout] test push::sender::tests::rejects_loopback_ipv4 ... ok [INFO] [stdout] test push::sender::tests::rejects_private_10_range ... ok [INFO] [stdout] test push::sender::tests::rejects_private_172_range ... ok [INFO] [stdout] test push::sender::tests::rejects_private_192_168_range ... ok [INFO] [stdout] test push::sender::tests::rejects_unspecified_ipv4 ... ok [INFO] [stdout] test push::sender::tests::rejects_url_without_host ... ok [INFO] [stdout] test push::sender::tests::rejects_url_without_scheme ... ok [INFO] [stdout] test push::tenant_config_store::tests::default_impl_creates_empty_store ... ok [INFO] [stdout] test push::tenant_config_store::tests::default_is_same_as_new ... ok [INFO] [stdout] test push::tenant_config_store::tests::delete_scoped_to_tenant ... ok [INFO] [stdout] test push::tenant_config_store::tests::list_scoped_to_tenant ... ok [INFO] [stdout] test push::tenant_config_store::tests::new_store_has_zero_tenants ... ok [INFO] [stdout] test push::tenant_config_store::tests::set_and_get_within_tenant_scope ... ok [INFO] [stdout] test push::tenant_config_store::tests::tenant_isolation ... ok [INFO] [stdout] test push::tenant_config_store::tests::tenant_count_tracks_distinct_tenants ... ok [INFO] [stdout] test push::tenant_config_store::tests::with_limits_enforces_max_tenants ... ok [INFO] [stdout] test rate_limit::tests::after_hook_is_noop ... ok [INFO] [stdout] test push::tenant_config_store::tests::with_limits_enforces_per_task_config_limit ... ok [INFO] [stdout] test rate_limit::tests::allows_requests_within_limit ... ok [INFO] [stdout] test rate_limit::tests::check_triggers_cleanup_at_interval ... ok [INFO] [stdout] test rate_limit::tests::cleanup_stale_buckets_removes_old_entries ... ok [INFO] [stdout] test rate_limit::tests::cleanup_does_not_run_on_first_call ... ok [INFO] [stdout] test rate_limit::tests::anonymous_fallback_when_no_identity ... ok [INFO] [stdout] test rate_limit::tests::default_config_values ... ok [INFO] [stdout] test rate_limit::tests::debug_format_includes_config ... ok [INFO] [stdout] test rate_limit::tests::different_callers_have_separate_limits ... ok [INFO] [stdout] test rate_limit::tests::fast_path_rate_limit_exceeded ... ok [INFO] [stdout] test rate_limit::tests::fast_path_window_advancement_resets_count ... ok [INFO] [stdout] test rate_limit::tests::slow_path_double_check_same_window ... ok [INFO] [stdout] test rate_limit::tests::rejects_requests_over_limit ... ok [INFO] [stdout] test rate_limit::tests::concurrent_rate_limit_checks ... ok [INFO] [stdout] test rate_limit::tests::slow_path_double_check_stale_window ... ok [INFO] [stdout] test rate_limit::tests::slow_path_rate_limit_exceeded ... ok [INFO] [stdout] test rate_limit::tests::window_number_correctness ... ok [INFO] [stdout] test rate_limit::tests::x_forwarded_for_single_ip ... ok [INFO] [stdout] test request_context::tests::builder_methods_can_be_chained ... ok [INFO] [stdout] test request_context::tests::new_defaults_optional_fields_to_none ... ok [INFO] [stdout] test request_context::tests::new_provides_uncancelled_token ... ok [INFO] [stdout] test handler::messaging::tests::executor_timeout_returns_failed_task ... ok [INFO] [stdout] test request_context::tests::request_context_is_cloneable ... ok [INFO] [stdout] test request_context::tests::request_context_is_debug ... ok [INFO] [stdout] test rate_limit::tests::stale_bucket_cleanup ... ok [INFO] [stdout] test request_context::tests::with_stored_task_preserves_other_fields ... ok [INFO] [stdout] test request_context::tests::with_stored_task_sets_task ... ok [INFO] [stdout] test serve::tests::serve_with_addr_handles_multiple_connections ... ok [INFO] [stdout] test handler::limits::tests::with_max_cancellation_tokens_sets_value ... ok [INFO] [stdout] test request_context::tests::new_sets_required_fields ... ok [INFO] [stdout] test request_context::tests::with_metadata_sets_value ... ok [INFO] [stdout] test handler::messaging::tests::stale_cancellation_tokens_cleaned_up ... ok [INFO] [stdout] test store::task_store::in_memory::tests::count_reflects_saves_and_deletes ... ok [INFO] [stdout] test store::task_store::in_memory::tests::default_config_has_expected_values ... ok [INFO] [stdout] test store::task_store::in_memory::tests::default_creates_new_store ... ok [INFO] [stdout] test store::task_store::in_memory::tests::delete_nonexistent_is_ok ... ok [INFO] [stdout] test serve::tests::serve_with_addr_returns_bound_address ... ok [INFO] [stdout] test store::task_store::in_memory::tests::count_empty_store ... ok [INFO] [stdout] test store::task_store::in_memory::tests::delete_removes_task ... ok [INFO] [stdout] test store::task_store::in_memory::tests::insert_if_absent_inserts_new_task ... ok [INFO] [stdout] test store::task_store::in_memory::tests::insert_if_absent_rejects_duplicate ... ok [INFO] [stdout] test store::task_store::in_memory::tests::get_nonexistent_returns_none ... ok [INFO] [stdout] test store::task_store::in_memory::tests::list_filters_by_context_id ... ok [INFO] [stdout] test store::task_store::in_memory::tests::list_filters_by_status ... ok [INFO] [stdout] test store::task_store::in_memory::tests::list_empty_store_returns_empty ... ok [INFO] [stdout] test store::task_store::in_memory::tests::list_invalid_page_token_returns_empty ... ok [INFO] [stdout] test handler::shutdown::tests::shutdown_with_timeout_drains_active_queues ... ok [INFO] [stdout] test store::task_store::in_memory::tests::list_page_size_zero_uses_default ... ok [INFO] [stdout] test store::task_store::in_memory::tests::list_pagination_page_size ... ok [INFO] [stdout] test store::task_store::in_memory::tests::save_and_get_returns_task ... ok [INFO] [stdout] test store::task_store::in_memory::tests::save_overwrites_existing_task ... ok [INFO] [stdout] test store::task_store::in_memory::tests::list_returns_all_tasks_sorted_by_id ... ok [INFO] [stdout] test store::task_store::in_memory::tests::ttl_eviction_keeps_fresh_terminal_tasks ... ok [INFO] [stdout] test store::task_store::in_memory::tests::capacity_eviction_falls_back_to_non_terminal_when_needed ... ok [INFO] [stdout] test store::task_store::tests::default_count_returns_zero ... ok [INFO] [stdout] test store::task_store::tests::minimal_store_save_get_list_delete ... ok [INFO] [stdout] test store::task_store::tests::task_store_config_clone_and_debug ... ok [INFO] [stdout] test store::task_store::tests::task_store_config_default_values ... ok [INFO] [stdout] test push::sender::tests::dns_rejects_unresolvable_hostname ... ok [INFO] [stdout] test store::tenant::store::tests::default_creates_new_tenant_store ... ok [INFO] [stdout] test store::tenant::store::tests::default_tenant_store_config ... ok [INFO] [stdout] test store::tenant::store::tests::existing_tenant_does_not_count_against_limit ... ok [INFO] [stdout] test store::tenant::store::tests::max_tenants_limit_enforced ... ok [INFO] [stdout] test store::tenant::store::tests::no_tenant_context_uses_default_partition ... ok [INFO] [stdout] test store::tenant::store::tests::get_store_double_check_path ... ok [INFO] [stdout] test store::tenant::store::tests::prune_empty_tenants_removes_empty_partitions ... ok [INFO] [stdout] test store::tenant::store::tests::run_eviction_all_runs_without_error ... ok [INFO] [stdout] test store::tenant::store::tests::tenant_context_default_is_empty_string ... ok [INFO] [stdout] test store::tenant::store::tests::tenant_context_nested_scopes ... ok [INFO] [stdout] test store::tenant::store::tests::tenant_context_scope_sets_and_restores ... ok [INFO] [stdout] test store::tenant::store::tests::tenant_count_reflects_active_tenants ... ok [INFO] [stdout] test store::tenant::store::tests::tenant_isolation_insert_if_absent ... ok [INFO] [stdout] test store::tenant::store::tests::tenant_isolation_count ... ok [INFO] [stdout] test store::tenant::store::tests::tenant_isolation_delete ... ok [INFO] [stdout] test streaming::event_queue::in_memory::tests::counting_writer_flush_is_noop ... ok [INFO] [stdout] test streaming::event_queue::in_memory::tests::event_within_size_limit_is_accepted ... ok [INFO] [stdout] test store::tenant::store::tests::tenant_isolation_save_and_get ... ok [INFO] [stdout] test streaming::event_queue::in_memory::tests::oversized_event_is_rejected ... ok [INFO] [stdout] test store::tenant::store::tests::tenant_isolation_list ... ok [INFO] [stdout] test streaming::event_queue::in_memory::tests::subscribe_creates_independent_reader ... ok [INFO] [stdout] test streaming::event_queue::in_memory::tests::read_returns_none_on_empty_closed_queue ... ok [INFO] [stdout] test streaming::event_queue::in_memory::tests::close_is_no_op_and_succeeds ... ok [INFO] [stdout] test rate_limit::tests::uses_x_forwarded_for_when_no_identity ... ok [INFO] [stdout] test streaming::event_queue::in_memory::tests::subscriber_only_sees_events_after_subscribe ... ok [INFO] [stdout] test store::task_store::in_memory::tests::ttl_eviction_removes_expired_terminal_tasks ... ok [INFO] [stdout] test handler::event_processing::sync_collector::tests::collect_events_executor_done_drains_remaining ... ok [INFO] [stdout] test streaming::event_queue::in_memory::tests::write_after_all_readers_dropped_returns_error ... ok [INFO] [stdout] test streaming::event_queue::in_memory::tests::write_multiple_events_read_in_order ... ok [INFO] [stdout] test streaming::event_queue::in_memory::tests::write_then_read_single_event ... ok [INFO] [stdout] test streaming::event_queue::manager::tests::manager_destroy_all_clears_queues ... ok [INFO] [stdout] test streaming::event_queue::manager::tests::manager_destroy_removes_queue ... ok [INFO] [stdout] test streaming::event_queue::manager::tests::manager_max_concurrent_queues_enforced ... ok [INFO] [stdout] test streaming::event_queue::manager::tests::manager_get_or_create_existing_task_returns_no_reader ... ok [INFO] [stdout] test streaming::event_queue::manager::tests::manager_with_capacity_and_max_event_size ... ok [INFO] [stdout] test store::task_store::in_memory::tests::capacity_eviction_prefers_terminal_tasks ... ok [INFO] [stdout] test streaming::event_queue::manager::tests::manager_get_or_create_new_task ... ok [INFO] [stdout] test streaming::event_queue::tests::new_in_memory_queue_returns_pair ... ok [INFO] [stdout] test streaming::event_queue::manager::tests::manager_subscribe_nonexistent_task_returns_none ... ok [INFO] [stdout] test streaming::event_queue::tests::new_in_memory_queue_with_capacity_returns_pair ... ok [INFO] [stdout] test streaming::event_queue::manager::tests::manager_with_write_timeout ... ok [INFO] [stdout] test streaming::event_queue::manager::tests::manager_subscribe_existing_task ... ok [INFO] [stdout] test streaming::sse::tests::build_sse_response_has_correct_headers ... ok [INFO] [stdout] test streaming::sse::tests::build_sse_response_streams_events ... ok [INFO] [stdout] test streaming::sse::tests::build_sse_response_ends_on_reader_close ... ok [INFO] [stdout] test streaming::sse::tests::build_sse_response_streams_error_event ... ok [INFO] [stdout] test streaming::sse::tests::build_sse_response_with_custom_keep_alive_and_capacity ... ok [INFO] [stdout] test streaming::sse::tests::sse_body_writer_close_drops_sender ... ok [INFO] [stdout] test streaming::sse::tests::sse_body_writer_send_event_delivers_frame ... ok [INFO] [stdout] test streaming::sse::tests::sse_body_writer_keep_alive_fails_after_receiver_dropped ... ok [INFO] [stdout] test streaming::sse::tests::sse_body_writer_send_keep_alive_delivers_comment ... ok [INFO] [stdout] test streaming::sse::tests::write_event_empty_data ... ok [INFO] [stdout] test streaming::sse::tests::write_event_empty_event_type ... ok [INFO] [stdout] test streaming::sse::tests::write_event_multiline_data ... ok [INFO] [stdout] test store::task_store::in_memory::tests::max_capacity_eviction_removes_oldest_terminal_tasks ... ok [INFO] [stdout] test streaming::sse::tests::write_event_single_line_data ... ok [INFO] [stdout] test streaming::sse::tests::sse_body_writer_send_fails_after_receiver_dropped ... ok [INFO] [stdout] test tenant_config::tests::default_limits_are_all_none ... ok [INFO] [stdout] test tenant_config::tests::per_tenant_config_builder_returns_functional_builder ... ok [INFO] [stdout] test tenant_config::tests::multiple_overrides ... ok [INFO] [stdout] test tenant_config::tests::per_tenant_config_default_is_empty ... ok [INFO] [stdout] test tenant_config::tests::per_tenant_config_returns_override ... ok [INFO] [stdout] test tenant_config::tests::builder_sets_all_fields ... ok [INFO] [stdout] test tenant_config::tests::tenant_limits_builder_returns_functional_builder ... ok [INFO] [stdout] test tenant_resolver::tests::bearer_resolver_debug_shows_has_mapper ... ok [INFO] [stdout] test tenant_resolver::tests::bearer_resolver_mapper_returns_none ... ok [INFO] [stdout] test streaming::event_queue::tests::new_in_memory_queue_with_options_returns_pair ... ok [INFO] [stdout] test streaming::sse::tests::write_keep_alive_format ... ok [INFO] [stdout] test tenant_resolver::tests::bearer_resolver_raw_token ... ok [INFO] [stdout] test tenant_config::tests::per_tenant_config_falls_back_to_default ... ok [INFO] [stdout] test tenant_resolver::tests::header_resolver_default_header ... ok [INFO] [stdout] test tenant_resolver::tests::header_resolver_missing_header ... ok [INFO] [stdout] test tenant_resolver::tests::bearer_resolver_with_mapper ... ok [INFO] [stdout] test tenant_resolver::tests::path_resolver_extracts_segment ... ok [INFO] [stdout] test tenant_resolver::tests::path_resolver_missing_path ... ok [INFO] [stdout] test tenant_resolver::tests::path_resolver_first_segment ... ok [INFO] [stdout] test tenant_resolver::tests::bearer_resolver_missing_header ... ok [INFO] [stdout] test tenant_resolver::tests::path_resolver_out_of_bounds ... ok [INFO] [stdout] test tenant_resolver::tests::path_resolver_prefers_pseudo_header ... ok [INFO] [stdout] test tenant_resolver::tests::path_resolver_uses_fallback_path_header ... ok [INFO] [stdout] test tenant_resolver::tests::bearer_resolver_default_same_as_new ... ok [INFO] [stdout] test tenant_resolver::tests::bearer_resolver_empty_token ... ok [INFO] [stdout] test tenant_resolver::tests::bearer_resolver_lowercase_bearer ... ok [INFO] [stdout] test tenant_resolver::tests::bearer_resolver_non_bearer_auth ... ok [INFO] [stdout] test tenant_resolver::tests::header_resolver_custom_header ... ok [INFO] [stdout] test handler::shutdown::tests::shutdown_with_timeout_force_destroys_on_timeout ... ok [INFO] [stdout] test streaming::sse::tests::build_sse_response_client_disconnect_stops_stream ... ok [INFO] [stdout] test agent_card::hot_reload::tests::poll_watcher_handles_invalid_json_gracefully ... ok [INFO] [stdout] test agent_card::hot_reload::tests::poll_watcher_detects_change ... ok [INFO] [stdout] test agent_card::hot_reload::tests::poll_watcher_handles_missing_file_gracefully ... ok [INFO] [stdout] test handler::messaging::tests::oversized_message_metadata_returns_invalid_params ... ok [INFO] [stdout] test handler::messaging::tests::oversized_request_metadata_returns_invalid_params ... ok [INFO] [stdout] test handler::event_processing::sync_collector::tests::collect_events_executor_panic_marks_failed ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 526 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.44s [INFO] [stdout] [INFO] [stderr] Running tests/audit_tests/main.rs (/opt/rustwide/target/debug/deps/audit_tests-e168538b6bc899b3) [INFO] [stdout] [INFO] [stdout] running 42 tests [INFO] [stdout] test edge_cases::builder_accepts_valid_timeout ... ok [INFO] [stdout] test edge_cases::builder_rejects_zero_timeout ... ok [INFO] [stdout] test edge_cases::oversized_event_rejected ... ok [INFO] [stdout] test edge_cases::duplicate_task_id_rejected ... ok [INFO] [stdout] test edge_cases::large_page_size_clamped ... ok [INFO] [stdout] test edge_cases::builder_rejects_empty_interfaces ... ok [INFO] [stdout] test edge_cases::push_config_per_task_limit ... ok [INFO] [stdout] test lifecycle::full_handler_lifecycle_failing_executor ... ok [INFO] [stdout] test edge_cases::unicode_in_context_id ... ok [INFO] [stdout] test lifecycle::full_handler_lifecycle_with_streaming ... ok [INFO] [stdout] test lifecycle::full_handler_lifecycle_send_get_list_cancel ... ok [INFO] [stdout] test public_api::a2a_error_extended_card_not_configured_constructor ... ok [INFO] [stdout] test public_api::a2a_error_internal_constructor ... ok [INFO] [stdout] test public_api::a2a_error_invalid_agent_response_constructor ... ok [INFO] [stdout] test public_api::a2a_error_invalid_params_constructor ... ok [INFO] [stdout] test public_api::a2a_error_parse_error_constructor ... ok [INFO] [stdout] test public_api::a2a_error_unsupported_operation_constructor ... ok [INFO] [stdout] test public_api::artifact_new_construction ... ok [INFO] [stdout] test public_api::cors_config_permissive_returns_valid_config ... ok [INFO] [stdout] test public_api::utc_now_iso8601_returns_valid_iso_format ... ok [INFO] [stdout] test public_api::artifact_new_empty_parts ... ok [INFO] [stdout] test public_api::event_queue_manager_destroy_all_clears ... ok [INFO] [stdout] test public_api::call_context_with_caller_identity ... ok [INFO] [stdout] test public_api::push_config_new_construction ... ok [INFO] [stdout] test public_api::call_context_with_extensions ... ok [INFO] [stdout] test public_api::cors_config_new_with_specific_origin ... ok [INFO] [stdout] test security_boundaries::context_id_over_max_length_fails ... ok [INFO] [stdout] test public_api::event_queue_manager_with_capacity ... ok [INFO] [stdout] test security_boundaries::empty_context_id_rejected ... ok [INFO] [stdout] test security_boundaries::context_id_exactly_max_length_passes ... ok [INFO] [stdout] test public_api::get_extended_agent_card_configured ... ok [INFO] [stdout] test public_api::get_extended_agent_card_unconfigured ... ok [INFO] [stdout] test security_boundaries::empty_task_id_rejected ... ok [INFO] [stdout] test security_boundaries::task_id_over_max_length_fails ... ok [INFO] [stdout] test security_boundaries::task_id_exactly_max_length_passes ... ok [INFO] [stdout] test security_boundaries::whitespace_only_context_id_rejected ... ok [INFO] [stdout] test security_boundaries::whitespace_only_task_id_rejected ... ok [INFO] [stdout] test edge_cases::unicode_emoji_in_messages ... ok [INFO] [stdout] test public_api::shutdown_cancels_in_flight_tasks ... ok [INFO] [stdout] test public_api::executor_timeout_causes_failure ... ok [INFO] [stdout] test public_api::request_context_with_metadata ... ok [INFO] [stdout] test public_api::request_context_with_stored_task ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s [INFO] [stdout] [INFO] [stderr] Running tests/axum_adapter_tests.rs (/opt/rustwide/target/debug/deps/axum_adapter_tests-955a9193f1d53fec) [INFO] [stderr] Running tests/dispatch_edge_tests.rs (/opt/rustwide/target/debug/deps/dispatch_edge_tests-3cce3e73f4266bf6) [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 18 tests [INFO] [stdout] test cors_config_construction_with_allowed_origin ... ok [INFO] [stdout] test cors_apply_headers_adds_to_existing_response ... ok [INFO] [stdout] test cors_preflight_response_status_and_headers ... ok [INFO] [stdout] test cors_default_permissive ... ok [INFO] [stdout] test jsonrpc_invalid_json ... ok [INFO] [stdout] test rest_not_found ... ok [INFO] [stdout] test rest_extended_card_not_configured ... ok [INFO] [stdout] test rest_get_task_not_found ... ok [INFO] [stdout] test rest_send_message_bad_json ... ok [INFO] [stdout] test rest_health_check ... ok [INFO] [stdout] test rest_tenant_prefix_stripping ... ok [INFO] [stdout] test rest_send_message_success ... ok [INFO] [stdout] test jsonrpc_unsupported_content_type ... ok [INFO] [stdout] test rest_unsupported_content_type ... ok [INFO] [stdout] test rest_path_traversal_rejected ... ok [INFO] [stdout] test rest_list_tasks_empty ... ok [INFO] [stdout] test rest_ready_check ... ok [INFO] [stdout] test jsonrpc_unknown_method ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/dispatch_rest_coverage.rs (/opt/rustwide/target/debug/deps/dispatch_rest_coverage-2d1c39f4d3bba2d2) [INFO] [stdout] [INFO] [stdout] running 31 tests [INFO] [stdout] test cors_headers_on_health_check ... ok [INFO] [stdout] test delete_push_config_no_push_sender_still_works ... ok [INFO] [stdout] test dispatcher_trait_dispatch_via_real_server ... ok [INFO] [stdout] test cors_preflight_returns_204_with_cors_headers ... ok [INFO] [stdout] test get_push_config_no_push_sender_returns_400 ... ok [INFO] [stdout] test cors_headers_on_oversized_query_string ... ok [INFO] [stdout] test empty_task_id_with_action_returns_404 ... ok [INFO] [stdout] test cors_headers_on_normal_response ... ok [INFO] [stdout] test cors_headers_on_send_message_response ... ok [INFO] [stdout] test cancel_task_nonexistent_returns_error ... ok [INFO] [stdout] test cors_headers_on_not_found_response ... ok [INFO] [stdout] test delete_push_config_nonexistent_returns_200 ... ok [INFO] [stdout] test extended_card_returns_200 ... ok [INFO] [stdout] test cancel_existing_task ... ok [INFO] [stdout] test get_on_cancel_action_returns_404 ... ok [INFO] [stdout] test list_push_configs_empty_returns_200 ... ok [INFO] [stdout] test get_push_config_nonexistent_returns_error ... ok [INFO] [stdout] test with_cors_returns_self ... ok [INFO] [stdout] test options_without_cors_returns_health ... ok [INFO] [stdout] test list_push_configs_no_push_sender_still_works ... ok [INFO] [stdout] test set_push_config_missing_fields_returns_400 ... ok [INFO] [stdout] test set_push_config_not_supported_returns_error ... ok [INFO] [stdout] test set_push_config_invalid_json_returns_400 ... ok [INFO] [stdout] test unknown_action_on_task_returns_404 ... ok [INFO] [stdout] test rest_dispatcher_debug_impl ... ok [INFO] [stdout] test subscribe_nonexistent_task_returns_error ... ok [INFO] [stdout] test subscribe_via_get_nonexistent_task ... ok [INFO] [stdout] test list_tasks_returns_200_with_empty_list ... ok [INFO] [stdout] test push_config_crud_with_cors_headers ... ok [INFO] [stdout] test subscribe_existing_task_returns_sse ... ok [INFO] [stdout] test send_message_streaming_returns_sse ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running tests/dispatch_tests/main.rs (/opt/rustwide/target/debug/deps/dispatch_tests-287c6b4d9b997fdb) [INFO] [stdout] [INFO] [stdout] running 33 tests [INFO] [stdout] test hardening::rest_ready_endpoint_returns_ok ... ok [INFO] [stdout] test hardening::rest_rejects_path_traversal ... ok [INFO] [stdout] test jsonrpc::jsonrpc_accepts_a2a_content_type ... ok [INFO] [stdout] test hardening::rest_rejects_oversized_body ... ok [INFO] [stdout] test hardening::rest_rejects_wrong_content_type_on_post ... ok [INFO] [stdout] test jsonrpc::jsonrpc_get_extended_agent_card ... ok [INFO] [stdout] test jsonrpc::jsonrpc_rejects_wrong_content_type ... ok [INFO] [stdout] test jsonrpc::jsonrpc_missing_params ... ok [INFO] [stdout] test jsonrpc::jsonrpc_list_tasks ... ok [INFO] [stdout] test hardening::jsonrpc_rejects_oversized_body ... ok [INFO] [stdout] test jsonrpc::jsonrpc_send_message_returns_task ... ok [INFO] [stdout] test hardening::rest_health_endpoint_returns_ok ... ok [INFO] [stdout] test jsonrpc::jsonrpc_send_streaming_returns_sse ... ok [INFO] [stdout] test jsonrpc::jsonrpc_response_has_a2a_version_header ... ok [INFO] [stdout] test rest::rest_cancel_nonexistent_task ... ok [INFO] [stdout] test jsonrpc::jsonrpc_invalid_json ... ok [INFO] [stdout] test rest::rest_not_found_route ... ok [INFO] [stdout] test rest::rest_extended_agent_card ... ok [INFO] [stdout] test jsonrpc::jsonrpc_get_task_not_found ... ok [INFO] [stdout] test rest::rest_get_task_not_found ... ok [INFO] [stdout] test rest::rest_list_tasks ... ok [INFO] [stdout] test rest::rest_push_config_not_supported_error_status ... ok [INFO] [stdout] test jsonrpc::jsonrpc_unknown_method ... ok [INFO] [stdout] test rest::rest_get_subscribe_allowed ... ok [INFO] [stderr] Running tests/dynamic_handler_tests.rs (/opt/rustwide/target/debug/deps/dynamic_handler_tests-db1a0ef4ecb5ce32) [INFO] [stdout] test rest::rest_response_has_a2a_version_header ... ok [INFO] [stdout] test rest::rest_push_config_crud ... ok [INFO] [stdout] test jsonrpc::jsonrpc_push_config_crud ... ok [INFO] [stdout] test rest::rest_subscribe_nonexistent_task ... ok [INFO] [stdout] test rest::rest_send_message ... ok [INFO] [stdout] test rest::rest_wellknown_agent_card ... ok [INFO] [stdout] test rest::rest_tenant_prefix_routing ... ok [INFO] [stdout] test rest::rest_send_streaming ... ok [INFO] [stdout] test rest::rest_send_then_get_task ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 22 tests [INFO] [stdout] test handle_includes_cache_control_header ... ok [INFO] [stdout] test handle_includes_etag_header ... ok [INFO] [stdout] test if_modified_since_matching_returns_304 ... ok [INFO] [stdout] test handle_unconditional_error_returns_500 ... ok [INFO] [stdout] test handle_unconditional_includes_all_headers ... ok [INFO] [stdout] test if_none_match_non_matching_returns_200 ... ok [INFO] [stdout] test handle_includes_cors_header ... ok [INFO] [stdout] test handle_unconditional_returns_200 ... ok [INFO] [stdout] test handle_returns_200_with_json_content_type ... ok [INFO] [stdout] test if_none_match_takes_precedence_over_if_modified_since ... ok [INFO] [stdout] test different_cards_produce_different_etags ... ok [INFO] [stdout] test handle_returns_valid_agent_card_json ... ok [INFO] [stdout] test custom_max_age_is_reflected ... ok [INFO] [stdout] test handle_includes_last_modified_header ... ok [INFO] [stdout] test if_none_match_matching_etag_returns_304 ... ok [INFO] [stdout] test if_modified_since_non_matching_returns_200 ... ok [INFO] [stdout] test producer_error_returns_500 ... ok [INFO] [stdout] test producer_error_returns_json_error_body ... ok [INFO] [stdout] test producer_is_called_on_every_request ... ok [INFO] [stdout] test same_card_produces_same_etag ... ok [INFO] [stdout] test if_none_match_wildcard_returns_304 ... ok [INFO] [stdout] test not_modified_response_has_empty_body ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/edge_case_tests/main.rs (/opt/rustwide/target/debug/deps/edge_case_tests-2c295ddaceca1557) [INFO] [stdout] [INFO] [stdout] running 29 tests [INFO] [stdout] test handler_basics::get_task_not_found ... ok [INFO] [stdout] test event_queue::event_queue_write_and_read ... ok [INFO] [stdout] test error_mapping::server_error_to_a2a_error_mapping ... ok [INFO] [stdout] test concurrency::concurrent_send_message ... ok [INFO] [stdout] test concurrency::insert_if_absent_atomicity ... ok [INFO] [stdout] test handler_basics::send_message_executor_failure_marks_task_failed ... ok [INFO] [stdout] test concurrency::concurrent_save_to_same_task_id ... ok [INFO] [stdout] test concurrency::concurrent_get_or_create_event_queue ... ok [INFO] [stdout] test event_queue::event_queue_manager_destroy_all ... ok [INFO] [stdout] test handler_basics::send_message_basic_flow ... ok [INFO] [stdout] test event_queue::event_queue_manager_lifecycle ... ok [INFO] [stdout] test handler_basics::cancel_task_not_found ... ok [INFO] [stdout] test type_system::error_code_all_values_roundtrip ... ok [INFO] [stdout] test handler_basics::extended_agent_card_not_configured ... ok [INFO] [stdout] test store_and_eviction::task_store_eviction_on_write ... ok [INFO] [stdout] test handler_basics::cancel_completed_task_returns_not_cancelable ... ok [INFO] [stdout] test store_and_eviction::utc_now_iso8601_format ... ok [INFO] [stdout] test type_system::a2a_error_non_exhaustive ... ok [INFO] [stdout] test handler_basics::list_tasks_pagination_page_size_zero_defaults ... ok [INFO] [stdout] test handler_basics::push_config_not_supported_without_sender ... ok [INFO] [stdout] test error_mapping::server_error_display_all_variants ... ok [INFO] [stdout] test type_system::task_state_transitions_comprehensive ... ok [INFO] [stdout] test type_system::task_version_from_u64 ... ok [INFO] [stdout] test type_system::id_newtypes_from_impls ... ok [INFO] [stdout] test store_and_eviction::task_store_background_eviction ... ok [INFO] [stdout] test type_system::task_status_with_timestamp_has_value ... ok [INFO] [stdout] test type_system::part_constructors ... ok [INFO] [stdout] test handler_basics::cancel_task_signals_cancellation_token ... ok [INFO] [stdout] test store_and_eviction::executor_timeout ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] [stderr] Running tests/event_processing_tests/main.rs (/opt/rustwide/target/debug/deps/event_processing_tests-c7bcf1dc6ed86759) [INFO] [stdout] [INFO] [stdout] running 27 tests [INFO] [stdout] test streaming_mode::streaming_mode_delivers_status_events ... ok [INFO] [stdout] test state_transitions::sync_mode_completed_to_working_is_invalid ... ok [INFO] [stdout] test streaming_mode::streaming_mode_delivers_artifact_events ... ok [INFO] [stdout] test state_transitions::streaming_mode_invalid_transition_does_not_crash_stream ... ok [INFO] [stdout] test error_handling::sync_mode_work_then_error_marks_failed ... ok [INFO] [stdout] test state_transitions::sync_mode_working_to_canceled ... ok [INFO] [stdout] test state_transitions::sync_mode_invalid_state_transition_returns_error ... ok [INFO] [stdout] test state_transitions::sync_mode_multiple_valid_transitions ... ok [INFO] [stdout] test state_transitions::sync_mode_working_to_failed_via_status_update ... ok [INFO] [stdout] test error_handling::sync_mode_push_delivery_timeout_does_not_block_forever ... ok [INFO] [stdout] test error_handling::sync_mode_empty_executor_returns_submitted ... ok [INFO] [stdout] test streaming_mode::streaming_mode_error_produces_failed_event ... ok [INFO] [stdout] test sync_mode::sync_mode_message_event_is_noop_for_state ... ok [INFO] [stdout] test sync_mode::sync_mode_no_push_calls_when_no_config ... ok [INFO] [stdout] test sync_mode::sync_mode_no_push_calls_when_no_sender ... ok [INFO] [stdout] test streaming_mode::streaming_mode_receives_all_events ... ok [INFO] [stdout] test sync_mode::sync_mode_artifact_updates_appended ... ok [INFO] [stdout] test streaming_mode::streaming_mode_task_snapshot_in_stream ... ok [INFO] [stdout] test sync_mode::sync_mode_error_marks_failed ... ok [INFO] [stdout] test sync_mode::sync_mode_status_updates_stored ... ok [INFO] [stdout] test sync_mode::sync_mode_task_event_replaces_task ... ok [INFO] [stdout] test streaming_mode::streaming_mode_message_event_passes_through ... ok [INFO] [stdout] test error_handling::streaming_mode_work_then_error_marks_failed_in_store ... ok [INFO] [stdout] test error_handling::streaming_mode_error_marks_failed_in_store ... ok [INFO] [stdout] test background_processor::streaming_mode_background_drains_after_executor_done ... ok [INFO] [stdout] test background_processor::streaming_mode_push_delivery_with_cooperative_executor ... ok [INFO] [stdout] test background_processor::streaming_mode_background_processor_updates_store ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s [INFO] [stdout] [INFO] [stderr] Running tests/event_queue_tests.rs (/opt/rustwide/target/debug/deps/event_queue_tests-0d895a7a4d967f36) [INFO] [stdout] [INFO] [stdout] running 28 tests [INFO] [stdout] test default_constants_are_sane ... ok [INFO] [stdout] test active_count_starts_at_zero ... ok [INFO] [stdout] test destroy_nonexistent_task_is_noop ... ok [INFO] [stdout] test active_count_not_affected_by_duplicate_get_or_create ... ok [INFO] [stdout] test cloned_writer_still_works_after_original_dropped ... ok [INFO] [stdout] test event_within_size_limit_accepted ... ok [INFO] [stdout] test destroying_queue_frees_slot_for_new_creation ... ok [INFO] [stdout] test concurrent_writes_from_cloned_writers ... ok [INFO] [stdout] test destroy_all_clears_all_queues ... ok [INFO] [stdout] test destroy_all_allows_recreation ... ok [INFO] [stdout] test existing_writer_can_still_send_to_original_reader ... ok [INFO] [stdout] test broadcast_writes_never_block ... ok [INFO] [stdout] test active_count_decrements_on_destroy ... ok [INFO] [stdout] test get_or_create_returns_existing_writer_for_same_task ... ok [INFO] [stdout] test destroy_causes_reader_to_see_none ... ok [INFO] [stdout] test manager_max_event_size_propagates_to_queues ... ok [INFO] [stdout] test oversized_event_rejected ... ok [INFO] [stdout] test multiple_subscribers_all_receive_events ... ok [INFO] [stdout] test max_concurrent_queues_blocks_new_creation ... ok [INFO] [stdout] test reader_returns_none_after_writer_dropped ... ok [INFO] [stdout] test slow_reader_skips_lagged_events ... ok [INFO] [stdout] test subscribe_creates_additional_reader ... ok [INFO] [stdout] test write_multiple_events_read_in_order ... ok [INFO] [stdout] test subscribe_after_destroy_returns_none ... ok [INFO] [stdout] test write_then_read_single_event ... ok [INFO] [stdout] test subscribe_nonexistent_task_returns_none ... ok [INFO] [stdout] test get_or_create_different_tasks_get_different_writers ... ok [INFO] [stdout] test active_count_increments_on_create ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] [stderr] Running tests/grpc_dispatch_tests.rs (/opt/rustwide/target/debug/deps/grpc_dispatch_tests-af30e491e924983b) [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 tests/handler_tests/main.rs (/opt/rustwide/target/debug/deps/handler_tests-c3be7e634a4dbd78) [INFO] [stdout] [INFO] [stdout] running 24 tests [INFO] [stdout] test advanced::return_immediately_returns_pending_task ... ok [INFO] [stdout] test advanced::context_task_mismatch_rejected ... ok [INFO] [stdout] test advanced::interceptor_rejection_stops_processing ... ok [INFO] [stdout] test agent_card::get_extended_agent_card_not_configured ... ok [INFO] [stdout] test agent_card::get_extended_agent_card_returns_card ... ok [INFO] [stdout] test push_config::get_push_config_not_found ... ok [INFO] [stdout] test agent_card::builder_defaults_work ... ok [INFO] [stdout] test push_config::push_config_crud_lifecycle ... ok [INFO] [stdout] test advanced::server_error_to_a2a_error_mapping ... ok [INFO] [stdout] test send_message::send_message_returns_completed_task ... ok [INFO] [stdout] test task_operations::cancel_task_on_working_task ... ok [INFO] [stdout] test advanced::task_continuation_same_context_finds_stored_task ... ok [INFO] [stdout] test push_config::push_config_not_supported_without_sender ... ok [INFO] [stdout] test streaming::streaming_failure_produces_failed_event ... ok [INFO] [stdout] test task_operations::cancel_terminal_task_fails ... ok [INFO] [stdout] test task_operations::cancel_nonexistent_task_fails ... ok [INFO] [stdout] test agent_card::builder_with_agent_card ... ok [INFO] [stdout] test task_operations::get_task_not_found ... ok [INFO] [stdout] test task_operations::get_task_returns_stored_task ... ok [INFO] [stdout] test task_operations::list_tasks_returns_created_tasks ... ok [INFO] [stdout] test advanced::resubscribe_nonexistent_task_fails ... ok [INFO] [stdout] test send_message::send_message_streaming_returns_reader ... ok [INFO] [stdout] test streaming::streaming_events_arrive_in_order ... ok [INFO] [stdout] test send_message::send_message_executor_failure_results_in_failed_task ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s [INFO] [stdout] [INFO] [stderr] Running tests/hardening_tests/main.rs (/opt/rustwide/target/debug/deps/hardening_tests-786ebbe848a6ae35) [INFO] [stdout] [INFO] [stdout] running 27 tests [INFO] [stdout] test event_queue::event_queue_writer_close_causes_reader_none ... ok [INFO] [stdout] test event_queue::event_queue_destroy_allows_fresh_creation ... ok [INFO] [stdout] test event_queue::event_queue_get_or_create_returns_writer_and_reader_on_first_call ... ok [INFO] [stdout] test event_queue::event_queue_write_and_read_events ... ok [INFO] [stdout] test event_queue::event_queue_get_or_create_returns_existing_writer_no_reader_on_second_call ... ok [INFO] [stdout] test push_config_store::push_config_store_crud_lifecycle ... ok [INFO] [stdout] test interceptor_chain::interceptor_chain_error_stops_chain ... ok [INFO] [stdout] test push_config_store::push_config_store_get_returns_none_for_missing_config ... ok [INFO] [stdout] test interceptor_chain::interceptor_chain_empty_chain_succeeds ... ok [INFO] [stdout] test builder::builder_with_task_store_uses_custom_store ... ok [INFO] [stdout] test builder::builder_with_push_sender_enables_push ... ok [INFO] [stdout] test push_config_store::push_config_store_auto_assigns_id_if_not_present ... ok [INFO] [stdout] test interceptor_chain::interceptor_chain_runs_before_in_order_and_after_in_reverse ... ok [INFO] [stdout] test push_config_store::push_config_store_preserves_explicit_id ... ok [INFO] [stdout] test task_store::task_store_capacity_eviction_removes_oldest_terminal_tasks ... ok [INFO] [stdout] test task_store::task_store_delete_removes_task ... ok [INFO] [stdout] test task_store::task_store_get_returns_none_for_missing_task ... ok [INFO] [stdout] test concurrency::concurrency_multiple_send_message_calls_on_same_handler ... ok [INFO] [stdout] test concurrency::concurrency_reads_while_writing_to_task_store ... ok [INFO] [stdout] test task_store::task_store_list_with_context_id_filter ... ok [INFO] [stdout] test task_store::task_store_save_and_get_roundtrip ... ok [INFO] [stdout] test builder::builder_build_with_all_defaults_succeeds ... ok [INFO] [stdout] test task_store::task_store_list_with_page_size_limit ... ok [INFO] [stdout] test builder::builder_without_push_sender_rejects_push_config ... ok [INFO] [stdout] test task_store::task_store_list_with_status_filter ... ok [INFO] [stdout] test task_store::task_store_ttl_eviction_removes_expired_terminal_tasks ... ok [INFO] [stdout] test task_store::task_store_ttl_eviction_spares_non_terminal_tasks ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stderr] Running tests/interceptor_tests.rs (/opt/rustwide/target/debug/deps/interceptor_tests-00cd8242616dc5b6) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test multiple_interceptors_ordering_preserved ... ok [INFO] [stdout] test error_in_after_propagated ... ok [INFO] [stdout] test error_in_before_stops_chain ... ok [INFO] [stdout] test call_context_builder ... ok [INFO] [stdout] test empty_chain_passes ... ok [INFO] [stdout] test interceptor_before_and_after_called ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/jsonrpc_dispatch_coverage_tests.rs (/opt/rustwide/target/debug/deps/jsonrpc_dispatch_coverage_tests-421b0f6fb3d30b54) [INFO] [stdout] [INFO] [stdout] running 52 tests [INFO] [stdout] test agent_card_get_returns_404_when_not_configured ... ok [INFO] [stdout] test agent_card_404_with_cors_has_cors_headers ... ok [INFO] [stdout] test a2a_content_type_is_accepted ... ok [INFO] [stdout] test agent_card_get_returns_card_when_configured ... ok [INFO] [stdout] test agent_card_get_with_cors_has_cors_headers ... ok [INFO] [stdout] test cancel_task_missing_params ... ok [INFO] [stdout] test batch_with_multiple_methods ... ok [INFO] [stdout] test batch_with_push_methods ... ok [INFO] [stdout] test batch_with_multiple_invalid_items ... ok [INFO] [stdout] test batch_with_invalid_item_returns_individual_error ... ok [INFO] [stdout] test cancel_task_not_found ... ok [INFO] [stdout] test batch_with_extended_agent_card ... ok [INFO] [stdout] test create_push_config_with_params ... ok [INFO] [stdout] test create_push_config_missing_params ... ok [INFO] [stdout] test debug_impl_for_jsonrpc_dispatcher ... ok [INFO] [stdout] test get_extended_agent_card_returns_error_when_not_configured ... ok [INFO] [stdout] test delete_push_config_with_params ... ok [INFO] [stdout] test empty_batch_returns_parse_error ... ok [INFO] [stdout] test delete_push_config_missing_params ... ok [INFO] [stdout] test get_task_not_found ... ok [INFO] [stdout] test get_task_missing_params ... ok [INFO] [stdout] test list_tasks_missing_params ... ok [INFO] [stdout] test options_without_cors_returns_204_no_cors_headers ... ok [INFO] [stdout] test dispatcher_trait_impl_works ... ok [INFO] [stdout] test get_push_config_missing_params ... ok [INFO] [stdout] test get_push_config_with_params ... ok [INFO] [stdout] test list_push_configs_missing_params ... ok [INFO] [stdout] test list_push_configs_with_params ... ok [INFO] [stdout] test list_tasks_returns_result ... ok [INFO] [stdout] test invalid_json_body_returns_parse_error ... ok [INFO] [stdout] test no_content_type_header_still_processes_request ... ok [INFO] [stdout] test cors_preflight_returns_204_with_cors_headers ... ok [INFO] [stdout] test send_message_missing_params_returns_error ... ok [INFO] [stdout] test send_message_in_batch_with_bad_params ... ok [INFO] [stdout] test send_message_in_batch_returns_result ... ok [INFO] [stdout] test send_streaming_message_in_batch_returns_error ... ok [INFO] [stdout] test send_streaming_message_error_returns_json_error ... ok [INFO] [stdout] test subscribe_to_task_error_returns_json_error ... ok [INFO] [stdout] test subscribe_to_task_missing_params_returns_error ... ok [INFO] [stdout] test send_streaming_message_returns_sse ... ok [INFO] [stdout] test with_cors_sets_cors_config ... ok [INFO] [stdout] test send_message_invalid_params_returns_error ... ok [INFO] [stdout] test valid_json_but_invalid_rpc_returns_parse_error ... ok [INFO] [stdout] test subscribe_to_task_nonexistent_returns_error ... ok [INFO] [stdout] test send_streaming_message_missing_params_returns_error ... ok [INFO] [stdout] test regular_dispatch_with_cors_has_cors_headers ... ok [INFO] [stdout] test unknown_method_returns_method_not_found ... ok [INFO] [stdout] test unsupported_content_type_returns_parse_error ... ok [INFO] [stdout] test with_config_constructor ... ok [INFO] [stdout] test send_message_returns_completed_task ... ok [INFO] [stdout] test subscribe_to_active_task_returns_sse ... ok [INFO] [stdout] test subscribe_to_task_in_batch_returns_error ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 52 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.46s [INFO] [stdout] [INFO] [stderr] Running tests/jsonrpc_edge_tests.rs (/opt/rustwide/target/debug/deps/jsonrpc_edge_tests-f21d46c258bc397e) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test jsonrpc_empty_batch_returns_error ... ok [INFO] [stdout] test jsonrpc_id_float_is_valid ... ok [INFO] [stdout] test jsonrpc_id_empty_string_is_valid ... ok [INFO] [stdout] test jsonrpc_id_large_integer_is_valid ... ok [INFO] [stdout] test jsonrpc_single_element_batch ... ok [INFO] [stdout] test jsonrpc_id_null_is_valid ... ok [INFO] [stdout] test jsonrpc_options_returns_204_or_200 ... ok [INFO] [stdout] test jsonrpc_missing_params_returns_error ... ok [INFO] [stdout] test jsonrpc_id_zero_is_valid ... ok [INFO] [stdout] test jsonrpc_batch_with_mixed_valid_and_invalid ... ok [INFO] [stdout] test jsonrpc_subscribe_in_batch_returns_error ... ok [INFO] [stdout] test jsonrpc_streaming_in_batch_returns_error ... ok [INFO] [stderr] Running tests/push_config_tests.rs (/opt/rustwide/target/debug/deps/push_config_tests-298f9c80a3046183) [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test list_empty_task_returns_empty ... ok [INFO] [stdout] test configs_for_different_tasks_dont_interfere ... ok [INFO] [stdout] test set_preserves_explicit_id ... ok [INFO] [stdout] test delete_nonexistent_config_succeeds ... ok [INFO] [stdout] test set_assigns_id_when_missing ... ok [INFO] [stdout] test update_existing_config ... ok [INFO] [stdout] test concurrent_set_operations ... ok [INFO] [stdout] test multiple_configs_for_same_task ... ok [INFO] [stdout] test get_nonexistent_config_returns_none ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/push_sender_tests.rs (/opt/rustwide/target/debug/deps/push_sender_tests-8cc3e47190414445) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test http_push_sender_debug_impl ... ok [INFO] [stdout] test http_push_sender_default_creates_instance ... ok [INFO] [stdout] test successful_delivery_on_first_attempt ... ok [INFO] [stdout] test bearer_auth_header_is_sent ... ok [INFO] [stdout] test basic_auth_header_is_sent ... ok [INFO] [stdout] test request_uses_post_method ... ok [INFO] [stdout] test request_has_json_content_type ... ok [INFO] [stdout] test both_auth_and_token_headers_are_sent ... ok [INFO] [stdout] test notification_token_header_is_sent ... ok [INFO] [stdout] test connection_refused_returns_error ... ok [INFO] [stdout] test retries_on_server_error_and_eventually_fails ... ok [INFO] [stdout] test retries_on_client_error_status ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.02s [INFO] [stdout] [INFO] [stderr] Running tests/rest_edge_tests.rs (/opt/rustwide/target/debug/deps/rest_edge_tests-fe24f21dafff3429) [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test tenant_path_with_deep_nesting ... ok [INFO] [stdout] test raw_path_traversal_rejected ... ok [INFO] [stdout] test percent_encoded_path_traversal_rejected ... ok [INFO] [stdout] test cancel_nonexistent_task_returns_404 ... ok [INFO] [stdout] test double_encoded_path_traversal_rejected ... ok [INFO] [stdout] test query_string_at_limit_accepted ... ok [INFO] [stdout] test a2a_content_type_accepted ... ok [INFO] [stdout] test well_known_agent_card_without_card ... ok [INFO] [stdout] test mixed_case_percent_encoded_traversal_rejected ... ok [INFO] [stdout] test double_dot_in_task_id_rejected ... ok [INFO] [stdout] test tenant_path_missing_trailing_slash ... ok [INFO] [stdout] test single_encoded_path_traversal_rejected ... ok [INFO] [stdout] test list_push_configs_for_nonexistent_task ... ok [INFO] [stdout] test oversized_query_string_rejected ... ok [INFO] [stdout] test request_body_just_under_limit_accepted ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stderr] Running tests/send_sync_tests.rs (/opt/rustwide/target/debug/deps/send_sync_tests-0b540f3458c2138d) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stderr] Running tests/serve_tests.rs (/opt/rustwide/target/debug/deps/serve_tests-b314b40a261a86e1) [INFO] [stdout] test server_types_are_send_sync ... ok [INFO] [stdout] test types_types_are_send_sync ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test serve_with_addr_port_zero_returns_real_port ... ok [INFO] [stdout] test serve_with_addr_binds_and_accepts ... ok [INFO] [stdout] test serve_with_addr_handles_multiple_connections ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/sqlite_store_tests.rs (/opt/rustwide/target/debug/deps/sqlite_store_tests-042ec055af54c376) [INFO] [stderr] Running tests/sse_format_tests.rs (/opt/rustwide/target/debug/deps/sse_format_tests-65281e2df212d766) [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 5 tests [INFO] [stdout] test write_event_empty_data ... ok [INFO] [stdout] test write_event_special_characters ... ok [INFO] [stdout] test write_keep_alive_format ... ok [INFO] [stdout] test write_event_multiline_data ... ok [INFO] [stdout] test write_event_basic ... ok [INFO] [stderr] Running tests/state_validation_tests.rs (/opt/rustwide/target/debug/deps/state_validation_tests-cd121c7b7064ea12) [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test test_canceled_transitions ... ok [INFO] [stdout] test test_failed_transitions ... ok [INFO] [stdout] test test_completed_transitions ... ok [INFO] [stdout] test test_full_transition_matrix ... ok [INFO] [stdout] test test_input_required_transitions ... ok [INFO] [stdout] test test_no_self_transitions_except_unspecified ... ok [INFO] [stdout] test test_non_terminal_states_report_not_terminal ... ok [INFO] [stdout] test test_auth_required_transitions ... ok [INFO] [stdout] test test_terminal_states_are_symmetric ... ok [INFO] [stdout] test test_rejected_transitions ... ok [INFO] [stdout] test test_working_transitions ... ok [INFO] [stdout] test test_unspecified_transitions ... ok [INFO] [stdout] test test_valid_transition_counts ... ok [INFO] [stdout] test test_submitted_transitions ... ok [INFO] [stderr] Running tests/store_tests.rs (/opt/rustwide/target/debug/deps/store_tests-69a1e309a6379622) [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 19 tests [INFO] [stdout] test list_empty_store_returns_empty ... ok [INFO] [stdout] test list_filters_by_context_and_status ... ok [INFO] [stdout] test list_with_page_size_truncates ... ok [INFO] [stdout] test count_not_affected_by_update ... ok [INFO] [stdout] test list_with_invalid_page_token_returns_empty ... ok [INFO] [stdout] test list_with_page_token_returns_next_page ... ok [INFO] [stdout] test capacity_eviction_removes_oldest_terminal_tasks ... ok [INFO] [stdout] test count_tracks_inserts_and_deletes ... ok [INFO] [stdout] test multi_tenant_context_isolation ... ok [INFO] [stdout] test list_filters_by_status ... ok [INFO] [stdout] test multi_tenant_delete_does_not_affect_other_tenants ... ok [INFO] [stdout] test count_returns_zero_for_empty_store ... ok [INFO] [stdout] test save_updates_existing_task ... ok [INFO] [stdout] test list_filters_by_context_id ... ok [INFO] [stdout] test insert_if_absent_returns_correct_count ... ok [INFO] [stdout] test list_last_page_has_no_next_token ... ok [INFO] [stdout] test very_large_page_size_returns_all_tasks ... ok [INFO] [stdout] test delete_nonexistent_task_succeeds ... ok [INFO] [stdout] test ttl_eviction_removes_terminal_tasks ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/streaming_tests.rs (/opt/rustwide/target/debug/deps/streaming_tests-d9e858ac29402bc6) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test sse_write_keep_alive_format ... ok [INFO] [stdout] test sse_write_event_format ... ok [INFO] [stdout] test sse_write_event_multiline ... ok [INFO] [stdout] test queue_get_or_create_reuses_writer ... ok [INFO] [stdout] test queue_destroy_allows_recreation ... ok [INFO] [stdout] test queue_multiple_events ... ok [INFO] [stdout] test queue_write_and_read ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/stress_tests.rs (/opt/rustwide/target/debug/deps/stress_tests-e709d2119a20f55f) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test task_store_eviction_under_load ... ok [INFO] [stdout] test concurrent_multi_tenant_isolation ... ok [INFO] [stdout] test concurrent_200_requests_all_succeed ... ok [INFO] [stdout] test rapid_connect_disconnect_cycles ... ok [INFO] [stdout] test sustained_load_10_seconds ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.57s [INFO] [stdout] [INFO] [stderr] Running tests/tenant_sqlite_push_config_tests.rs (/opt/rustwide/target/debug/deps/tenant_sqlite_push_config_tests-37b34d1e2aff1ede) [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 tests/tenant_sqlite_store_tests.rs (/opt/rustwide/target/debug/deps/tenant_sqlite_store_tests-0811341ac469bb75) [INFO] [stderr] Running tests/tenant_store_tests.rs (/opt/rustwide/target/debug/deps/tenant_store_tests-65f9fb678309d319) [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 13 tests [INFO] [stdout] test tenant_push_config_delete_isolation ... ok [INFO] [stdout] test tenant_push_config_isolation ... ok [INFO] [stdout] test tenant_push_config_list_isolation ... ok [INFO] [stdout] test tenant_task_store_insert_if_absent_isolation ... ok [INFO] [stdout] test tenant_task_store_delete_isolation ... ok [INFO] [stdout] test tenant_task_store_isolation ... ok [INFO] [stdout] test tenant_push_config_max_tenants ... ok [INFO] [stdout] test tenant_task_store_default_tenant ... ok [INFO] [stdout] test tenant_task_store_prune_empty ... ok [INFO] [stdout] test tenant_task_store_list_isolation ... ok [INFO] [stdout] test tenant_task_store_tenant_count ... ok [INFO] [stdout] test tenant_task_store_max_tenants ... ok [INFO] [stdout] test tenant_task_store_same_id_different_tenants ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/validation_edge_tests.rs (/opt/rustwide/target/debug/deps/validation_edge_tests-9bcec762e161eb2f) [INFO] [stdout] [INFO] [stdout] running 22 tests [INFO] [stdout] test reject_empty_context_id ... ok [INFO] [stdout] test reject_oversized_context_id ... ok [INFO] [stdout] test custom_max_event_size ... ok [INFO] [stdout] test artifact_produced_in_task ... ok [INFO] [stdout] test accept_unicode_context_id ... ok [INFO] [stdout] test debug_impls_dont_panic ... ok [INFO] [stdout] test builder_rejects_empty_interfaces_in_card ... ok [INFO] [stdout] test reject_empty_parts ... ok [INFO] [stdout] test accept_small_metadata ... ok [INFO] [stdout] test accept_max_length_context_id ... ok [INFO] [stdout] test builder_rejects_zero_timeout ... ok [INFO] [stdout] test multi_turn_same_context_id ... ok [INFO] [stdout] test custom_event_queue_capacity ... ok [INFO] [stdout] test reject_whitespace_only_context_id ... ok [INFO] [stdout] test return_immediately_returns_submitted_task ... ok [INFO] [stdout] test shutdown_with_timeout ... ok [INFO] [stdout] test concurrent_list_and_send ... ok [INFO] [stdout] test task_store_config_both_ttl_and_capacity ... ok [INFO] [stdout] test metrics_receives_callbacks ... ok [INFO] [stdout] test shutdown_cancels_in_flight_tasks ... ok [INFO] [stdout] test reject_oversized_request_metadata ... ok [INFO] [stdout] test reject_oversized_metadata ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s [INFO] [stdout] [INFO] [stderr] Running tests/websocket_tests.rs (/opt/rustwide/target/debug/deps/websocket_tests-8dc33f2b766d0fd0) [INFO] [stderr] Doc-tests a2a_protocol_server [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 30 tests [INFO] [stdout] test src/executor_helpers.rs - executor_helpers::EventEmitter (line 192) ... ignored [INFO] [stdout] test src/executor_helpers.rs - executor_helpers::boxed_future (line 75) ... ignored [INFO] [stdout] test src/executor_helpers.rs - executor_helpers::boxed_future (line 83) ... ignored [INFO] [stdout] test src/rate_limit.rs - rate_limit (line 26) ... ignored [INFO] [stdout] test src/call_context.rs - call_context (line 19) - compile ... ok [INFO] [stdout] test src/executor.rs - executor::AgentExecutor (line 39) - compile ... ok [INFO] [stdout] test src/agent_card/hot_reload.rs - agent_card::hot_reload (line 23) - compile ... ok [INFO] [stdout] test src/push/tenant_config_store.rs - push::tenant_config_store::TenantAwareInMemoryPushConfigStore (line 30) - compile ... ok [INFO] [stdout] test src/serve.rs - serve (line 13) - compile ... ok [INFO] [stdout] test src/metrics.rs - metrics (line 14) - compile ... ok [INFO] [stdout] test src/store/tenant/store.rs - store::tenant::store::TenantAwareInMemoryTaskStore (line 52) - compile ... ok [INFO] [stdout] test src/executor_helpers.rs - executor_helpers::agent_executor (line 112) ... ok [INFO] [stdout] test src/executor_helpers.rs - executor_helpers (line 15) ... ok [INFO] [stdout] test src/store/tenant/mod.rs - store::tenant (line 21) - compile ... ok [INFO] [stdout] test src/serve.rs - serve::serve (line 86) - compile ... ok [INFO] [stdout] test src/executor.rs - executor::AgentExecutor (line 69) ... ok [INFO] [stdout] test src/store/task_store/mod.rs - store::task_store::TaskStore (line 37) ... ok [INFO] [stdout] test src/executor_helpers.rs - executor_helpers (line 45) ... ok [INFO] [stdout] test src/dispatch/mod.rs - dispatch::DispatchConfig (line 34) ... ok [INFO] [stdout] test src/executor_helpers.rs - executor_helpers::agent_executor (line 99) ... ok [INFO] [stdout] test src/dispatch/cors.rs - dispatch::cors::CorsConfig (line 23) ... ok [INFO] [stdout] test src/push/sender.rs - push::sender::PushRetryPolicy (line 62) ... ok [INFO] [stdout] test src/tenant_resolver.rs - tenant_resolver (line 21) ... ok [INFO] [stdout] test src/rate_limit.rs - rate_limit (line 14) ... ok [INFO] [stdout] test src/tenant_config.rs - tenant_config (line 14) ... ok [INFO] [stdout] test src/handler/limits.rs - handler::limits::HandlerLimits (line 17) ... ok [INFO] [stdout] test src/tenant_resolver.rs - tenant_resolver::BearerTokenTenantResolver (line 126) ... ok [INFO] [stdout] test src/tenant_resolver.rs - tenant_resolver::PathSegmentTenantResolver (line 215) ... ok [INFO] [stdout] test src/streaming/event_queue/manager.rs - streaming::event_queue::manager::EventQueueManager::new (line 76) ... ok [INFO] [stdout] test src/tenant_resolver.rs - tenant_resolver::HeaderTenantResolver (line 72) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 26 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 2.49s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "abdd89eb1a10a7cd7fdc002d24dd3cdc8c584d9babc8771434e82aa776f9cc92", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "abdd89eb1a10a7cd7fdc002d24dd3cdc8c584d9babc8771434e82aa776f9cc92", kill_on_drop: false }` [INFO] [stdout] abdd89eb1a10a7cd7fdc002d24dd3cdc8c584d9babc8771434e82aa776f9cc92