Test prefetch parameter in batch consume
(self)
| 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""" |
| 402 | ring_name = "/test/ring_buffer_prefetch" |
| 403 | |
| 404 | # Step 1: Create ring buffer |
| 405 | cli_cmd = ( |
| 406 | f"test stats ring-buffer-gen {ring_name} 10 {INTERVAL_USEC} {RING_SIZE}" |
| 407 | ) |
| 408 | result = self.vapi.cli(cli_cmd) |
| 409 | assert "Generated" in result, f"CLI failed: {result}" |
| 410 | |
| 411 | # Step 2: Get ring buffer |
| 412 | ring_buffer = self.statistics.get_ring_buffer(f"{ring_name}") |
| 413 | |
| 414 | # Step 3: Test with prefetch enabled |
| 415 | data1 = ring_buffer.consume_data_batch(thread_index=0, prefetch=True) |
| 416 | |
| 417 | # Step 4: Reset and test with prefetch disabled |
| 418 | ring_buffer.local_tails[0] = 0 |
| 419 | ring_buffer.last_sequences[0] = None |
| 420 | |
| 421 | data2 = ring_buffer.consume_data_batch(thread_index=0, prefetch=False) |
| 422 | |
| 423 | # Step 5: Results should be the same regardless of prefetch setting |
| 424 | assert data1 == data2, "Prefetch parameter should not affect results" |
nothing calls this directly
no test coverage detected