From 812b1d087b8afa94095c3f424c090a43f7123c57 Mon Sep 17 00:00:00 2001 From: Suvarna Meenakshi Date: Wed, 5 Feb 2025 02:09:51 +0000 Subject: [PATCH] Use global variable UnitTest as a flag to reinit fabric counters if invoked during unit testing Signed-off-by: Suvarna Meenakshi --- gnmi_server/server_test.go | 1 + sonic_data_client/virtual_db.go | 13 ++++++------- test_utils/test_utils.go | 3 --- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/gnmi_server/server_test.go b/gnmi_server/server_test.go index a46dc903..f14ca81b 100644 --- a/gnmi_server/server_test.go +++ b/gnmi_server/server_test.go @@ -4932,6 +4932,7 @@ func init() { // Inform gNMI server to use redis tcp localhost connection sdc.UseRedisLocalTcpPort = true + sdc.UnitTest = true } func TestMain(m *testing.M) { diff --git a/sonic_data_client/virtual_db.go b/sonic_data_client/virtual_db.go index 64ee3e4b..3cbda9a3 100644 --- a/sonic_data_client/virtual_db.go +++ b/sonic_data_client/virtual_db.go @@ -69,6 +69,9 @@ var ( } ) +// Will be set to True due unit testing to reset COUNTERS_DB +var UnitTest bool = false + func (t *Trie) v2rTriePopulate() { for _, pt := range pathTransFuncTbl { n := t.Add(pt.path, pt.transFunc) @@ -125,7 +128,9 @@ func initCountersPfcwdNameMap() error { } func initCountersFabricPortNameMap() error { var err error - if len(countersFabricPortNameMap) == 0 { + // Reset map for Unit test to ensure that counters db is updated + // after changing from single to multi-asic config + if len(countersFabricPortNameMap) == 0 || UnitTest == true { countersFabricPortNameMap, err = getFabricCountersMap("COUNTERS_FABRIC_PORT_NAME_MAP") if err != nil { return err @@ -134,12 +139,6 @@ func initCountersFabricPortNameMap() error { return nil } -func ResetFabricCountersMap() { - // Added this to support modification from - // single to multi-ns in unit-test - countersFabricPortNameMap = make(map[string]string) -} - // Get the mapping between sonic interface name and oids of their PFC-WD enabled queues in COUNTERS_DB func GetPfcwdMap() (map[string]map[string]string, error) { var pfcwdName_map = make(map[string]map[string]string) diff --git a/test_utils/test_utils.go b/test_utils/test_utils.go index 42515388..e8af772a 100644 --- a/test_utils/test_utils.go +++ b/test_utils/test_utils.go @@ -3,7 +3,6 @@ package test_utils import ( "io" "os" - "github.com/sonic-net/sonic-gnmi/sonic_data_client" ) func SetupMultiNamespace() error { @@ -11,7 +10,6 @@ func SetupMultiNamespace() error { if err != nil { return err } - client.ResetFabricCountersMap() srcFileName := [2]string{"../testdata/database_global.json", "../testdata/database_config_asic0.json"} dstFileName := [2]string{"/var/run/redis/sonic-db/database_global.json", "/var/run/redis0/sonic-db/database_config_asic0.json"} for i := 0; i < len(srcFileName); i++ { @@ -103,7 +101,6 @@ func CleanUpMultiInstance() error { if err != nil { return err } - client.ResetFabricCountersMap() return nil }