@@ -175,6 +175,37 @@ TEST_F(SwitchStateBaseTest, switchHashAlgorithmCapabilitiesGet)
175175 ASSERT_EQ (haSet1, haSet2);
176176}
177177
178+ TEST_F (SwitchStateBaseTest, switchPacketTrimmingDscpModeCapabilitiesGet)
179+ {
180+ sai_s32_list_t data = { .count = 0 , .list = nullptr };
181+
182+ auto status = m_ss->queryAttrEnumValuesCapability (
183+ m_swid, SAI_OBJECT_TYPE_SWITCH, SAI_SWITCH_ATTR_PACKET_TRIM_DSCP_RESOLUTION_MODE, &data
184+ );
185+ ASSERT_EQ (status, SAI_STATUS_BUFFER_OVERFLOW);
186+
187+ std::vector<sai_int32_t > qmList (data.count );
188+ data.list = qmList.data ();
189+
190+ status = m_ss->queryAttrEnumValuesCapability (
191+ m_swid, SAI_OBJECT_TYPE_SWITCH, SAI_SWITCH_ATTR_PACKET_TRIM_DSCP_RESOLUTION_MODE, &data
192+ );
193+ ASSERT_EQ (status, SAI_STATUS_SUCCESS);
194+
195+ const std::set<sai_packet_trim_dscp_resolution_mode_t > qmSet1 = {
196+ SAI_PACKET_TRIM_DSCP_RESOLUTION_MODE_DSCP_VALUE,
197+ SAI_PACKET_TRIM_DSCP_RESOLUTION_MODE_FROM_TC
198+ };
199+
200+ std::set<sai_packet_trim_dscp_resolution_mode_t > qmSet2;
201+
202+ std::transform (
203+ qmList.cbegin (), qmList.cend (), std::inserter (qmSet2, qmSet2.begin ()),
204+ [](sai_int32_t value) { return static_cast <sai_packet_trim_dscp_resolution_mode_t >(value); }
205+ );
206+ ASSERT_EQ (qmSet1, qmSet2);
207+ }
208+
178209TEST_F (SwitchStateBaseTest, switchPacketTrimmingQueueModeCapabilitiesGet)
179210{
180211 sai_s32_list_t data = { .count = 0 , .list = nullptr };
@@ -237,6 +268,18 @@ TEST_F(SwitchStateBaseTest, bufferProfilePacketAdmissionFailActionCapabilitiesGe
237268 ASSERT_EQ (paSet1, paSet2);
238269}
239270
271+ TEST_F (SwitchStateBaseTest, switchQoSMaxNumOfTrafficClasses)
272+ {
273+ ASSERT_EQ (m_ss->set_maximum_number_of_traffic_classes (), SAI_STATUS_SUCCESS);
274+
275+ sai_attribute_t attr;
276+ attr.id = SAI_SWITCH_ATTR_QOS_MAX_NUMBER_OF_TRAFFIC_CLASSES;
277+ ASSERT_EQ (m_ss->get (SAI_OBJECT_TYPE_SWITCH, sai_serialize_object_id (m_swid), 1 , &attr), SAI_STATUS_SUCCESS);
278+
279+ const sai_uint8_t maxTcNum = 16 ;
280+ ASSERT_EQ (attr.value .u8 , maxTcNum);
281+ }
282+
240283// Test the following function:
241284// sai_status_t initialize_voq_switch_objects(
242285// _In_ uint32_t attr_count,
0 commit comments