[INFO] fetching crate punch-types 1.2.0...
[INFO] testing punch-types-1.2.0 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate punch-types 1.2.0 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate punch-types 1.2.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate punch-types 1.2.0
[INFO] tweaked toml for crates.io crate punch-types 1.2.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate punch-types 1.2.0 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate punch-types 1.2.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 76c7f9861ceba41732e41d57e8d1829da177c27a462688bb9e61827d436f8c9f
[INFO] running `Command { std: "docker" "start" "76c7f9861ceba41732e41d57e8d1829da177c27a462688bb9e61827d436f8c9f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "76c7f9861ceba41732e41d57e8d1829da177c27a462688bb9e61827d436f8c9f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "76c7f9861ceba41732e41d57e8d1829da177c27a462688bb9e61827d436f8c9f" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "76c7f9861ceba41732e41d57e8d1829da177c27a462688bb9e61827d436f8c9f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "76c7f9861ceba41732e41d57e8d1829da177c27a462688bb9e61827d436f8c9f" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling ed25519 v2.2.3
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling notify-types v1.0.1
[INFO] [stderr]    Compiling inotify v0.10.2
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling notify v7.0.0
[INFO] [stderr]    Compiling uuid v1.22.0
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling rand_chacha v0.3.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-impl v2.0.18
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling punch-types v1.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 59s
[INFO] running `Command { std: "docker" "inspect" "76c7f9861ceba41732e41d57e8d1829da177c27a462688bb9e61827d436f8c9f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "76c7f9861ceba41732e41d57e8d1829da177c27a462688bb9e61827d436f8c9f" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling punch-types v1.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 37.00s
[INFO] running `Command { std: "docker" "inspect" "76c7f9861ceba41732e41d57e8d1829da177c27a462688bb9e61827d436f8c9f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "76c7f9861ceba41732e41d57e8d1829da177c27a462688bb9e61827d436f8c9f" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.28s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/punch_types-c9e6c344d0ff6c4f)
[INFO] [stdout] 
[INFO] [stdout] running 563 tests
[INFO] [stdout] test a2a::tests::test_http_client_custom_timeout ... ok
[INFO] [stdout] test a2a::tests::test_a2a_message_serialization ... ok
[INFO] [stdout] test a2a::tests::test_agent_card_with_auth ... ok
[INFO] [stdout] test a2a::tests::test_http_client_creation ... ok
[INFO] [stdout] test a2a::tests::test_http_client_url_construction ... ok
[INFO] [stdout] test a2a::tests::test_our_card_generation ... ok
[INFO] [stdout] test a2a::tests::test_duplicate_registration_overwrites ... ok
[INFO] [stdout] test a2a::tests::test_agent_card_creation ... ok
[INFO] [stdout] test a2a::tests::test_task_input_default_mode ... ok
[INFO] [stdout] test a2a::tests::test_registry_count ... ok
[INFO] [stdout] test a2a::tests::test_registry_list ... ok
[INFO] [stdout] test a2a::tests::test_registry_remove_nonexistent ... ok
[INFO] [stdout] test a2a::tests::test_task_input_serialization ... ok
[INFO] [stdout] test a2a::tests::test_task_output_serialization ... ok
[INFO] [stdout] test a2a::tests::test_task_status_serialization_roundtrip ... ok
[INFO] [stdout] test a2a::tests::test_task_status_transitions ... ok
[INFO] [stdout] test a2a::tests::test_unknown_agent_returns_none ... ok
[INFO] [stdout] test approval::tests::test_approval_decision_serialization ... ok
[INFO] [stdout] test approval::tests::test_approval_request_serialization ... ok
[INFO] [stdout] test approval::tests::test_auto_approve_counter ... ok
[INFO] [stdout] test approval::tests::test_auto_approve_handler_always_approves ... ok
[INFO] [stdout] test approval::tests::test_catch_all_policy ... ok
[INFO] [stdout] test a2a::tests::test_registry_register_and_discover ... ok
[INFO] [stdout] test a2a::tests::test_registry_remove ... ok
[INFO] [stdout] test a2a::tests::test_serialization_roundtrip ... ok
[INFO] [stdout] test approval::tests::test_critical_risk_requires_approval_even_with_auto_approve ... ok
[INFO] [stdout] test a2a::tests::test_task_output_optional_data ... ok
[INFO] [stdout] test approval::tests::test_deny_all_handler_always_denies ... ok
[INFO] [stdout] test approval::tests::test_policy_matching_exact ... ok
[INFO] [stdout] test approval::tests::test_policy_matching_no_match ... ok
[INFO] [stdout] test approval::tests::test_policy_matching_wildcard ... ok
[INFO] [stdout] test approval::tests::test_reset_counters ... ok
[INFO] [stdout] test approval::tests::test_evaluate_first_match_wins ... ok
[INFO] [stdout] test audit::tests::chain_of_10_verifies_cleanly ... ok
[INFO] [stdout] test audit::tests::empty_audit_log_verifies_cleanly ... ok
[INFO] [stdout] test audit::tests::entries_by_action_type_filters_correctly ... ok
[INFO] [stdout] test approval::tests::test_empty_policies_allow_all ... ok
[INFO] [stdout] test audit::tests::genesis_entry_has_empty_prev_hash ... ok
[INFO] [stdout] test audit::tests::last_entry_returns_correct_entry ... ok
[INFO] [stdout] test audit::tests::serialization_roundtrip_preserves_hashes ... ok
[INFO] [stdout] test audit::tests::tampered_content_detected ... ok
[INFO] [stdout] test audit::tests::entries_by_actor_filters_correctly ... ok
[INFO] [stdout] test audit::tests::tampered_hash_detected ... ok
[INFO] [stdout] test audit::tests::entries_since_returns_correct_subset ... ok
[INFO] [stdout] test audit::tests::multiple_action_types_coexist ... ok
[INFO] [stdout] test audit::tests::second_entry_prev_hash_matches_first_hash ... ok
[INFO] [stdout] test audit::tests::sequence_gap_detected ... ok
[INFO] [stdout] test approval::tests::test_risk_level_ordering ... ok
[INFO] [stdout] test audit::tests::broken_chain_swap_entries ... ok
[INFO] [stdout] test browser::tests::test_browser_action_serialization ... ok
[INFO] [stdout] test browser::tests::test_browser_pool_active_sessions ... ok
[INFO] [stdout] test browser::tests::test_browser_pool_close_all ... ok
[INFO] [stdout] test browser::tests::test_browser_pool_close_session ... ok
[INFO] [stdout] test browser::tests::test_browser_pool_create_session ... ok
[INFO] [stdout] test browser::tests::test_browser_pool_max_sessions_enforced ... ok
[INFO] [stdout] test browser::tests::test_browser_config_defaults ... ok
[INFO] [stdout] test browser::tests::test_browser_result_construction ... ok
[INFO] [stdout] test browser::tests::test_browser_config_serialization_roundtrip ... ok
[INFO] [stdout] test browser::tests::test_browser_state_transitions ... ok
[INFO] [stdout] test capability::tests::test_app_integration_scoped ... ok
[INFO] [stdout] test capability::tests::test_automation_display ... ok
[INFO] [stdout] test capability::tests::test_capability_display_all_scoped ... ok
[INFO] [stdout] test capability::tests::test_capability_display_all_scopeless ... ok
[INFO] [stdout] test capability::tests::test_capability_grant_construction ... ok
[INFO] [stdout] test capability::tests::test_capability_grant_with_expiry ... ok
[INFO] [stdout] test browser::tests::test_browser_session_creation ... ok
[INFO] [stdout] test capability::tests::test_capability_serde_roundtrip ... ok
[INFO] [stdout] test browser::tests::test_browser_session_default ... ok
[INFO] [stdout] test capability::tests::test_exact_host ... ok
[INFO] [stdout] test capability::tests::test_glob_file_read ... ok
[INFO] [stdout] test capability::tests::test_glob_no_match ... ok
[INFO] [stdout] test capability::tests::test_mcp_access_exact ... ok
[INFO] [stdout] test capability::tests::test_mcp_access_wildcard ... ok
[INFO] [stdout] test capability::tests::test_network_wildcard_grants_all ... ok
[INFO] [stdout] test capability::tests::test_scopeless_capabilities ... ok
[INFO] [stdout] test capability::tests::test_shell_wildcard_grants_all ... ok
[INFO] [stdout] test capability::tests::test_subdomain_wildcard_host ... ok
[INFO] [stdout] test capability::tests::test_ui_automation_scoped ... ok
[INFO] [stdout] test capability::tests::test_glob_matches_star_star_slash_star ... ok
[INFO] [stdout] test capability::tests::test_variant_mismatch ... ok
[INFO] [stdout] test capability::tests::test_mcp_access_display ... ok
[INFO] [stdout] test capability::tests::test_wildcard_host ... ok
[INFO] [stdout] test capability::tests::test_wildcard_grants_all ... ok
[INFO] [stdout] test cdp::tests::test_cdp_browser_driver_is_send_sync ... ok
[INFO] [stdout] test cdp::tests::test_cdp_command_new ... ok
[INFO] [stdout] test cdp::tests::test_cdp_config_from_browser_config ... ok
[INFO] [stdout] test cdp::tests::test_cdp_config_serialization_roundtrip ... ok
[INFO] [stdout] test capability::tests::test_all_scopeless_capability_matches ... ok
[INFO] [stdout] test capability::tests::test_automation_cross_variant_no_match ... ok
[INFO] [stdout] test cdp::tests::test_cdp_driver_chrome_args_minimal ... ok
[INFO] [stdout] test cdp::tests::test_cdp_driver_creation ... ok
[INFO] [stdout] test cdp::tests::test_cdp_driver_multiple_sessions ... ok
[INFO] [stdout] test cdp::tests::test_cdp_driver_session_tracking ... ok
[INFO] [stdout] test cdp::tests::test_cdp_driver_chrome_args ... ok
[INFO] [stdout] test cdp::tests::test_cdp_driver_with_defaults ... ok
[INFO] [stdout] test cdp::tests::test_cdp_error_to_punch_error ... ok
[INFO] [stdout] test cdp::tests::test_cdp_error_variants ... ok
[INFO] [stdout] test cdp::tests::test_cdp_response_parse_error ... ok
[INFO] [stdout] test cdp::tests::test_cdp_response_parse_success ... ok
[INFO] [stdout] test cdp::tests::test_cdp_session_creation ... ok
[INFO] [stdout] test cdp::tests::test_cdp_session_serialization ... ok
[INFO] [stdout] test cdp::tests::test_cdp_target_info_parse ... ok
[INFO] [stdout] test cdp::tests::test_chrome_candidate_paths_not_empty ... ok
[INFO] [stdout] test cdp::tests::test_cdp_browser_driver_implements_trait ... ok
[INFO] [stdout] test cdp::tests::test_click_command_format ... ok
[INFO] [stdout] test cdp::tests::test_cdp_config_defaults ... ok
[INFO] [stdout] test cdp::tests::test_evaluate_command_format ... ok
[INFO] [stdout] test cdp::tests::test_get_content_command_with_selector ... ok
[INFO] [stdout] test cdp::tests::test_get_content_command_without_selector ... ok
[INFO] [stdout] test cdp::tests::test_resolve_chrome_path_with_config ... ok
[INFO] [stdout] test cdp::tests::test_screenshot_command_format ... ok
[INFO] [stdout] test cdp::tests::test_type_text_command_format ... ok
[INFO] [stdout] test cdp::tests::test_wait_for_selector_command_format ... ok
[INFO] [stdout] test cdp::tests::test_navigate_command_format ... ok
[INFO] [stdout] test cdp::tests::test_get_html_command_without_selector ... ok
[INFO] [stdout] test config::tests::test_budget_config_has_limit ... ok
[INFO] [stdout] test config::tests::test_budget_config_serde ... ok
[INFO] [stdout] test config::tests::test_budget_config_serde_empty ... ok
[INFO] [stdout] test cdp::tests::test_cdp_driver_next_id_increments ... ok
[INFO] [stdout] test config::tests::test_channel_config_defaults ... ok
[INFO] [stdout] test config::tests::test_channel_config_serde ... ok
[INFO] [stdout] test cdp::tests::test_get_html_command_with_selector ... ok
[INFO] [stdout] test cdp::tests::test_cdp_driver_session_not_found ... ok
[INFO] [stdout] test config::tests::test_mcp_server_config_defaults ... ok
[INFO] [stdout] test config::tests::test_model_config_optional_fields ... ok
[INFO] [stdout] test config::tests::test_model_config_serde_roundtrip ... ok
[INFO] [stdout] test config::tests::test_mcp_server_config_serde ... ok
[INFO] [stdout] test config::tests::test_memory_config_defaults ... ok
[INFO] [stdout] test config::tests::test_memory_config_roundtrip ... ok
[INFO] [stdout] test config::tests::test_provider_display_all_variants ... ok
[INFO] [stdout] test config::tests::test_provider_hash ... ok
[INFO] [stdout] test config::tests::test_provider_serde_roundtrip ... ok
[INFO] [stdout] test config::tests::test_provider_equality ... ok
[INFO] [stdout] test config::tests::test_provider_serde_rename ... ok
[INFO] [stdout] test config::tests::test_tunnel_config_default_mode ... ok
[INFO] [stdout] test config::tests::test_tunnel_config_serde ... ok
[INFO] [stdout] test coordinator::tests::test_agent_info_all_statuses ... ok
[INFO] [stdout] test coordinator::tests::test_agent_info_serde_roundtrip ... ok
[INFO] [stdout] test coordinator::tests::test_agent_info_clone ... ok
[INFO] [stdout] test coordinator::tests::test_agent_message_result_serde ... ok
[INFO] [stdout] test coordinator::tests::test_agent_message_result_empty_response ... ok
[INFO] [stdout] test creed::tests::test_creed_id_default ... ok
[INFO] [stdout] test creed::tests::test_creed_new_creates_valid_default ... ok
[INFO] [stdout] test creed::tests::test_creed_id_display ... ok
[INFO] [stdout] test creed::tests::test_decay_learned_behaviors ... ok
[INFO] [stdout] test creed::tests::test_due_heartbeat_tasks_every_bout_always_due ... ok
[INFO] [stdout] test creed::tests::test_creed_id_serde_roundtrip ... ok
[INFO] [stdout] test creed::tests::test_due_heartbeat_tasks_daily_cadence ... ok
[INFO] [stdout] test creed::tests::test_due_heartbeat_tasks_hourly_cadence ... ok
[INFO] [stdout] test creed::tests::test_due_heartbeat_tasks_mixed_cadences ... ok
[INFO] [stdout] test creed::tests::test_due_heartbeat_tasks_inactive_skipped ... ok
[INFO] [stdout] test creed::tests::test_due_heartbeat_tasks_unknown_cadence_skipped ... ok
[INFO] [stdout] test creed::tests::test_due_heartbeat_tasks_on_wake_only_first_time ... ok
[INFO] [stdout] test creed::tests::test_learn_adds_new_observation ... ok
[INFO] [stdout] test creed::tests::test_learn_reinforces_existing_observation ... ok
[INFO] [stdout] test creed::tests::test_mark_heartbeat_checked ... ok
[INFO] [stdout] test creed::tests::test_prune_learned_behaviors ... ok
[INFO] [stdout] test creed::tests::test_mark_heartbeat_checked_out_of_bounds ... ok
[INFO] [stdout] test creed::tests::test_record_bout ... ok
[INFO] [stdout] test creed::tests::test_record_messages ... ok
[INFO] [stdout] test creed::tests::test_render_compact_minimal ... ok
[INFO] [stdout] test creed::tests::test_render_produces_nonempty_output_with_all_sections ... ok
[INFO] [stdout] test creed::tests::test_render_compact_shorter_than_full ... ok
[INFO] [stdout] test creed::tests::test_render_skips_empty_sections ... ok
[INFO] [stdout] test creed::tests::test_render_compact_with_content ... ok
[INFO] [stdout] test creed::tests::test_with_identity ... ok
[INFO] [stdout] test creed::tests::test_with_directive ... ok
[INFO] [stdout] test creed::tests::test_with_self_awareness ... ok
[INFO] [stdout] test error::tests::test_capability_denied_display ... ok
[INFO] [stdout] test error::tests::test_channel_error_display ... ok
[INFO] [stdout] test creed::tests::test_with_trait ... ok
[INFO] [stdout] test creed::tests::test_with_trait_clamping ... ok
[INFO] [stdout] test error::tests::test_auth_error_display ... ok
[INFO] [stdout] test error::tests::test_bout_error_display ... ok
[INFO] [stdout] test error::tests::test_config_error_display ... ok
[INFO] [stdout] test error::tests::test_context_overflow_display ... ok
[INFO] [stdout] test error::tests::test_empty_string_errors ... ok
[INFO] [stdout] test error::tests::test_error_debug_impl ... ok
[INFO] [stdout] test error::tests::test_fighter_error_display ... ok
[INFO] [stdout] test error::tests::test_from_io_error ... ok
[INFO] [stdout] test error::tests::test_from_serde_error ... ok
[INFO] [stdout] test error::tests::test_gorilla_error_display ... ok
[INFO] [stdout] test cdp::tests::test_find_chrome_returns_existing_path_or_none ... ok
[INFO] [stdout] test error::tests::test_knowledge_graph_error_display ... ok
[INFO] [stdout] test error::tests::test_marketplace_error_display ... ok
[INFO] [stdout] test error::tests::test_mcp_error_display ... ok
[INFO] [stdout] test error::tests::test_memory_error_display ... ok
[INFO] [stdout] test error::tests::test_tool_error_display ... ok
[INFO] [stdout] test error::tests::test_internal_error_display ... ok
[INFO] [stdout] test error::tests::test_event_bus_error_display ... ok
[INFO] [stdout] test error::tests::test_provider_error_display ... ok
[INFO] [stdout] test error::tests::test_punch_result_err ... ok
[INFO] [stdout] test error::tests::test_punch_result_ok ... ok
[INFO] [stdout] test error::tests::test_rate_limited_display ... ok
[INFO] [stdout] test event::tests::test_bout_started_serde ... ok
[INFO] [stdout] test event::tests::test_combo_triggered_serde ... ok
[INFO] [stdout] test error::tests::test_tool_not_found_display ... ok
[INFO] [stdout] test error::tests::test_tool_timeout_display ... ok
[INFO] [stdout] test event::tests::test_event_payload_with_correlation ... ok
[INFO] [stdout] test event::tests::test_fighter_message_serde ... ok
[INFO] [stdout] test event::tests::test_gorilla_paused_serde ... ok
[INFO] [stdout] test event::tests::test_gorilla_unleashed_serde ... ok
[INFO] [stdout] test event::tests::test_tool_executed_serde ... ok
[INFO] [stdout] test fighter::tests::test_fighter_id_copy_clone ... ok
[INFO] [stdout] test fighter::tests::test_fighter_id_default ... ok
[INFO] [stdout] test fighter::tests::test_fighter_id_display ... ok
[INFO] [stdout] test fighter::tests::test_fighter_id_hash ... ok
[INFO] [stdout] test fighter::tests::test_fighter_id_new_is_unique ... ok
[INFO] [stdout] test fighter::tests::test_fighter_id_serde_transparent ... ok
[INFO] [stdout] test fighter::tests::test_fighter_manifest_serde ... ok
[INFO] [stdout] test fighter::tests::test_fighter_stats_default ... ok
[INFO] [stdout] test fighter::tests::test_fighter_stats_serde_roundtrip ... ok
[INFO] [stdout] test fighter::tests::test_fighter_status_display ... ok
[INFO] [stdout] test fighter::tests::test_fighter_status_equality ... ok
[INFO] [stdout] test fighter::tests::test_fighter_status_serde_roundtrip ... ok
[INFO] [stdout] test event::tests::test_bout_ended_serde ... ok
[INFO] [stdout] test event::tests::test_error_event_serde ... ok
[INFO] [stdout] test event::tests::test_event_clone ... ok
[INFO] [stdout] test fighter::tests::test_weight_class_serde_roundtrip ... ok
[INFO] [stdout] test event::tests::test_event_payload_new ... ok
[INFO] [stdout] test event::tests::test_event_payload_serde_roundtrip ... ok
[INFO] [stdout] test gorilla::tests::test_capabilities_from_move_file_read ... ok
[INFO] [stdout] test gorilla::tests::test_capabilities_from_move_file_list ... ok
[INFO] [stdout] test event::tests::test_fighter_spawned_serde ... ok
[INFO] [stdout] test gorilla::tests::test_capabilities_from_move_memory ... ok
[INFO] [stdout] test config::tests::test_budget_config_defaults ... ok
[INFO] [stdout] test fighter::tests::test_weight_class_display ... ok
[INFO] [stdout] test fighter::tests::test_weight_class_serde_values ... ok
[INFO] [stdout] test gorilla::tests::test_capabilities_from_move_knowledge ... ok
[INFO] [stdout] test gorilla::tests::test_capabilities_from_move_read_file ... ok
[INFO] [stdout] test gorilla::tests::test_capabilities_from_move_write_file ... ok
[INFO] [stdout] test gorilla::tests::test_effective_system_prompt_fallback ... ok
[INFO] [stdout] test gorilla::tests::test_gorilla_id_default ... ok
[INFO] [stdout] test gorilla::tests::test_capabilities_from_move_shell ... ok
[INFO] [stdout] test gorilla::tests::test_capabilities_from_move_unknown ... ok
[INFO] [stdout] test gorilla::tests::test_capabilities_from_move_web ... ok
[INFO] [stdout] test gorilla::tests::test_effective_capabilities_no_duplicates ... ok
[INFO] [stdout] test gorilla::tests::test_gorilla_id_display ... ok
[INFO] [stdout] test gorilla::tests::test_gorilla_id_serde_transparent ... ok
[INFO] [stdout] test gorilla::tests::test_gorilla_status_display ... ok
[INFO] [stdout] test gorilla::tests::test_gorilla_manifest_serde ... ok
[INFO] [stdout] test gorilla::tests::test_gorilla_metrics_default ... ok
[INFO] [stdout] test hot_reload::tests::apply_change_rejects_invalid_config ... ok
[INFO] [stdout] test hot_reload::tests::apply_change_returns_change_set ... ok
[INFO] [stdout] test gorilla::tests::test_effective_capabilities_derived ... ok
[INFO] [stdout] test gorilla::tests::test_effective_system_prompt_explicit ... ok
[INFO] [stdout] test gorilla::tests::test_gorilla_metrics_serde ... ok
[INFO] [stdout] test hot_reload::tests::config_watcher_can_be_created ... ok
[INFO] [stdout] test hot_reload::tests::current_config_accessible_after_creation ... ok
[INFO] [stdout] test gorilla::tests::test_gorilla_id_new_unique ... ok
[INFO] [stdout] test hot_reload::tests::diff_detects_api_key_changed ... ok
[INFO] [stdout] test gorilla::tests::test_gorilla_status_serde_roundtrip ... ok
[INFO] [stdout] test hot_reload::tests::diff_detects_channel_added ... ok
[INFO] [stdout] test hot_reload::tests::diff_detects_channel_removed ... ok
[INFO] [stdout] test hot_reload::tests::diff_returns_empty_for_identical_configs ... ok
[INFO] [stdout] test hot_reload::tests::subscriber_receives_initial_config ... ok
[INFO] [stdout] test hot_reload::tests::diff_detects_memory_config_changed ... ok
[INFO] [stdout] test hot_reload::tests::diff_detects_model_change ... ok
[INFO] [stdout] test hot_reload::tests::validate_catches_empty_model_name ... ok
[INFO] [stdout] test hot_reload::tests::diff_detects_rate_limit_change ... ok
[INFO] [stdout] test hot_reload::tests::validate_catches_empty_db_path ... ok
[INFO] [stdout] test hot_reload::tests::diff_detects_listen_address_changed ... ok
[INFO] [stdout] test hot_reload::tests::diff_detects_mcp_server_added ... ok
[INFO] [stdout] test hot_reload::tests::diff_detects_mcp_server_removed ... ok
[INFO] [stdout] test image_gen::tests::test_result_construction ... ok
[INFO] [stdout] test hot_reload::tests::validate_catches_invalid_socket_addr ... ok
[INFO] [stdout] test hot_reload::tests::validate_passes_valid_config ... ok
[INFO] [stdout] test image_gen::tests::test_format_variants ... ok
[INFO] [stdout] test image_gen::tests::test_style_serialization ... ok
[INFO] [stdout] test link::tests::test_content_construction ... ok
[INFO] [stdout] test link::tests::test_content_type_classification ... ok
[INFO] [stdout] test hot_reload::tests::validate_warns_on_empty_api_key ... ok
[INFO] [stdout] test image_gen::tests::test_default_dimensions ... ok
[INFO] [stdout] test link::tests::test_metadata ... ok
[INFO] [stdout] test image_gen::tests::test_request_creation ... ok
[INFO] [stdout] test link::tests::test_url_support_check ... ok
[INFO] [stdout] test link::tests::test_word_count ... ok
[INFO] [stdout] test media::tests::test_media_input_metadata ... ok
[INFO] [stdout] test hot_reload::tests::validate_catches_zero_rate_limit ... ok
[INFO] [stdout] test media::tests::test_media_type_detection ... ok
[INFO] [stdout] test media::tests::test_mime_types ... ok
[INFO] [stdout] test media::tests::test_supported_types ... ok
[INFO] [stdout] test message::tests::test_content_part_image_serde ... ok
[INFO] [stdout] test message::tests::test_content_part_text_serde ... ok
[INFO] [stdout] test message::tests::test_message_new ... ok
[INFO] [stdout] test message::tests::test_message_content_parts_skipped_when_empty ... ok
[INFO] [stdout] test message::tests::test_message_new_empty_content ... ok
[INFO] [stdout] test message::tests::test_message_has_images_false ... ok
[INFO] [stdout] test message::tests::test_message_serde_skips_empty_vecs ... ok
[INFO] [stdout] test message::tests::test_message_serde_roundtrip ... ok
[INFO] [stdout] test message::tests::test_message_with_parts ... ok
[INFO] [stdout] test message::tests::test_message_with_tool_calls ... ok
[INFO] [stdout] test message::tests::test_role_display ... ok
[INFO] [stdout] test message::tests::test_role_equality ... ok
[INFO] [stdout] test message::tests::test_role_hash ... ok
[INFO] [stdout] test media::tests::test_analysis_construction ... ok
[INFO] [stdout] test message::tests::test_tool_call_result_error ... ok
[INFO] [stdout] test message::tests::test_tool_call_result_image_skipped_when_none ... ok
[INFO] [stdout] test message::tests::test_tool_call_result_is_error_default ... ok
[INFO] [stdout] test message::tests::test_tool_call_result_serde ... ok
[INFO] [stdout] test message::tests::test_tool_call_serde ... ok
[INFO] [stdout] test model_catalog::tests::alias_resolution ... ok
[INFO] [stdout] test model_catalog::tests::builtin_models_are_populated ... ok
[INFO] [stdout] test model_catalog::tests::estimated_cost_calculation ... ok
[INFO] [stdout] test message::tests::test_role_serde_values ... ok
[INFO] [stdout] test message::tests::test_tool_call_result_with_image ... ok
[INFO] [stdout] test model_catalog::tests::builtin_model_count_is_reasonable ... ok
[INFO] [stdout] test message::tests::test_role_serde_roundtrip ... ok
[INFO] [stdout] test model_catalog::tests::list_by_capability ... ok
[INFO] [stdout] test model_catalog::tests::list_by_provider ... ok
[INFO] [stdout] test model_catalog::tests::list_by_weight_class ... ok
[INFO] [stdout] test model_catalog::tests::serialization_round_trip ... ok
[INFO] [stdout] test model_catalog::tests::model_count_reflects_registrations ... ok
[INFO] [stdout] test model_catalog::tests::model_recommendation_with_requirements ... ok
[INFO] [stdout] test model_catalog::tests::recommendation_with_cost_constraint ... ok
[INFO] [stdout] test model_catalog::tests::recommendation_with_provider_preference ... ok
[INFO] [stdout] test model_catalog::tests::register_and_retrieve_model ... ok
[INFO] [stdout] test model_catalog::tests::usage_tracking_record_and_retrieve ... ok
[INFO] [stdout] test model_catalog::tests::usage_without_registered_model_still_records ... ok
[INFO] [stdout] test patch::tests::test_apply_modification ... ok
[INFO] [stdout] test patch::tests::test_apply_multi_hunk ... ok
[INFO] [stdout] test patch::tests::test_apply_new_file_patch ... ok
[INFO] [stdout] test patch::tests::test_apply_simple_addition ... ok
[INFO] [stdout] test patch::tests::test_empty_diff ... ok
[INFO] [stdout] test patch::tests::test_fuzzy_matching_with_offset ... ok
[INFO] [stdout] test patch::tests::test_generate_diff_from_two_strings ... ok
[INFO] [stdout] test patch::tests::test_generate_empty_diff_for_identical_content ... ok
[INFO] [stdout] test patch::tests::test_generated_diff_can_be_parsed_back ... ok
[INFO] [stdout] test patch::tests::test_hunk_header_various_formats ... ok
[INFO] [stdout] test model_catalog::tests::unknown_model_returns_none ... ok
[INFO] [stdout] test model_catalog::tests::usage_stats_accumulation ... ok
[INFO] [stdout] test patch::tests::test_parse_deleted_file_diff ... ok
[INFO] [stdout] test patch::tests::test_apply_simple_deletion ... ok
[INFO] [stdout] test patch::tests::test_parse_multi_hunk_diff ... ok
[INFO] [stdout] test patch::tests::test_parse_diff_with_git_prefix ... ok
[INFO] [stdout] test patch::tests::test_parse_new_file_diff ... ok
[INFO] [stdout] test patch::tests::test_round_trip_generate_parse_apply ... ok
[INFO] [stdout] test patch::tests::test_validate_clean_patch ... ok
[INFO] [stdout] test patch::tests::test_validate_conflicting_patch ... ok
[INFO] [stdout] test patch::tests::test_parse_simple_unified_diff ... ok
[INFO] [stdout] test patch::tests::test_reverse_patch_roundtrip ... ok
[INFO] [stdout] test prompt_guard::tests::test_clean_input_allow_decision ... ok
[INFO] [stdout] test prompt_guard::tests::test_alert_has_position ... ok
[INFO] [stdout] test prompt_guard::tests::test_case_insensitive ... ok
[INFO] [stdout] test prompt_guard::tests::test_base64_instruction ... ok
[INFO] [stdout] test prompt_guard::tests::test_act_as_persona ... ok
[INFO] [stdout] test prompt_guard::tests::test_default_config ... ok
[INFO] [stdout] test prompt_guard::tests::test_clean_input_passes ... ok
[INFO] [stdout] test prompt_guard::tests::test_base64_content_detection ... ok
[INFO] [stdout] test prompt_guard::tests::test_custom_pattern ... ok
[INFO] [stdout] test prompt_guard::tests::test_delimiter_separator ... ok
[INFO] [stdout] test prompt_guard::tests::test_data_uri_injection ... ok
[INFO] [stdout] test prompt_guard::tests::test_delimiter_system_tag ... ok
[INFO] [stdout] test prompt_guard::tests::test_clean_input_is_safe ... ok
[INFO] [stdout] test prompt_guard::tests::test_delimiter_backtick ... ok
[INFO] [stdout] test prompt_guard::tests::test_combined_attacks ... ok
[INFO] [stdout] test prompt_guard::tests::test_ignore_previous_instructions ... ok
[INFO] [stdout] test prompt_guard::tests::test_forget_instructions ... ok
[INFO] [stdout] test prompt_guard::tests::test_disregard_instructions ... ok
[INFO] [stdout] test prompt_guard::tests::test_empty_input_is_safe ... ok
[INFO] [stdout] test prompt_guard::tests::test_instruction_override ... ok
[INFO] [stdout] test prompt_guard::tests::test_html_script_injection ... ok
[INFO] [stdout] test prompt_guard::tests::test_forget_everything ... ok
[INFO] [stdout] test prompt_guard::tests::test_jailbreak_developer_mode ... ok
[INFO] [stdout] test prompt_guard::tests::test_jailbreak_dan_mode ... ok
[INFO] [stdout] test prompt_guard::tests::test_recommended_action_display ... ok
[INFO] [stdout] test prompt_guard::tests::test_javascript_uri ... ok
[INFO] [stdout] test prompt_guard::tests::test_ignore_previous_instructions_dangerous ... ok
[INFO] [stdout] test prompt_guard::tests::test_long_input_detection ... ok
[INFO] [stdout] test prompt_guard::tests::test_configurable_threshold_changes_behavior ... ok
[INFO] [stdout] test prompt_guard::tests::test_prompt_delimiter_inst ... ok
[INFO] [stdout] test prompt_guard::tests::test_role_reassignment ... ok
[INFO] [stdout] test prompt_guard::tests::test_role_confusion_system ... ok
[INFO] [stdout] test prompt_guard::tests::test_role_confusion_assistant ... ok
[INFO] [stdout] test prompt_guard::tests::test_multiple_patterns_higher_score ... ok
[INFO] [stdout] test prompt_guard::tests::test_sanitize_strips_injection ... ok
[INFO] [stdout] test prompt_guard::tests::test_scan_and_decide_block ... ok
[INFO] [stdout] test prompt_guard::tests::test_severity_ordering ... ok
[INFO] [stdout] test prompt_guard::tests::test_sanitize_clean_input_unchanged ... ok
[INFO] [stdout] test prompt_guard::tests::test_threat_level_display ... ok
[INFO] [stdout] test prompt_guard::tests::test_threat_level_ordering ... ok
[INFO] [stdout] test prompt_guard::tests::test_sanitize_strips_script_tags ... ok
[INFO] [stdout] test prompt_guard::tests::test_normal_conversation_no_false_positives ... ok
[INFO] [stdout] test prompt_guard::tests::test_scan_and_decide_warn ... ok
[INFO] [stdout] test prompt_guard::tests::test_scan_safe_input ... ok
[INFO] [stdout] test provider_health::tests::circuit_open_blocks_availability ... ok
[INFO] [stdout] test provider_health::tests::consecutive_errors_opens_circuit ... ok
[INFO] [stdout] test provider_health::tests::default_config_has_sensible_values ... ok
[INFO] [stdout] test provider_health::tests::error_rate_threshold_triggers_circuit ... ok
[INFO] [stdout] test provider_health::tests::error_rate_tracking ... ok
[INFO] [stdout] test provider_health::tests::failed_half_open_reopens_circuit ... ok
[INFO] [stdout] test provider_health::tests::failover_chain_returns_next_provider ... ok
[INFO] [stdout] test provider_health::tests::failover_skips_unhealthy_providers ... ok
[INFO] [stdout] test provider_health::tests::health_status_transitions ... ok
[INFO] [stdout] test provider_health::tests::latency_percentile_tracking ... ok
[INFO] [stdout] test provider_health::tests::manual_circuit_reset ... ok
[INFO] [stdout] test prompt_guard::tests::test_system_prompt_extraction ... ok
[INFO] [stdout] test provider_health::tests::multiple_providers_tracked_independently ... ok
[INFO] [stdout] test provider_health::tests::record_error_increments_counters ... ok
[INFO] [stdout] test provider_health::tests::recovery_timeout_triggers_half_open ... ok
[INFO] [stdout] test provider_health::tests::successful_half_open_closes_circuit ... ok
[INFO] [stdout] test provider_health::tests::record_success_updates_stats ... ok
[INFO] [stdout] test prompt_guard::tests::test_scan_result_has_threat_level ... ok
[INFO] [stdout] test provider_health::tests::unknown_provider_is_available ... ok
[INFO] [stdout] test reply::tests::test_apply_plain_text ... ok
[INFO] [stdout] test reply::tests::test_apply_truncation ... ok
[INFO] [stdout] test reply::tests::test_directive_creation ... ok
[INFO] [stdout] test sandbox::tests::test_build_command_creates_sanitized_command ... ok
[INFO] [stdout] test sandbox::tests::test_build_command_fails_for_denied_commands ... ok
[INFO] [stdout] test sandbox::tests::test_custom_config_overrides_defaults ... ok
[INFO] [stdout] test sandbox::tests::test_default_config_sensible_values ... ok
[INFO] [stdout] test sandbox::tests::test_denied_command_display_formatting ... ok
[INFO] [stdout] test reply::tests::test_apply_code_format ... ok
[INFO] [stdout] test sandbox::tests::test_empty_allowed_paths_denies_all ... ok
[INFO] [stdout] test sandbox::tests::test_path_canonicalization_relative ... ok
[INFO] [stdout] test sandbox::tests::test_glob_match_patterns ... ok
[INFO] [stdout] test prompt_guard::tests::test_what_are_your_instructions ... ok
[INFO] [stdout] test sandbox::tests::test_sanitize_environment_only_allowed_vars ... ok
[INFO] [stdout] test sandbox::tests::test_validate_command_allows_normal_commands ... ok
[INFO] [stdout] test sandbox::tests::test_validate_command_blocks_denied_commands ... ok
[INFO] [stdout] test sandbox::tests::test_sanitize_environment_filters_denied_patterns ... ok
[INFO] [stdout] test sandbox::tests::test_validate_command_detects_pipe_to_sensitive ... ok
[INFO] [stdout] test prompt_guard::tests::test_unicode_homoglyphs_cyrillic ... ok
[INFO] [stdout] test sandbox::tests::test_validate_path_allows_files_in_allowed_dirs ... ok
[INFO] [stdout] test sandbox::tests::test_validate_command_detects_fork_bomb ... ok
[INFO] [stdout] test sandbox::tests::test_validate_command_detects_substitution ... ok
[INFO] [stdout] test reply::tests::test_format_serialization ... ok
[INFO] [stdout] test sandbox::tests::test_validate_path_detects_traversal ... ok
[INFO] [stdout] test secret_store::tests::test_delete_secret ... ok
[INFO] [stdout] test secret_store::tests::test_file_secret_provider_invalid_format ... ok
[INFO] [stdout] test secret_store::tests::test_list_secret_names ... ok
[INFO] [stdout] test secret_store::tests::test_mask_secret_empty ... ok
[INFO] [stdout] test sandbox::tests::test_validate_path_blocks_denied_dirs ... ok
[INFO] [stdout] test sandbox::tests::test_validate_path_handles_symlink_traversal ... ok
[INFO] [stdout] test secret_store::tests::test_mask_secret_normal ... ok
[INFO] [stdout] test secret_store::tests::test_mask_secret_short ... ok
[INFO] [stdout] test secret_store::tests::test_secret_clone ... ok
[INFO] [stdout] test secret_store::tests::test_secret_display_is_masked ... ok
[INFO] [stdout] test secret_store::tests::test_overwrite_secret ... ok
[INFO] [stdout] test secret_store::tests::test_secret_expose ... ok
[INFO] [stdout] test secret_store::tests::test_store_and_retrieve ... ok
[INFO] [stdout] test secret_store::tests::test_file_secret_provider_parse ... ok
[INFO] [stdout] test secret_store::tests::test_store_len_and_empty ... ok
[INFO] [stdout] test secret_store::tests::test_store_missing_key ... ok
[INFO] [stdout] test secret_store::tests::test_zeroization_on_drop ... ok
[INFO] [stdout] test signing::tests::test_generate_keypair ... ok
[INFO] [stdout] test signing::tests::test_invalid_hex_key ... ok
[INFO] [stdout] test signing::tests::test_invalid_hex_signature ... ok
[INFO] [stdout] test signing::tests::test_key_hex_roundtrip ... ok
[INFO] [stdout] test secret_store::tests::test_env_secret_provider ... ok
[INFO] [stdout] test signing::tests::test_signature_is_hex_encoded ... ok
[INFO] [stdout] test signing::tests::test_sign_and_verify ... ok
[INFO] [stdout] test prompt_guard::tests::test_score_range ... ok
[INFO] [stdout] test prompt_guard::tests::test_unicode_homoglyphs_fullwidth ... ok
[INFO] [stdout] test signing::tests::test_empty_manifest_signing ... ok
[INFO] [stdout] test signing::tests::test_signed_manifest_roundtrip ... ok
[INFO] [stdout] test signing::tests::test_verifying_key_hex_roundtrip ... ok
[INFO] [stdout] test ssrf::tests::test_allows_explicit_allowed_host ... ok
[INFO] [stdout] test ssrf::tests::test_allows_public_ip ... ok
[INFO] [stdout] test ssrf::tests::test_allows_public_url ... ok
[INFO] [stdout] test ssrf::tests::test_blocks_127_0_0_1 ... ok
[INFO] [stdout] test signing::tests::test_signed_manifest_serialization ... ok
[INFO] [stdout] test ssrf::tests::test_blocks_172_16_private_range ... ok
[INFO] [stdout] test ssrf::tests::test_blocks_custom_pattern ... ok
[INFO] [stdout] test ssrf::tests::test_blocks_file_scheme ... ok
[INFO] [stdout] test ssrf::tests::test_blocks_192_168_private_range ... ok
[INFO] [stdout] test ssrf::tests::test_blocks_ftp_scheme ... ok
[INFO] [stdout] test ssrf::tests::test_blocks_gopher_scheme ... ok
[INFO] [stdout] test signing::tests::test_signed_manifest_tampered ... ok
[INFO] [stdout] test ssrf::tests::test_blocks_ipv6_localhost ... ok
[INFO] [stdout] test ssrf::tests::test_blocks_link_local ... ok
[INFO] [stdout] test ssrf::tests::test_blocks_localhost ... ok
[INFO] [stdout] test ssrf::tests::test_blocks_metadata_google_internal ... ok
[INFO] [stdout] test ssrf::tests::test_cidr_range_contains ... ok
[INFO] [stdout] test ssrf::tests::test_ipv6_unique_local_blocked ... ok
[INFO] [stdout] test ssrf::tests::test_url_with_port ... ok
[INFO] [stdout] test ssrf::tests::test_url_with_userinfo ... ok
[INFO] [stdout] test ssrf::tests::test_blocks_10_x_private_range ... ok
[INFO] [stdout] test ssrf::tests::test_invalid_url_no_scheme ... ok
[INFO] [stdout] test signing::tests::test_tamper_detection ... ok
[INFO] [stdout] test signing::tests::test_wrong_key_rejection ... ok
[INFO] [stdout] test prompt_guard::tests::test_you_are_now_a_hacker_dangerous ... ok
[INFO] [stdout] test taint::tests::test_bleed_detect_private_key ... ok
[INFO] [stdout] test taint::tests::test_bleed_clean_command_passes ... ok
[INFO] [stdout] test taint::tests::test_bleed_detect_password_in_url ... ok
[INFO] [stdout] test taint::tests::test_sensitivity_ordering ... ok
[INFO] [stdout] test taint::tests::test_integration_shell_command_with_leaked_secret_blocked ... ok
[INFO] [stdout] test taint::tests::test_taint_multiple_labels_on_same_value ... ok
[INFO] [stdout] test taint::tests::test_taint_basic_taint_and_check ... ok
[INFO] [stdout] test taint::tests::test_taint_no_taint_on_clean_value ... ok
[INFO] [stdout] test taint::tests::test_taint_propagation_chain ... ok
[INFO] [stdout] test taint::tests::test_taint_substring_detection ... ok
[INFO] [stdout] test tenant::tests::test_tenant_id_copy_clone ... ok
[INFO] [stdout] test tenant::tests::test_tenant_id_default ... ok
[INFO] [stdout] test tenant::tests::test_tenant_id_hash ... ok
[INFO] [stdout] test tenant::tests::test_tenant_id_new_is_unique ... ok
[INFO] [stdout] test tenant::tests::test_tenant_id_serde_transparent ... ok
[INFO] [stdout] test tenant::tests::test_tenant_quota_default ... ok
[INFO] [stdout] test tenant::tests::test_tenant_quota_serde_roundtrip ... ok
[INFO] [stdout] test tenant::tests::test_tenant_id_display ... ok
[INFO] [stdout] test taint::tests::test_bleed_custom_pattern_registration ... ok
[INFO] [stdout] test taint::tests::test_bleed_env_var_scanning ... ok
[INFO] [stdout] test tenant::tests::test_tenant_status_display ... ok
[INFO] [stdout] test tenant::tests::test_tenant_serde_roundtrip ... ok
[INFO] [stdout] test tool::tests::test_tool_category_display_all ... ok
[INFO] [stdout] test tenant::tests::test_tenant_status_serde_roundtrip ... ok
[INFO] [stdout] test tool::tests::test_tool_category_hash ... ok
[INFO] [stdout] test tool::tests::test_tool_category_equality ... ok
[INFO] [stdout] test tool::tests::test_tool_category_serde_roundtrip ... ok
[INFO] [stdout] test tool::tests::test_tool_category_serde_values ... ok
[INFO] [stdout] test tool::tests::test_tool_result_failure ... ok
[INFO] [stdout] test tool_policy::tests::test_deny_rule_blocks_tool ... ok
[INFO] [stdout] test tool_policy::tests::test_deny_wins_over_allow ... ok
[INFO] [stdout] test tool_policy::tests::test_fighter_pattern_matching ... ok
[INFO] [stdout] test tool_policy::tests::test_glob_tool_pattern_matching ... ok
[INFO] [stdout] test tool_policy::tests::test_glob_wildcard_matches_everything ... ok
[INFO] [stdout] test tool::tests::test_tool_definition_serde ... ok
[INFO] [stdout] test tool_policy::tests::test_multiple_rules_different_scopes ... ok
[INFO] [stdout] test tool::tests::test_tool_result_success ... ok
[INFO] [stdout] test tool_policy::tests::test_default_safety_rules ... ok
[INFO] [stdout] test tool_policy::tests::test_max_invocations_condition ... ok
[INFO] [stdout] test tool_policy::tests::test_no_rules_allows_all ... ok
[INFO] [stdout] test tool_policy::tests::test_policy_rule_serialization_roundtrip ... ok
[INFO] [stdout] test tool_policy::tests::test_priority_ordering ... ok
[INFO] [stdout] test tool_policy::tests::test_remove_rule ... ok
[INFO] [stdout] test tool_policy::tests::test_require_capability_condition ... ok
[INFO] [stdout] test troop::tests::test_agent_message_serde ... ok
[INFO] [stdout] test taint::tests::test_bleed_detect_aws_access_key ... ok
[INFO] [stdout] test tool_policy::tests::test_time_window_condition ... ok
[INFO] [stdout] test taint::tests::test_bleed_detect_bearer_token ... ok
[INFO] [stdout] test troop::tests::test_agent_message_type_task_assignment ... ok
[INFO] [stdout] test troop::tests::test_agent_message_type_vote_request ... ok
[INFO] [stdout] test troop::tests::test_auction_bid_serde ... ok
[INFO] [stdout] test troop::tests::test_coordination_strategy_display ... ok
[INFO] [stdout] test troop::tests::test_coordination_strategy_serde_roundtrip ... ok
[INFO] [stdout] test taint::tests::test_bleed_detect_base64_encoded_secret ... ok
[INFO] [stdout] test troop::tests::test_data_share_message ... ok
[INFO] [stdout] test troop::tests::test_escalation_message ... ok
[INFO] [stdout] test troop::tests::test_message_channel_serde ... ok
[INFO] [stdout] test troop::tests::test_restart_strategy_serde ... ok
[INFO] [stdout] test troop::tests::test_message_priority_default ... ok
[INFO] [stdout] test troop::tests::test_message_priority_ordering ... ok
[INFO] [stdout] test troop::tests::test_selection_criteria_serde ... ok
[INFO] [stdout] test troop::tests::test_swarm_task_progress ... ok
[INFO] [stdout] test troop::tests::test_subtask_status_serde ... ok
[INFO] [stdout] test troop::tests::test_troop_id_copy_clone ... ok
[INFO] [stdout] test troop::tests::test_swarm_subtask_with_dependencies ... ok
[INFO] [stdout] test troop::tests::test_troop_id_default ... ok
[INFO] [stdout] test troop::tests::test_troop_id_hash ... ok
[INFO] [stdout] test troop::tests::test_troop_id_serde_transparent ... ok
[INFO] [stdout] test troop::tests::test_troop_status_serde_roundtrip ... ok
[INFO] [stdout] test workspace::tests::test_active_files ... ok
[INFO] [stdout] test troop::tests::test_troop_id_display ... ok
[INFO] [stdout] test troop::tests::test_troop_id_new_is_unique ... ok
[INFO] [stdout] test workspace::tests::test_detect_project_type_rust ... ok
[INFO] [stdout] test troop::tests::test_troop_serde_roundtrip ... ok
[INFO] [stdout] test troop::tests::test_troop_status_display ... ok
[INFO] [stdout] test workspace::tests::test_git_info ... ok
[INFO] [stdout] test workspace::tests::test_recent_changes ... ok
[INFO] [stdout] test workspace::tests::test_summary_generation ... ok
[INFO] [stdout] test workspace::tests::test_detect_project_type_javascript ... ok
[INFO] [stdout] test tool_policy::tests::test_policy_decision_includes_matching_rule_names ... ok
[INFO] [stderr]      Running tests/security.rs (/opt/rustwide/target/debug/deps/security-662ffc6f5505fce0)
[INFO] [stdout] test signing::tests::test_large_manifest_signing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 563 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.94s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 31 tests
[INFO] [stdout] test test_audit_chain_verification ... ok
[INFO] [stdout] test test_audit_entries_since ... ok
[INFO] [stdout] test test_audit_entry_hashes_unique ... ok
[INFO] [stdout] test test_audit_filtering ... ok
[INFO] [stdout] test test_audit_genesis_entry ... ok
[INFO] [stdout] test test_audit_hash_chain_linkage ... ok
[INFO] [stdout] test test_audit_serde_roundtrip ... ok
[INFO] [stdout] test test_sandbox_allows_valid_paths ... ok
[INFO] [stdout] test test_sandbox_blocks_dangerous_commands ... ok
[INFO] [stdout] test test_sandbox_allows_safe_commands ... ok
[INFO] [stdout] test test_sandbox_detects_path_traversal ... ok
[INFO] [stdout] test test_sandbox_detects_shell_injection ... ok
[INFO] [stdout] test test_sandbox_empty_allowlist_denies_all ... ok
[INFO] [stdout] test test_sandbox_env_sanitization ... ok
[INFO] [stdout] test test_ssrf_allowlist_bypasses_checks ... ok
[INFO] [stdout] test test_ssrf_allows_public_urls ... ok
[INFO] [stdout] test test_ssrf_blocks_cloud_metadata ... ok
[INFO] [stdout] test test_ssrf_blocks_dangerous_schemes ... ok
[INFO] [stdout] test test_ssrf_blocks_ipv6_private ... ok
[INFO] [stdout] test test_sandbox_blocks_denied_paths ... ok
[INFO] [stdout] test test_sandbox_blocks_pipes_to_sensitive_commands ... ok
[INFO] [stdout] test test_ssrf_blocks_private_ranges ... ok
[INFO] [stdout] test test_ssrf_custom_pattern_blocking ... ok
[INFO] [stdout] test test_ssrf_url_with_userinfo ... ok
[INFO] [stdout] test test_ssrf_blocks_localhost ... ok
[INFO] [stdout] test test_ssrf_invalid_url_no_scheme ... ok
[INFO] [stdout] test test_prompt_guard_safe_input ... ok
[INFO] [stdout] test test_prompt_guard_custom_pattern ... ok
[INFO] [stdout] test test_prompt_guard_detects_injection ... ok
[INFO] [stdout] test test_prompt_guard_system_prompt_override ... ok
[INFO] [stdout] test test_prompt_guard_multi_vector_escalation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests punch_types
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "76c7f9861ceba41732e41d57e8d1829da177c27a462688bb9e61827d436f8c9f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "76c7f9861ceba41732e41d57e8d1829da177c27a462688bb9e61827d436f8c9f", kill_on_drop: false }`
[INFO] [stdout] 76c7f9861ceba41732e41d57e8d1829da177c27a462688bb9e61827d436f8c9f
