diff --git a/src/api/router/snapshot_session_tests.rs b/src/api/router/snapshot_session_tests.rs index 36101a05..68feb23a 100644 --- a/src/api/router/snapshot_session_tests.rs +++ b/src/api/router/snapshot_session_tests.rs @@ -861,9 +861,15 @@ async fn mst2_durable_http_frame_and_raw_delivery_recheck_after_release() { "revocation must suppress the next raw block or END frame" ); assert!(stream.next().await.is_none()); + // Cold raw first earns an immutable receipt, then opens the separate + // authenticated delivery stream. Revocation still suppresses its tail. fixture.counts.assert( - if raw { 1 } else { 0 }, - if raw { fixture.raw.len() } else { 0 }, + if raw { 2 } else { 0 }, + if raw { + fixture.raw.len() + first.len() + } else { + 0 + }, ); } } diff --git a/src/ceres/snapshot/chunks_stream_tests.rs b/src/ceres/snapshot/chunks_stream_tests.rs index 2cf7fb53..61de6453 100644 --- a/src/ceres/snapshot/chunks_stream_tests.rs +++ b/src/ceres/snapshot/chunks_stream_tests.rs @@ -104,7 +104,10 @@ async fn exact_source_builder_admits_all_install_workspace_before_open_and_cance let projection = build_source_with_resources( digest, size, - || async { Ok(stream(vec![Ok(raw.clone())])) }, + || async { + opens.fetch_add(1, Ordering::SeqCst); + Ok(stream(vec![Ok(raw.clone())])) + }, &budget, &builders, )