From 3577143b1237ffdb86ac5065c9771b8e03c0bea1 Mon Sep 17 00:00:00 2001 From: Derek Foster Date: Fri, 8 Nov 2024 19:29:12 -0800 Subject: [PATCH] Fix coding error in ReadMeterEntry() - The ReadSingleIndirectMeterEntryTest test case failed because ReadMeterEntry() was calling FindResourceTypeByID() with the table_id instead of meter_entry.meter_id(). Corrected this, and the test case passes. - Reenabled the ReadSingleIndirectMeterEntryTest test case. Signed-off-by: Derek Foster --- stratum/hal/lib/tdi/tdi_table_manager.cc | 4 ++-- stratum/hal/lib/tdi/tdi_table_manager_test.cc | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/stratum/hal/lib/tdi/tdi_table_manager.cc b/stratum/hal/lib/tdi/tdi_table_manager.cc index acee88df8..733271089 100644 --- a/stratum/hal/lib/tdi/tdi_table_manager.cc +++ b/stratum/hal/lib/tdi/tdi_table_manager.cc @@ -977,8 +977,8 @@ ::util::Status TdiTableManager::ReadMeterEntry( ASSIGN_OR_RETURN(uint32 table_id, tdi_sde_interface_->GetTdiRtId(meter_entry.meter_id())); - ASSIGN_OR_RETURN(auto resource_type, - p4_info_manager_->FindResourceTypeByID(table_id)); + ASSIGN_OR_RETURN(auto resource_type, p4_info_manager_->FindResourceTypeByID( + meter_entry.meter_id())); if (resource_type == "Meter") { { diff --git a/stratum/hal/lib/tdi/tdi_table_manager_test.cc b/stratum/hal/lib/tdi/tdi_table_manager_test.cc index 53e048242..2924d5745 100644 --- a/stratum/hal/lib/tdi/tdi_table_manager_test.cc +++ b/stratum/hal/lib/tdi/tdi_table_manager_test.cc @@ -358,8 +358,7 @@ TEST_F(TdiTableManagerTest, DISABLED_RejectMeterEntryInsertDelete) { EXPECT_EQ(ERR_INVALID_PARAM, ret.error_code()); } -// See https://github.com/ipdk-io/stratum-dev/issues/306. -TEST_F(TdiTableManagerTest, DISABLED_ReadSingleIndirectMeterEntryTest) { +TEST_F(TdiTableManagerTest, ReadSingleIndirectMeterEntryTest) { ASSERT_OK(PushTestConfig()); auto session_mock = std::make_shared(); constexpr int kP4MeterId = 55555;