MCPcopy Create free account
hub / github.com/FDio/vpp / test_ring_buffer_error_handling

Method test_ring_buffer_error_handling

test/test_ring_buffer.py:180–209  ·  view source on GitHub ↗

Test ring buffer error handling

(self)

Source from the content-addressed store, hash-verified

178 assert isinstance(metadata["sequence"], int), "Sequence should be integer"
179
180 def test_ring_buffer_error_handling(self):
181 """Test ring buffer error handling"""
182 ring_name = "/test/ring_buffer_error"
183
184 # Step 1: Create ring buffer
185 cli_cmd = (
186 f"test stats ring-buffer-gen {ring_name} 10 {INTERVAL_USEC} {RING_SIZE}"
187 )
188 result = self.vapi.cli(cli_cmd)
189 assert "Generated" in result, f"CLI failed: {result}"
190
191 # Step 2: Get ring buffer
192 ring_buffer = self.statistics.get_ring_buffer(f"{ring_name}")
193
194 # Step 3: Test invalid thread index
195 config = ring_buffer.get_config()
196 invalid_thread = config["n_threads"] + 1
197
198 try:
199 ring_buffer._get_thread_metadata(invalid_thread)
200 assert False, "Should have raised IndexError for invalid thread"
201 except IndexError:
202 pass # Expected
203
204 # Step 4: Test invalid parameters
205 data = ring_buffer.consume_data(thread_index=0, max_entries=0)
206 assert data == [], "Zero max_entries should return empty list"
207
208 data = ring_buffer.consume_data(thread_index=0, max_entries=-1)
209 assert data == [], "Negative max_entries should return empty list"
210
211 def test_ring_buffer_api_compatibility(self):
212 """Test ring buffer API compatibility methods"""

Callers

nothing calls this directly

Calls 5

get_ring_bufferMethod · 0.80
get_configMethod · 0.80
_get_thread_metadataMethod · 0.80
consume_dataMethod · 0.80
cliMethod · 0.45

Tested by

no test coverage detected