Test ring buffer operations on empty buffer
(self)
| 372 | assert isinstance(collected_data, list), "Callback should collect data in list" |
| 373 | |
| 374 | def test_ring_buffer_empty_operations(self): |
| 375 | """Test ring buffer operations on empty buffer""" |
| 376 | ring_name = "/test/ring_buffer_empty" |
| 377 | |
| 378 | # Step 1: Create ring buffer but don't generate data |
| 379 | cli_cmd = ( |
| 380 | f"test stats ring-buffer-gen {ring_name} 0 {INTERVAL_USEC} {RING_SIZE}" |
| 381 | ) |
| 382 | result = self.vapi.cli(cli_cmd) |
| 383 | assert "Generated" in result, f"CLI failed: {result}" |
| 384 | |
| 385 | # Step 2: Get ring buffer |
| 386 | ring_buffer = self.statistics.get_ring_buffer(f"{ring_name}") |
| 387 | |
| 388 | # Step 3: Test empty consume |
| 389 | data = ring_buffer.consume_data(thread_index=0) |
| 390 | assert data == [], "Empty buffer should return empty list" |
| 391 | |
| 392 | # Step 4: Test empty batch consume |
| 393 | data = ring_buffer.consume_data_batch(thread_index=0) |
| 394 | assert data == [], "Empty buffer should return empty list for batch" |
| 395 | |
| 396 | # Step 5: Test empty poll |
| 397 | data = ring_buffer.poll_for_data(thread_index=0, timeout=0.1) |
| 398 | assert data == [], "Empty buffer should return empty list for poll" |
| 399 | |
| 400 | def test_ring_buffer_prefetch_parameter(self): |
| 401 | """Test prefetch parameter in batch consume""" |
nothing calls this directly
no test coverage detected