[INFO] fetching crate enact-channels 0.0.1... [INFO] testing enact-channels-0.0.1 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate enact-channels 0.0.1 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate enact-channels 0.0.1 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate enact-channels 0.0.1 [INFO] tweaked toml for crates.io crate enact-channels 0.0.1 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate enact-channels 0.0.1 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate enact-channels 0.0.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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.109 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.59 [INFO] [stderr] Downloaded wasm-bindgen v0.2.109 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.109 [INFO] [stderr] Downloaded base-encode v0.3.1 [INFO] [stderr] Downloaded enact-runner v0.0.1 [INFO] [stderr] Downloaded enact-config v0.0.1 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.109 [INFO] [stderr] Downloaded svix-ksuid v0.7.0 [INFO] [stderr] Downloaded js-sys v0.3.86 [INFO] [stderr] Downloaded enact-core v0.0.1 [INFO] [stderr] Downloaded web-sys v0.3.86 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6cb850ec95febf719b8c73e5d09c29dcf1a024503c916ff9c73383d68160d967 [INFO] running `Command { std: "docker" "start" "-a" "6cb850ec95febf719b8c73e5d09c29dcf1a024503c916ff9c73383d68160d967", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6cb850ec95febf719b8c73e5d09c29dcf1a024503c916ff9c73383d68160d967", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6cb850ec95febf719b8c73e5d09c29dcf1a024503c916ff9c73383d68160d967", kill_on_drop: false }` [INFO] [stdout] 6cb850ec95febf719b8c73e5d09c29dcf1a024503c916ff9c73383d68160d967 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4d48aba7fcd812896ebf9dae43a0a501675971b29c452ee6ce4c5f1245126a18 [INFO] running `Command { std: "docker" "start" "-a" "4d48aba7fcd812896ebf9dae43a0a501675971b29c452ee6ce4c5f1245126a18", kill_on_drop: false }` [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling openssl-probe v0.2.1 [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling deranged v0.5.6 [INFO] [stderr] Compiling num-conv v0.2.0 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling universal-hash v0.5.1 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling aead v0.5.2 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling utf8-width v0.1.8 [INFO] [stderr] Compiling polyval v0.6.2 [INFO] [stderr] Compiling base-encode v0.3.1 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling ctr v0.9.2 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling html-escape v0.2.13 [INFO] [stderr] Compiling ghash v0.5.1 [INFO] [stderr] Compiling uuid v1.21.0 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling dirs v5.0.1 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling dotenv v0.15.0 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling directories v5.0.1 [INFO] [stderr] Compiling aes-gcm v0.10.3 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling svix-ksuid v0.7.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling tower-http v0.5.2 [INFO] [stderr] Compiling tower v0.4.13 [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 serde v1.0.228 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling axum-core v0.4.5 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling axum v0.7.9 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling enact-core v0.0.1 [INFO] [stderr] Compiling enact-config v0.0.1 [INFO] [stderr] Compiling enact-runner v0.0.1 [INFO] [stderr] Compiling enact-channels v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `pending_activities` is never read [INFO] [stdout] --> src/teams.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct TeamsChannel { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 102 | pending_activities: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 34s [INFO] running `Command { std: "docker" "inspect" "4d48aba7fcd812896ebf9dae43a0a501675971b29c452ee6ce4c5f1245126a18", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4d48aba7fcd812896ebf9dae43a0a501675971b29c452ee6ce4c5f1245126a18", kill_on_drop: false }` [INFO] [stdout] 4d48aba7fcd812896ebf9dae43a0a501675971b29c452ee6ce4c5f1245126a18 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1bff4d2a599cf3b29d196a78bca21dfdab31279f34a3c7c5ed3466ec6d316d0d [INFO] running `Command { std: "docker" "start" "-a" "1bff4d2a599cf3b29d196a78bca21dfdab31279f34a3c7c5ed3466ec6d316d0d", kill_on_drop: false }` [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Compiling axum-core v0.4.5 [INFO] [stderr] Compiling tower-http v0.5.2 [INFO] [stderr] Compiling tower v0.4.13 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling axum v0.7.9 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling enact-core v0.0.1 [INFO] [stderr] Compiling enact-config v0.0.1 [INFO] [stderr] Compiling enact-runner v0.0.1 [INFO] [stderr] Compiling enact-channels v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `pending_activities` is never read [INFO] [stdout] --> src/teams.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct TeamsChannel { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 102 | pending_activities: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `pending_activities` is never read [INFO] [stdout] --> src/teams.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct TeamsChannel { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 102 | pending_activities: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 05s [INFO] running `Command { std: "docker" "inspect" "1bff4d2a599cf3b29d196a78bca21dfdab31279f34a3c7c5ed3466ec6d316d0d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1bff4d2a599cf3b29d196a78bca21dfdab31279f34a3c7c5ed3466ec6d316d0d", kill_on_drop: false }` [INFO] [stdout] 1bff4d2a599cf3b29d196a78bca21dfdab31279f34a3c7c5ed3466ec6d316d0d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 2dc532e3caa62d6a89c5b14529d8f7d5487dbffee9dd28b113150bcd03b65cd4 [INFO] running `Command { std: "docker" "start" "-a" "2dc532e3caa62d6a89c5b14529d8f7d5487dbffee9dd28b113150bcd03b65cd4", kill_on_drop: false }` [INFO] [stderr] warning: field `pending_activities` is never read [INFO] [stderr] --> src/teams.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 88 | pub struct TeamsChannel { [INFO] [stderr] | ------------ field in this struct [INFO] [stderr] ... [INFO] [stderr] 102 | pending_activities: Arc>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `enact-channels` (lib) generated 1 warning [INFO] [stderr] warning: `enact-channels` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.42s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/enact_channels-1c18b5145d52929f) [INFO] [stdout] [INFO] [stdout] running 110 tests [INFO] [stdout] test security::pairing::tests::test_pairing_disabled ... ok [INFO] [stdout] test teams::tests::test_parse_recipient ... ok [INFO] [stdout] test security::pairing::tests::test_pairing_flow ... ok [INFO] [stdout] test telegram::tests::infer_attachment_kind_from_target_detects_document_extension ... ok [INFO] [stdout] test telegram::tests::parse_attachment_markers_keeps_invalid_markers_in_text ... ok [INFO] [stdout] test telegram::tests::parse_path_only_attachment_rejects_sentence_text ... ok [INFO] [stdout] test teams::tests::test_build_recipient ... ok [INFO] [stdout] test telegram::tests::strip_tool_call_tags_handles_empty_input ... ok [INFO] [stdout] test telegram::tests::parse_attachment_markers_extracts_multiple_types ... ok [INFO] [stdout] test telegram::tests::parse_path_only_attachment_detects_existing_file ... ok [INFO] [stdout] test telegram::tests::strip_tool_call_tags_cleans_extra_newlines ... ok [INFO] [stdout] test telegram::tests::strip_tool_call_tags_handles_multiple_tags ... ok [INFO] [stdout] test telegram::tests::strip_tool_call_tags_handles_unclosed_tags ... ok [INFO] [stdout] test telegram::tests::strip_tool_call_tags_handles_mixed_tags ... ok [INFO] [stdout] test telegram::tests::strip_tool_call_tags_handles_unclosed_tool_call_with_json ... ok [INFO] [stdout] test telegram::tests::strip_tool_call_tags_handles_only_tags ... ok [INFO] [stdout] test telegram::tests::strip_tool_call_tags_removes_alias_tags ... ok [INFO] [stdout] test telegram::tests::strip_tool_call_tags_removes_invoke_tags ... ok [INFO] [stdout] test telegram::tests::strip_tool_call_tags_removes_standard_tags ... ok [INFO] [stdout] test telegram::tests::strip_tool_call_tags_removes_tool_call_tags ... ok [INFO] [stdout] test telegram::tests::strip_tool_call_tags_preserves_normal_text ... ok [INFO] [stdout] test telegram::tests::strip_tool_call_tags_removes_dash_tags ... ok [INFO] [stdout] test telegram::tests::strip_tool_call_tags_handles_mismatched_close_tag ... ok [INFO] [stdout] test teams::tests::test_strip_mentions ... ok [INFO] [stdout] test telegram::tests::parse_update_message_mention_only_group_strips_mention_and_drops_empty ... ok [INFO] [stdout] test telegram::tests::parse_update_message_allows_numeric_id_without_username ... ok [INFO] [stdout] test telegram::tests::parse_update_message_mention_only_group_requires_exact_mention ... ok [INFO] [stdout] test telegram::tests::telegram_contains_bot_mention_finds_mention ... ok [INFO] [stdout] test telegram::tests::telegram_contains_bot_mention_no_false_positives ... ok [INFO] [stdout] test telegram::tests::telegram_extract_bind_code_plain_command ... ok [INFO] [stdout] test telegram::tests::telegram_extract_bind_code_rejects_invalid_forms ... ok [INFO] [stdout] test telegram::tests::telegram_extract_bind_code_supports_bot_mention ... ok [INFO] [stdout] test telegram::tests::telegram_api_url_send_audio ... ok [INFO] [stdout] test telegram::tests::telegram_message_id_different_chat_different_id ... ok [INFO] [stdout] test telegram::tests::telegram_is_group_message_detects_groups ... ok [INFO] [stdout] test telegram::tests::telegram_message_id_different_message_different_id ... ok [INFO] [stdout] test telegram::tests::telegram_message_id_handles_zero_message_id ... ok [INFO] [stdout] test telegram::tests::telegram_message_id_is_deterministic ... ok [INFO] [stdout] test telegram::tests::telegram_message_id_no_uuid_randomness ... ok [INFO] [stdout] test telegram::tests::telegram_normalize_incoming_content_handles_multiple_mentions ... ok [INFO] [stdout] test telegram::tests::telegram_normalize_incoming_content_returns_none_for_empty ... ok [INFO] [stdout] test telegram::tests::telegram_normalize_incoming_content_strips_mention ... ok [INFO] [stdout] test telegram::tests::telegram_message_id_format_includes_chat_and_message_id ... ok [INFO] [stdout] test telegram::tests::stop_typing_clears_handle ... ok [INFO] [stdout] test telegram::tests::telegram_api_url ... ok [INFO] [stdout] test telegram::tests::telegram_api_url_send_video ... ok [INFO] [stdout] test telegram::tests::parse_update_message_extracts_thread_id_for_forum_topic ... ok [INFO] [stdout] test telegram::tests::parse_update_message_uses_chat_id_as_reply_target ... ok [INFO] [stdout] test telegram::tests::telegram_api_url_send_photo ... ok [INFO] [stdout] test telegram::tests::telegram_api_url_send_voice ... ok [INFO] [stdout] test telegram::tests::telegram_api_url_send_document ... ok [INFO] [stdout] test telegram::tests::send_draft_returns_none_when_stream_mode_off ... ok [INFO] [stdout] test telegram::tests::supports_draft_updates_respects_stream_mode ... ok [INFO] [stdout] test telegram::tests::start_typing_replaces_previous_handle ... ok [INFO] [stdout] test telegram::tests::telegram_channel_name ... ok [INFO] [stdout] test telegram::tests::finalize_draft_invalid_message_id_falls_back_to_chunk_send ... ok [INFO] [stdout] test telegram::tests::telegram_send_audio_nonexistent_file ... ok [INFO] [stdout] test telegram::tests::telegram_pairing_disabled_with_nonempty_allowlist ... ok [INFO] [stdout] test telegram::tests::telegram_split_at_newline ... ok [INFO] [stdout] test telegram::tests::telegram_split_at_word_boundary ... ok [INFO] [stdout] test telegram::tests::telegram_split_empty_message ... ok [INFO] [stdout] test telegram::tests::telegram_split_exact_limit ... ok [INFO] [stdout] test telegram::tests::telegram_split_over_limit ... ok [INFO] [stdout] test telegram::tests::telegram_split_preserves_content ... ok [INFO] [stdout] test telegram::tests::telegram_split_short_message ... ok [INFO] [stdout] test telegram::tests::telegram_split_very_long_message ... ok [INFO] [stdout] test telegram::tests::telegram_pairing_enabled_with_empty_allowlist ... ok [INFO] [stdout] test telegram::tests::telegram_send_document_bytes_empty_chat_id ... ok [INFO] [stdout] test telegram::tests::telegram_send_photo_nonexistent_file ... ok [INFO] [stdout] test telegram::tests::telegram_send_document_bytes_empty_filename ... ok [INFO] [stdout] test telegram::tests::telegram_send_document_by_url_builds_correct_json ... ok [INFO] [stdout] test telegram::tests::telegram_user_allowed_with_at_prefix_in_config ... ok [INFO] [stdout] test telegram::tests::telegram_send_document_nonexistent_file ... ok [INFO] [stdout] test telegram::tests::telegram_send_video_nonexistent_file ... ok [INFO] [stdout] test telegram::tests::telegram_send_document_bytes_empty_file ... ok [INFO] [stdout] test telegram::tests::telegram_mention_only_enabled_by_config ... ok [INFO] [stdout] test telegram::tests::telegram_send_document_bytes_builds_correct_form ... ok [INFO] [stdout] test telegram::tests::telegram_send_photo_by_url_builds_correct_json ... ok [INFO] [stdout] test telegram::tests::telegram_send_voice_nonexistent_file ... ok [INFO] [stdout] test telegram::tests::telegram_user_allowed_wildcard ... ok [INFO] [stdout] test traits::tests::default_draft_methods_return_success ... ok [INFO] [stdout] test traits::tests::channel_message_clone_preserves_fields ... ok [INFO] [stdout] test traits::tests::default_trait_methods_return_success ... ok [INFO] [stdout] test webhook::tests::test_message_queue ... ok [INFO] [stdout] test traits::tests::listen_sends_message_to_channel ... ok [INFO] [stdout] test webhook::tests::test_parse_payload ... ok [INFO] [stdout] test webhook::tests::test_parse_payload_with_secret ... ok [INFO] [stdout] test webhook::tests::test_parse_empty_payload ... ok [INFO] [stdout] test webhook::tests::test_webhook_channel_creation ... ok [INFO] [stdout] test webhook::tests::test_response_storage ... ok [INFO] [stdout] test whatsapp::tests::whatsapp_channel_name ... ok [INFO] [stdout] test whatsapp::tests::whatsapp_parse_unauthorized_number ... ok [INFO] [stdout] test whatsapp::tests::whatsapp_parse_valid_text_message ... ok [INFO] [stdout] test whatsapp::tests::whatsapp_signature_valid ... ok [INFO] [stdout] test whatsapp::tests::whatsapp_signature_invalid_cases ... ok [INFO] [stdout] test whatsapp::tests::whatsapp_verify_token ... ok [INFO] [stdout] test telegram::tests::telegram_send_photo_bytes_builds_correct_form ... ok [INFO] [stdout] test telegram::tests::telegram_user_allowed_by_numeric_id_identity ... ok [INFO] [stdout] test telegram::tests::telegram_user_denied_empty ... ok [INFO] [stdout] test telegram::tests::telegram_user_case_sensitive ... ok [INFO] [stdout] test telegram::tests::update_draft_rate_limit_short_circuits_network ... ok [INFO] [stdout] test telegram::tests::telegram_user_empty_string_denied ... ok [INFO] [stdout] test telegram::tests::telegram_wildcard_with_specific_users ... ok [INFO] [stdout] test telegram::tests::telegram_user_exact_match_not_substring ... ok [INFO] [stdout] test telegram::tests::telegram_send_photo_bytes_with_caption ... ok [INFO] [stdout] test telegram::tests::telegram_user_denied_when_none_of_identities_match ... ok [INFO] [stdout] test telegram::tests::typing_handle_starts_as_none ... ok [INFO] [stdout] test telegram::tests::update_draft_utf8_truncation_is_safe_for_multibyte_text ... ok [INFO] [stdout] test telegram::tests::telegram_send_document_bytes_with_caption ... ok [INFO] [stdout] test telegram::tests::telegram_user_allowed_specific ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 110 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.98s [INFO] [stdout] [INFO] [stderr] Doc-tests enact_channels [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test src/teams.rs - teams::teams_webhook_handler (line 540) ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "2dc532e3caa62d6a89c5b14529d8f7d5487dbffee9dd28b113150bcd03b65cd4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2dc532e3caa62d6a89c5b14529d8f7d5487dbffee9dd28b113150bcd03b65cd4", kill_on_drop: false }` [INFO] [stdout] 2dc532e3caa62d6a89c5b14529d8f7d5487dbffee9dd28b113150bcd03b65cd4