use nlink::netlink::link::DummyLink;
use tokio_stream::StreamExt;
use crate::common::TestNamespace;
#[tokio::test]
async fn batch_and_eager_dumps_observe_same_link_count() -> nlink::Result<()> {
require_root!();
nlink::require_modules!("dummy");
let ns = TestNamespace::new("batch-parity")?;
let conn = ns.connection()?;
for i in 0..40 {
conn.add_link(DummyLink::new(format!("d{i}"))).await?;
}
let eager = conn.get_links().await?;
let mut streamed = 0usize;
let mut stream = conn.stream_links().await?;
while let Some(item) = stream.next().await {
item?;
streamed += 1;
}
assert_eq!(
eager.len(),
streamed,
"syscall_batch parity: eager + streaming dumps must observe \
identical link counts (eager={}, streaming={})",
eager.len(),
streamed,
);
Ok(())
}