From 0473e6655594ffc563bd5764d888aa420e22e5df Mon Sep 17 00:00:00 2001 From: ionutboangiu Date: Wed, 22 Mar 2023 12:02:08 -0400 Subject: [PATCH] Revise config reload tests in services A time.Sleep() of 10 milliseconds has been added after starting the services in order to wait for the goroutine that handles reloads to get instantiated. This solves the occasional deadlock that happens when a reload signal is sent to a subsystem that requires storDB before sending it to storDB itself. One consequence of waiting is that where we previously expected the DataDB service to not be running yet, now it has enough time. --- services/apiers_it_test.go | 5 +++-- services/attributes_it_test.go | 1 + services/cdrs_it_test.go | 5 +++-- services/chargers_it_test.go | 5 +++-- services/datadb_it_test.go | 1 + services/dispatchers_it_test.go | 5 +++-- services/dnsagent_it_test.go | 1 + services/ers_it_test.go | 1 + services/rals_it_test.go | 5 +++-- services/resources_it_test.go | 5 +++-- services/schedulers_it_test.go | 1 + services/sessions_it_test.go | 9 +++++---- services/stats_it_test.go | 5 +++-- services/suppliers_it_test.go | 5 +++-- services/thresholds_it_test.go | 1 + 15 files changed, 35 insertions(+), 20 deletions(-) diff --git a/services/apiers_it_test.go b/services/apiers_it_test.go index 0c8be7d46..be02c2196 100644 --- a/services/apiers_it_test.go +++ b/services/apiers_it_test.go @@ -66,14 +66,15 @@ func TestApiersReload(t *testing.T) { if err = srvMngr.StartServices(); err != nil { t.Error(err) } + time.Sleep(10 * time.Millisecond) if apiSv1.IsRunning() { t.Errorf("Expected service to be down") } if apiSv2.IsRunning() { t.Errorf("Expected service to be down") } - if db.IsRunning() { - t.Errorf("Expected service to be down") + if !db.IsRunning() { + t.Errorf("Expected service to be running") } if stordb.IsRunning() { t.Errorf("Expected service to be down") diff --git a/services/attributes_it_test.go b/services/attributes_it_test.go index fc559e308..18af1037b 100644 --- a/services/attributes_it_test.go +++ b/services/attributes_it_test.go @@ -59,6 +59,7 @@ func TestAttributeSReload(t *testing.T) { if err = srvMngr.StartServices(); err != nil { t.Error(err) } + time.Sleep(10 * time.Millisecond) if attrS.IsRunning() { t.Errorf("Expected service to be down") } diff --git a/services/cdrs_it_test.go b/services/cdrs_it_test.go index f135a5a9e..1349cd476 100644 --- a/services/cdrs_it_test.go +++ b/services/cdrs_it_test.go @@ -79,11 +79,12 @@ func TestCdrsReload(t *testing.T) { if err = srvMngr.StartServices(); err != nil { t.Error(err) } + time.Sleep(10 * time.Millisecond) if cdrS.IsRunning() { t.Errorf("Expected service to be down") } - if db.IsRunning() { - t.Errorf("Expected service to be down") + if !db.IsRunning() { + t.Errorf("Expected service to be running") } if stordb.IsRunning() { t.Errorf("Expected service to be down") diff --git a/services/chargers_it_test.go b/services/chargers_it_test.go index 82a3952ff..150cac35e 100644 --- a/services/chargers_it_test.go +++ b/services/chargers_it_test.go @@ -61,11 +61,12 @@ func TestChargerSReload(t *testing.T) { if err = srvMngr.StartServices(); err != nil { t.Error(err) } + time.Sleep(10 * time.Millisecond) if chrS.IsRunning() { t.Errorf("Expected service to be down") } - if db.IsRunning() { - t.Errorf("Expected service to be down") + if !db.IsRunning() { + t.Errorf("Expected service to be running") } var reply string if err = cfg.V1ReloadConfigFromPath(&config.ConfigReloadWithArgDispatcher{ diff --git a/services/datadb_it_test.go b/services/datadb_it_test.go index 40c5e3db1..0fac2abca 100644 --- a/services/datadb_it_test.go +++ b/services/datadb_it_test.go @@ -58,6 +58,7 @@ func TestDataDBReload(t *testing.T) { if err = srvMngr.StartServices(); err != nil { t.Error(err) } + time.Sleep(10 * time.Millisecond) if db.IsRunning() { t.Errorf("Expected service to be down") } diff --git a/services/dispatchers_it_test.go b/services/dispatchers_it_test.go index 977dada68..39ccf3d7b 100644 --- a/services/dispatchers_it_test.go +++ b/services/dispatchers_it_test.go @@ -63,11 +63,12 @@ func TestDispatcherSReload(t *testing.T) { if err = srvMngr.StartServices(); err != nil { t.Error(err) } + time.Sleep(10 * time.Millisecond) if srv.IsRunning() { t.Errorf("Expected service to be down") } - if db.IsRunning() { - t.Errorf("Expected service to be down") + if !db.IsRunning() { + t.Errorf("Expected service to be running") } var reply string if err = cfg.V1ReloadConfigFromPath(&config.ConfigReloadWithArgDispatcher{ diff --git a/services/dnsagent_it_test.go b/services/dnsagent_it_test.go index 12ff3d3ea..be7fdffe3 100644 --- a/services/dnsagent_it_test.go +++ b/services/dnsagent_it_test.go @@ -60,6 +60,7 @@ func TestDNSAgentReload(t *testing.T) { if err = srvMngr.StartServices(); err != nil { t.Fatal(err) } + time.Sleep(10 * time.Millisecond) if srv.IsRunning() { t.Errorf("Expected service to be down") } diff --git a/services/ers_it_test.go b/services/ers_it_test.go index 25f36e565..9a2ad2e0d 100644 --- a/services/ers_it_test.go +++ b/services/ers_it_test.go @@ -64,6 +64,7 @@ func TestEventReaderSReload(t *testing.T) { if err = srvMngr.StartServices(); err != nil { t.Error(err) } + time.Sleep(10 * time.Millisecond) if attrS.IsRunning() { t.Errorf("Expected service to be down") } diff --git a/services/rals_it_test.go b/services/rals_it_test.go index 242cb696a..b5f428f09 100644 --- a/services/rals_it_test.go +++ b/services/rals_it_test.go @@ -75,11 +75,12 @@ func TestRalsReload(t *testing.T) { if err = srvMngr.StartServices(); err != nil { t.Error(err) } + time.Sleep(10 * time.Millisecond) if ralS.IsRunning() { t.Errorf("Expected service to be down") } - if db.IsRunning() { - t.Errorf("Expected service to be down") + if !db.IsRunning() { + t.Errorf("Expected service to be running") } if stordb.IsRunning() { t.Errorf("Expected service to be down") diff --git a/services/resources_it_test.go b/services/resources_it_test.go index 3a31eaaef..04e57cff6 100644 --- a/services/resources_it_test.go +++ b/services/resources_it_test.go @@ -63,11 +63,12 @@ func TestResourceSReload(t *testing.T) { if err = srvMngr.StartServices(); err != nil { t.Error(err) } + time.Sleep(10 * time.Millisecond) if reS.IsRunning() { t.Errorf("Expected service to be down") } - if db.IsRunning() { - t.Errorf("Expected service to be down") + if !db.IsRunning() { + t.Errorf("Expected service to be running") } var reply string if err = cfg.V1ReloadConfigFromPath(&config.ConfigReloadWithArgDispatcher{ diff --git a/services/schedulers_it_test.go b/services/schedulers_it_test.go index ab317c571..c641c6abc 100644 --- a/services/schedulers_it_test.go +++ b/services/schedulers_it_test.go @@ -54,6 +54,7 @@ func TestSchedulerSReload(t *testing.T) { if err = srvMngr.StartServices(); err != nil { t.Error(err) } + time.Sleep(10 * time.Millisecond) if schS.IsRunning() { t.Errorf("Expected service to be down") } diff --git a/services/sessions_it_test.go b/services/sessions_it_test.go index b1aa1b43e..a9d05a8e0 100644 --- a/services/sessions_it_test.go +++ b/services/sessions_it_test.go @@ -86,14 +86,15 @@ func TestSessionSReload(t *testing.T) { if err = srvMngr.StartServices(); err != nil { t.Error(err) } + time.Sleep(10 * time.Millisecond) if srv.IsRunning() { t.Errorf("Expected service to be down") } - if db.IsRunning() { - t.Errorf("Expected service to be down") + if !db.IsRunning() { + t.Errorf("Expected service to be running") } - if stordb.IsRunning() { - t.Errorf("Expected service to be down") + if !stordb.IsRunning() { + t.Errorf("Expected service to be running") } var reply string if err := cfg.V1ReloadConfigFromPath(&config.ConfigReloadWithArgDispatcher{ diff --git a/services/stats_it_test.go b/services/stats_it_test.go index e5bdbe029..8c1e05dc0 100644 --- a/services/stats_it_test.go +++ b/services/stats_it_test.go @@ -63,11 +63,12 @@ func TestStatSReload(t *testing.T) { if err = srvMngr.StartServices(); err != nil { t.Error(err) } + time.Sleep(10 * time.Millisecond) if sS.IsRunning() { t.Errorf("Expected service to be down") } - if db.IsRunning() { - t.Errorf("Expected service to be down") + if !db.IsRunning() { + t.Errorf("Expected service to be running") } var reply string if err = cfg.V1ReloadConfigFromPath(&config.ConfigReloadWithArgDispatcher{ diff --git a/services/suppliers_it_test.go b/services/suppliers_it_test.go index 7af838719..f0303a953 100644 --- a/services/suppliers_it_test.go +++ b/services/suppliers_it_test.go @@ -61,11 +61,12 @@ func TestSupplierSReload(t *testing.T) { if err = srvMngr.StartServices(); err != nil { t.Error(err) } + time.Sleep(10 * time.Millisecond) if supS.IsRunning() { t.Errorf("Expected service to be down") } - if db.IsRunning() { - t.Errorf("Expected service to be down") + if !db.IsRunning() { + t.Errorf("Expected service to be running") } var reply string if err := cfg.V1ReloadConfigFromPath(&config.ConfigReloadWithArgDispatcher{ diff --git a/services/thresholds_it_test.go b/services/thresholds_it_test.go index a7b8c50b2..c0ddd01a7 100644 --- a/services/thresholds_it_test.go +++ b/services/thresholds_it_test.go @@ -57,6 +57,7 @@ func TestThresholdSReload(t *testing.T) { if err = srvMngr.StartServices(); err != nil { t.Error(err) } + time.Sleep(10 * time.Millisecond) if tS.IsRunning() { t.Errorf("Expected service to be down") }