From 2e370d59b2b13ca36e7d772726d3635608b8587f Mon Sep 17 00:00:00 2001 From: Logan Johnson Date: Tue, 1 Sep 2026 13:09:10 -0400 Subject: [PATCH] test(acp): ignore heartbeat frames in wake replay assertion Signed-off-by: Logan Johnson --- crates/buzz-acp/src/workflow_wake_recovery_tests.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/buzz-acp/src/workflow_wake_recovery_tests.rs b/crates/buzz-acp/src/workflow_wake_recovery_tests.rs index 97b0a33e17..6b6fbe9e46 100644 --- a/crates/buzz-acp/src/workflow_wake_recovery_tests.rs +++ b/crates/buzz-acp/src/workflow_wake_recovery_tests.rs @@ -332,7 +332,9 @@ async fn assert_identity_ingress(missing: bool) { let start = tokio::time::Instant::now(); assert!(crate::workflow_wake::authenticate_for_listener(&mut gate, &harness, &rest, &received).await.is_none()); if missing { - assert!(timeout(Duration::from_millis(100), server.next()).await.is_err(), "terminal absence must not issue replay REQ"); + // The transport heartbeat can send Ping independently of replay. + // Answer control frames and assert that no application REQ is sent. + assert!(timeout(Duration::from_millis(100), next_data_frame(&mut server)).await.is_err(), "terminal absence must not issue replay REQ"); assert_eq!(probes.load(Ordering::SeqCst), 2); } else { assert!(start.elapsed() >= Duration::from_secs(1), "immediate discovery failures must be paced");