@@ -285,6 +285,7 @@ TEST_F(VirtualSwitchSaiInterfaceTest, switchDebugCounterCapabilityGet)
285285{
286286 sai_s32_list_t enum_values_capability = { .count = 0 , .list = nullptr };
287287
288+ // Query the capability for IN_DROP_REASON_LIST with no allocated buffer
288289 ASSERT_EQ (SAI_STATUS_BUFFER_OVERFLOW,
289290 m_vssai->queryAttributeEnumValuesCapability (
290291 m_swid,
@@ -293,6 +294,7 @@ TEST_F(VirtualSwitchSaiInterfaceTest, switchDebugCounterCapabilityGet)
293294 &enum_values_capability));
294295 ASSERT_EQ (enum_values_capability.count , 3 );
295296
297+ // Allocate the required buffer and query again
296298 std::vector<sai_int32_t > haList (enum_values_capability.count );
297299 enum_values_capability.list = haList.data ();
298300
@@ -310,15 +312,21 @@ TEST_F(VirtualSwitchSaiInterfaceTest, switchDebugCounterCapabilityGet)
310312 SAI_IN_DROP_REASON_ACL_ANY
311313 };
312314
315+ // Transform the returned list into a set for comparison
313316 std::set<sai_in_drop_reason_t > actualInDropReasons;
314317 std::transform (
315318 haList.cbegin (), haList.cend (),
316319 std::inserter (actualInDropReasons, actualInDropReasons.begin ()),
317320 [](sai_int32_t value) { return static_cast <sai_in_drop_reason_t >(value); }
318321 );
322+
323+ // Verify the returned values match the expected values
319324 ASSERT_EQ (expectedInDropReasons, actualInDropReasons);
320325
326+ // Set count to a smaller value to trigger SAI_STATUS_BUFFER_OVERFLOW
321327 enum_values_capability.count = 1 ;
328+
329+ // Query the capability for OUT_DROP_REASON_LIST
322330 ASSERT_EQ (SAI_STATUS_BUFFER_OVERFLOW,
323331 m_vssai->queryAttributeEnumValuesCapability (
324332 m_swid,
@@ -327,6 +335,7 @@ TEST_F(VirtualSwitchSaiInterfaceTest, switchDebugCounterCapabilityGet)
327335 &enum_values_capability));
328336 ASSERT_EQ (enum_values_capability.count , 2 );
329337
338+ // Resize the buffer and query again
330339 haList.resize (enum_values_capability.count );
331340 enum_values_capability.list = haList.data ();
332341
@@ -351,6 +360,7 @@ TEST_F(VirtualSwitchSaiInterfaceTest, switchDebugCounterCapabilityGet)
351360 );
352361 ASSERT_EQ (expectedOutDropReasons, actualOutDropReasons);
353362
363+ // Query the capability for DEBUG_COUNTER_ATTR_TYPE
354364 enum_values_capability.count = 3 ;
355365 ASSERT_EQ (SAI_STATUS_BUFFER_OVERFLOW,
356366 m_vssai->queryAttributeEnumValuesCapability (
@@ -369,8 +379,11 @@ TEST_F(VirtualSwitchSaiInterfaceTest, switchDebugCounterCapabilityGet)
369379 SAI_OBJECT_TYPE_DEBUG_COUNTER,
370380 SAI_DEBUG_COUNTER_ATTR_TYPE,
371381 &enum_values_capability));
382+
383+ // Verify the required count is 4
372384 ASSERT_EQ (enum_values_capability.count , 4 );
373385
386+ // Define the expected DEBUG_COUNTER_ATTR_TYPE values
374387 const std::set<sai_debug_counter_type_t > expectedDebugCounterTypes = {
375388 SAI_DEBUG_COUNTER_TYPE_PORT_IN_DROP_REASONS,
376389 SAI_DEBUG_COUNTER_TYPE_PORT_OUT_DROP_REASONS,
0 commit comments