use std::time::Duration;
use dvb_ci_runtime::{Driver, MockCaDevice};
#[global_allocator]
static A: test_alloc::ProcessCounting = test_alloc::ProcessCounting::new();
#[test]
fn pump_does_not_copy_the_received_frame() {
const FRAME: usize = 4096; let mock = MockCaDevice::new([vec![0u8; FRAME]]);
let mut driver = Driver::new(mock);
A.reset_largest();
let _ = driver.pump(Duration::from_millis(1));
let largest = A.largest();
eprintln!("largest single allocation during pump: {largest} bytes");
assert!(
largest < FRAME / 2,
"largest single allocation was {largest} bytes: the frame was copied"
);
}