From f194acbcacd4a52d74de4b593cb6c184239be584 Mon Sep 17 00:00:00 2001 From: Zain Budhwani Date: Tue, 31 Oct 2023 22:21:15 +0000 Subject: [PATCH 01/13] Run sub after capture service starts --- src/sonic-eventd/tests/eventd_ut.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/sonic-eventd/tests/eventd_ut.cpp b/src/sonic-eventd/tests/eventd_ut.cpp index db46845b0480..33e02bd49939 100644 --- a/src/sonic-eventd/tests/eventd_ut.cpp +++ b/src/sonic-eventd/tests/eventd_ut.cpp @@ -328,10 +328,7 @@ TEST(eventd, capture) /* Starting proxy */ EXPECT_EQ(0, pxy->init()); - - /* Run subscriber; Else publisher will drop events on floor, with no subscriber. */ - thread thr_sub(&run_sub, zctx, ref(term_sub), ref(sub_source), ref(sub_evts), ref(sub_evts_sz)); - + /* Create capture service */ capture_service *pcap = new capture_service(zctx, cache_max, &stats_instance); @@ -341,6 +338,11 @@ TEST(eventd, capture) /* Initialize the capture */ EXPECT_EQ(0, pcap->set_control(INIT_CAPTURE)); + + /* Run subscriber; Else publisher will drop events on floor, with no subscriber. */ + thread thr_sub(&run_sub, zctx, ref(term_sub), ref(sub_source), ref(sub_evts), ref(sub_evts_sz)); + + EXPECT_TRUE(init_cache > 1); EXPECT_TRUE((cache_max+3) < (int)ARRAY_SIZE(ldata)); From 7b7fcbf2ca65bb61bc8e880c11d66d43c23f26f3 Mon Sep 17 00:00:00 2001 From: Zain Budhwani Date: Wed, 1 Nov 2023 21:51:05 +0000 Subject: [PATCH 02/13] Revert PR 17053 --- src/sonic-eventd/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sonic-eventd/Makefile b/src/sonic-eventd/Makefile index f9cc5bf8b5fa..835d0732a0cd 100644 --- a/src/sonic-eventd/Makefile +++ b/src/sonic-eventd/Makefile @@ -29,7 +29,7 @@ endif -include rsyslog_plugin/subdir.mk -include rsyslog_plugin_tests/subdir.mk -all: sonic-eventd eventd-tool rsyslog-plugin +all: sonic-eventd eventd-tests eventd-tool rsyslog-plugin rsyslog-plugin-tests sonic-eventd: $(OBJS) @echo 'Building target: $@' From c0541295c04ce9b7a9c0af54d882b5be42b19407 Mon Sep 17 00:00:00 2001 From: Zain Budhwani Date: Wed, 1 Nov 2023 21:52:47 +0000 Subject: [PATCH 03/13] Remove blank lines --- src/sonic-eventd/tests/eventd_ut.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/sonic-eventd/tests/eventd_ut.cpp b/src/sonic-eventd/tests/eventd_ut.cpp index 33e02bd49939..0ac2cbfdfde8 100644 --- a/src/sonic-eventd/tests/eventd_ut.cpp +++ b/src/sonic-eventd/tests/eventd_ut.cpp @@ -338,11 +338,9 @@ TEST(eventd, capture) /* Initialize the capture */ EXPECT_EQ(0, pcap->set_control(INIT_CAPTURE)); - /* Run subscriber; Else publisher will drop events on floor, with no subscriber. */ thread thr_sub(&run_sub, zctx, ref(term_sub), ref(sub_source), ref(sub_evts), ref(sub_evts_sz)); - EXPECT_TRUE(init_cache > 1); EXPECT_TRUE((cache_max+3) < (int)ARRAY_SIZE(ldata)); From cf04cf86d2cb4f67cc66a3ad5bfca63321a911d9 Mon Sep 17 00:00:00 2001 From: Zain Budhwani Date: Thu, 2 Nov 2023 19:41:51 +0000 Subject: [PATCH 04/13] Run capture thread before sub thread --- src/sonic-eventd/tests/eventd_ut.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/sonic-eventd/tests/eventd_ut.cpp b/src/sonic-eventd/tests/eventd_ut.cpp index 0ac2cbfdfde8..c01304987162 100644 --- a/src/sonic-eventd/tests/eventd_ut.cpp +++ b/src/sonic-eventd/tests/eventd_ut.cpp @@ -246,13 +246,13 @@ TEST(eventd, proxy) /* Starting proxy */ EXPECT_EQ(0, pxy->init()); + + /* capture in a thread */ + thread thrc(&run_cap, zctx, ref(term_cap), ref(rd_csource), ref(rd_cevts_sz)); /* subscriber in a thread */ thread thr(&run_sub, zctx, ref(term_sub), ref(rd_source), ref(rd_evts), ref(rd_evts_sz)); - /* capture in a thread */ - thread thrc(&run_cap, zctx, ref(term_cap), ref(rd_csource), ref(rd_cevts_sz)); - /* Init pub connection */ void *mock_pub = init_pub(zctx); From 440b1a953f0fc61973ff34b22778bf33f2445082 Mon Sep 17 00:00:00 2001 From: Zain Budhwani Date: Fri, 3 Nov 2023 01:48:45 +0000 Subject: [PATCH 05/13] Seperate UT --- src/sonic-eventd/tests/eventd_ut.cpp | 32 ++++++++++++++++++---------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/src/sonic-eventd/tests/eventd_ut.cpp b/src/sonic-eventd/tests/eventd_ut.cpp index c01304987162..f6c54ceb0da6 100644 --- a/src/sonic-eventd/tests/eventd_ut.cpp +++ b/src/sonic-eventd/tests/eventd_ut.cpp @@ -159,20 +159,12 @@ void run_cap(void *zctx, bool &term, string &read_source, internal_event_t ev_int; int block_ms = 200; int i=0; - static int proxy_finished_init = false; EXPECT_TRUE(NULL != mock_cap); EXPECT_EQ(0, zmq_connect(mock_cap, get_config(CAPTURE_END_KEY).c_str())); EXPECT_EQ(0, zmq_setsockopt(mock_cap, ZMQ_SUBSCRIBE, "", 0)); EXPECT_EQ(0, zmq_setsockopt(mock_cap, ZMQ_RCVTIMEO, &block_ms, sizeof (block_ms))); - if(!proxy_finished_init) { - zmq_msg_t msg; - zmq_msg_init(&msg); - EXPECT_EQ(1, zmq_msg_recv(&msg, mock_cap, 0)); // Subscription message - proxy_finished_init = true; - } - while(!term) { string source; internal_event_t ev_int; @@ -227,6 +219,24 @@ void run_pub(void *mock_pub, const string wr_source, internal_events_lst_t &lst) } } +TEST(eventd, capture_socket) +{ + printf("Capture socket TEST started\n"); + void *mock_cap = zmq_socket (zctx, ZMQ_SUB); + int block_ms = 200; + + EXPECT_TRUE(NULL != mock_cap); + EXPECT_EQ(0, zmq_connect(mock_cap, get_config(CAPTURE_END_KEY).c_str())); + EXPECT_EQ(0, zmq_setsockopt(mock_cap, ZMQ_SUBSCRIBE, "", 0)); + EXPECT_EQ(0, zmq_setsockopt(mock_cap, ZMQ_RCVTIMEO, &block_ms, sizeof (block_ms))); + + zmq_msg_t msg; + zmq_msg_init(&msg); + EXPECT_EQ(1, zmq_msg_recv(&msg, mock_cap, 0)); // Subscription message + proxy_finished_init = true; + + zmq_close(mock_cap); +} TEST(eventd, proxy) { @@ -473,9 +483,6 @@ TEST(eventd, captureCacheMax) /* Starting proxy */ EXPECT_EQ(0, pxy->init()); - /* Run subscriber; Else publisher will drop events on floor, with no subscriber. */ - thread thr_sub(&run_sub, zctx, ref(term_sub), ref(sub_source), ref(sub_evts), ref(sub_evts_sz)); - /* Create capture service */ capture_service *pcap = new capture_service(zctx, cache_max, &stats_instance); @@ -484,6 +491,9 @@ TEST(eventd, captureCacheMax) EXPECT_TRUE(init_cache > 1); + /* Run subscriber; Else publisher will drop events on floor, with no subscriber. */ + thread thr_sub(&run_sub, zctx, ref(term_sub), ref(sub_source), ref(sub_evts), ref(sub_evts_sz)); + /* Collect few serailized strings of events for startup cache */ for(int i=0; i < init_cache; ++i) { internal_event_t ev(create_ev(ldata[i])); From 6501b1100117e9532bbb10c0171040c4d4f0ad80 Mon Sep 17 00:00:00 2001 From: Zain Budhwani Date: Mon, 6 Nov 2023 23:46:37 +0000 Subject: [PATCH 06/13] Add test after pub/sub calls --- src/sonic-eventd/tests/eventd_ut.cpp | 46 +++++++++++++--------------- 1 file changed, 21 insertions(+), 25 deletions(-) diff --git a/src/sonic-eventd/tests/eventd_ut.cpp b/src/sonic-eventd/tests/eventd_ut.cpp index f6c54ceb0da6..1831b8072372 100644 --- a/src/sonic-eventd/tests/eventd_ut.cpp +++ b/src/sonic-eventd/tests/eventd_ut.cpp @@ -152,7 +152,7 @@ static const test_data_t ldata[] = { void run_cap(void *zctx, bool &term, string &read_source, - int &cnt) + int &cnt, bool &should_read_control) { void *mock_cap = zmq_socket (zctx, ZMQ_SUB); string source; @@ -165,6 +165,12 @@ void run_cap(void *zctx, bool &term, string &read_source, EXPECT_EQ(0, zmq_setsockopt(mock_cap, ZMQ_SUBSCRIBE, "", 0)); EXPECT_EQ(0, zmq_setsockopt(mock_cap, ZMQ_RCVTIMEO, &block_ms, sizeof (block_ms))); + if(should_read_control) { + zmq_msg_t msg; + zmq_msg_init(&msg); + EXPECT_NE(1, zmq_msg_recv(&msg, mock_cap, 0)); // Subscription message should be read by do_capture + } + while(!term) { string source; internal_event_t ev_int; @@ -219,28 +225,10 @@ void run_pub(void *mock_pub, const string wr_source, internal_events_lst_t &lst) } } -TEST(eventd, capture_socket) -{ - printf("Capture socket TEST started\n"); - void *mock_cap = zmq_socket (zctx, ZMQ_SUB); - int block_ms = 200; - - EXPECT_TRUE(NULL != mock_cap); - EXPECT_EQ(0, zmq_connect(mock_cap, get_config(CAPTURE_END_KEY).c_str())); - EXPECT_EQ(0, zmq_setsockopt(mock_cap, ZMQ_SUBSCRIBE, "", 0)); - EXPECT_EQ(0, zmq_setsockopt(mock_cap, ZMQ_RCVTIMEO, &block_ms, sizeof (block_ms))); - - zmq_msg_t msg; - zmq_msg_init(&msg); - EXPECT_EQ(1, zmq_msg_recv(&msg, mock_cap, 0)); // Subscription message - proxy_finished_init = true; - - zmq_close(mock_cap); -} - TEST(eventd, proxy) { printf("Proxy TEST started\n"); + bool should_read_control = false; bool term_sub = false; bool term_cap = false; string rd_csource, rd_source, wr_source("hello"); @@ -258,7 +246,7 @@ TEST(eventd, proxy) EXPECT_EQ(0, pxy->init()); /* capture in a thread */ - thread thrc(&run_cap, zctx, ref(term_cap), ref(rd_csource), ref(rd_cevts_sz)); + thread thrc(&run_cap, zctx, ref(term_cap), ref(rd_csource), ref(rd_cevts_sz), ref(should_read_control)); /* subscriber in a thread */ thread thr(&run_sub, zctx, ref(term_sub), ref(rd_source), ref(rd_evts), ref(rd_evts_sz)); @@ -285,9 +273,6 @@ TEST(eventd, proxy) } this_thread::sleep_for(chrono::milliseconds(1000)); - delete pxy; - pxy = NULL; - term_sub = true; term_cap = true; @@ -297,6 +282,18 @@ TEST(eventd, proxy) EXPECT_EQ(rd_cevts_sz, wr_evts.size()); zmq_close(mock_pub); + + /* Do control test */ + + should_read_control = true; + + /* capture in a thread */ + thread thrcc(&run_cap, zctx, ref(term_cap), ref(rd_csource), ref(rd_cevts_sz), ref(should_read_control)); + + delete pxy; + pxy = NULL; + + thrcc.join(); zmq_ctx_term(zctx); /* Provide time for async proxy removal to complete */ @@ -305,7 +302,6 @@ TEST(eventd, proxy) printf("eventd_proxy is tested GOOD\n"); } - TEST(eventd, capture) { printf("Capture TEST started\n"); From c2f85fcbea159b3d3c58971e1b676f0e1c969f91 Mon Sep 17 00:00:00 2001 From: Zain Budhwani Date: Tue, 7 Nov 2023 23:59:25 +0000 Subject: [PATCH 07/13] Add time for eventd service to establish --- src/sonic-eventd/tests/eventd_ut.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/sonic-eventd/tests/eventd_ut.cpp b/src/sonic-eventd/tests/eventd_ut.cpp index 1831b8072372..79101e567873 100644 --- a/src/sonic-eventd/tests/eventd_ut.cpp +++ b/src/sonic-eventd/tests/eventd_ut.cpp @@ -601,6 +601,7 @@ TEST(eventd, service) } thread thread_service(&run_eventd_service); + this_thread::sleep_for(chrono::milliseconds(1000)); /* Need client side service to interact with server side */ EXPECT_EQ(0, service.init_client(zctx)); @@ -631,7 +632,7 @@ TEST(eventd, service) run_pub(mock_pub, wr_source, wr_evts); /* Published events must have been captured. Give a pause, to ensure sent. */ - this_thread::sleep_for(chrono::milliseconds(200)); + this_thread::sleep_for(chrono::milliseconds(1000)); EXPECT_EQ(0, service.cache_stop()); From 662fe95a449ce51017e4081e9688b02dcefbcb79 Mon Sep 17 00:00:00 2001 From: Zain Budhwani Date: Mon, 22 Jan 2024 19:30:53 +0000 Subject: [PATCH 08/13] Address review comments --- src/sonic-eventd/src/eventd.cpp | 4 ++-- src/sonic-eventd/src/eventd.d | 36 ++++++++++++++++++++++++++++ src/sonic-eventd/src/eventd.h | 2 ++ src/sonic-eventd/tests/eventd_ut.cpp | 29 +++++++++++++++++----- 4 files changed, 63 insertions(+), 8 deletions(-) create mode 100644 src/sonic-eventd/src/eventd.d diff --git a/src/sonic-eventd/src/eventd.cpp b/src/sonic-eventd/src/eventd.cpp index 953fe9b7c491..36c162453427 100644 --- a/src/sonic-eventd/src/eventd.cpp +++ b/src/sonic-eventd/src/eventd.cpp @@ -546,9 +546,9 @@ capture_service::set_control(capture_control_t ctrl, event_serialized_lst_t *lst switch(ctrl) { case INIT_CAPTURE: m_thr = thread(&capture_service::do_capture, this); - for(int i=0; !m_cap_run && (i < 100); ++i) { + for(int i=0; !m_cap_run && (i < CAPTURE_SERVICE_POLLING_RETRIES); ++i) { /* Wait max a second for thread to init */ - this_thread::sleep_for(chrono::milliseconds(10)); + this_thread::sleep_for(chrono::milliseconds(CAPTURE_SERVICE_POLLING_DURATION)); } RET_ON_ERR(m_cap_run, "Failed to init capture"); m_ctrl = ctrl; diff --git a/src/sonic-eventd/src/eventd.d b/src/sonic-eventd/src/eventd.d new file mode 100644 index 000000000000..4d3979ada059 --- /dev/null +++ b/src/sonic-eventd/src/eventd.d @@ -0,0 +1,36 @@ +src/eventd.o: src/eventd.cpp src/eventd.h \ + /sonic/src/sonic-eventd/../sonic-swss-common/common/table.h \ + /sonic/src/sonic-eventd/../sonic-swss-common/common/dbconnector.h \ + /sonic/src/sonic-eventd/../sonic-swss-common/common/rediscommand.h \ + /sonic/src/sonic-eventd/../sonic-swss-common/common/redisreply.h \ + /sonic/src/sonic-eventd/../sonic-swss-common/common/redisselect.h \ + /sonic/src/sonic-eventd/../sonic-swss-common/common/selectable.h \ + /sonic/src/sonic-eventd/../sonic-swss-common/common/redispipeline.h \ + /sonic/src/sonic-eventd/../sonic-swss-common/common/logger.h \ + /sonic/src/sonic-eventd/../sonic-swss-common/common/concurrentmap.h \ + /sonic/src/sonic-eventd/../sonic-swss-common/common/schema.h \ + /sonic/src/sonic-eventd/../sonic-swss-common/common/redistran.h \ + /sonic/src/sonic-eventd/../sonic-swss-common/common/events_service.h \ + /sonic/src/sonic-eventd/../sonic-swss-common/common/events_common.h \ + /sonic/src/sonic-eventd/../sonic-swss-common/common/json.hpp \ + /sonic/src/sonic-eventd/../sonic-swss-common/common/events.h \ + /sonic/src/sonic-eventd/../sonic-swss-common/common/events_wrap.h \ + /sonic/src/sonic-eventd/../sonic-swss-common/common/dbconnector.h +src/eventd.h: +/sonic/src/sonic-eventd/../sonic-swss-common/common/table.h: +/sonic/src/sonic-eventd/../sonic-swss-common/common/dbconnector.h: +/sonic/src/sonic-eventd/../sonic-swss-common/common/rediscommand.h: +/sonic/src/sonic-eventd/../sonic-swss-common/common/redisreply.h: +/sonic/src/sonic-eventd/../sonic-swss-common/common/redisselect.h: +/sonic/src/sonic-eventd/../sonic-swss-common/common/selectable.h: +/sonic/src/sonic-eventd/../sonic-swss-common/common/redispipeline.h: +/sonic/src/sonic-eventd/../sonic-swss-common/common/logger.h: +/sonic/src/sonic-eventd/../sonic-swss-common/common/concurrentmap.h: +/sonic/src/sonic-eventd/../sonic-swss-common/common/schema.h: +/sonic/src/sonic-eventd/../sonic-swss-common/common/redistran.h: +/sonic/src/sonic-eventd/../sonic-swss-common/common/events_service.h: +/sonic/src/sonic-eventd/../sonic-swss-common/common/events_common.h: +/sonic/src/sonic-eventd/../sonic-swss-common/common/json.hpp: +/sonic/src/sonic-eventd/../sonic-swss-common/common/events.h: +/sonic/src/sonic-eventd/../sonic-swss-common/common/events_wrap.h: +/sonic/src/sonic-eventd/../sonic-swss-common/common/dbconnector.h: diff --git a/src/sonic-eventd/src/eventd.h b/src/sonic-eventd/src/eventd.h index 706863667eea..a7a87f9436a0 100644 --- a/src/sonic-eventd/src/eventd.h +++ b/src/sonic-eventd/src/eventd.h @@ -21,6 +21,8 @@ typedef enum { #define EVENTS_STATS_FIELD_NAME "value" #define STATS_HEARTBEAT_MIN 300 +#define CAPTURE_SERVICE_POLLING_DURATION 10 +#define CAPTURE_SERVICE_POLLING_RETRIES 100 /* * Started by eventd_service. diff --git a/src/sonic-eventd/tests/eventd_ut.cpp b/src/sonic-eventd/tests/eventd_ut.cpp index 79101e567873..b5382208b934 100644 --- a/src/sonic-eventd/tests/eventd_ut.cpp +++ b/src/sonic-eventd/tests/eventd_ut.cpp @@ -601,7 +601,7 @@ TEST(eventd, service) } thread thread_service(&run_eventd_service); - this_thread::sleep_for(chrono::milliseconds(1000)); + this_thread::sleep_for(chrono::milliseconds(CAPTURE_SERVICE_POLLING_DURATION * CAPTURE_SERVICE_POLLING_RETRIES)); /* Need client side service to interact with server side */ EXPECT_EQ(0, service.init_client(zctx)); @@ -617,7 +617,7 @@ TEST(eventd, service) string wr_source("hello"); /* Test service startup caching */ - event_serialized_lst_t evts_start, evts_read; + event_serialized_lst_t evts_start, evts_read, polled_events; for(int i=0; i(current_ts - poll_start_ts).count() >= max_polling_duration) { + break; + } + event_serialized_lst_t read_events; + service.cache_read(read_events); + polled_events.insert(polled_events.end(), read_events.begin(), read_events.end()); + if (!read_events.empty()) { + break; + } + this_thread::sleep_for(chrono::milliseconds(polling_interval)); + } EXPECT_EQ(0, service.cache_stop()); - /* Read the cache; expect wr_sz events */ + /* Read remaining events in cache, if any */ EXPECT_EQ(0, service.cache_read(evts_read)); - EXPECT_EQ(evts_read, evts_start); + polled_events.insert(polled_events.end(), evts_read.begin(), evts_read.end()); + + EXPECT_EQ(polled_events, evts_start); zmq_close(mock_pub); } From 045481a5081d7a11151684bd4adf8cffe6f1cfc0 Mon Sep 17 00:00:00 2001 From: Zain Budhwani Date: Tue, 23 Jan 2024 01:09:48 +0000 Subject: [PATCH 09/13] Remove .d file --- src/sonic-eventd/src/eventd.d | 36 ----------------------------------- 1 file changed, 36 deletions(-) delete mode 100644 src/sonic-eventd/src/eventd.d diff --git a/src/sonic-eventd/src/eventd.d b/src/sonic-eventd/src/eventd.d deleted file mode 100644 index 4d3979ada059..000000000000 --- a/src/sonic-eventd/src/eventd.d +++ /dev/null @@ -1,36 +0,0 @@ -src/eventd.o: src/eventd.cpp src/eventd.h \ - /sonic/src/sonic-eventd/../sonic-swss-common/common/table.h \ - /sonic/src/sonic-eventd/../sonic-swss-common/common/dbconnector.h \ - /sonic/src/sonic-eventd/../sonic-swss-common/common/rediscommand.h \ - /sonic/src/sonic-eventd/../sonic-swss-common/common/redisreply.h \ - /sonic/src/sonic-eventd/../sonic-swss-common/common/redisselect.h \ - /sonic/src/sonic-eventd/../sonic-swss-common/common/selectable.h \ - /sonic/src/sonic-eventd/../sonic-swss-common/common/redispipeline.h \ - /sonic/src/sonic-eventd/../sonic-swss-common/common/logger.h \ - /sonic/src/sonic-eventd/../sonic-swss-common/common/concurrentmap.h \ - /sonic/src/sonic-eventd/../sonic-swss-common/common/schema.h \ - /sonic/src/sonic-eventd/../sonic-swss-common/common/redistran.h \ - /sonic/src/sonic-eventd/../sonic-swss-common/common/events_service.h \ - /sonic/src/sonic-eventd/../sonic-swss-common/common/events_common.h \ - /sonic/src/sonic-eventd/../sonic-swss-common/common/json.hpp \ - /sonic/src/sonic-eventd/../sonic-swss-common/common/events.h \ - /sonic/src/sonic-eventd/../sonic-swss-common/common/events_wrap.h \ - /sonic/src/sonic-eventd/../sonic-swss-common/common/dbconnector.h -src/eventd.h: -/sonic/src/sonic-eventd/../sonic-swss-common/common/table.h: -/sonic/src/sonic-eventd/../sonic-swss-common/common/dbconnector.h: -/sonic/src/sonic-eventd/../sonic-swss-common/common/rediscommand.h: -/sonic/src/sonic-eventd/../sonic-swss-common/common/redisreply.h: -/sonic/src/sonic-eventd/../sonic-swss-common/common/redisselect.h: -/sonic/src/sonic-eventd/../sonic-swss-common/common/selectable.h: -/sonic/src/sonic-eventd/../sonic-swss-common/common/redispipeline.h: -/sonic/src/sonic-eventd/../sonic-swss-common/common/logger.h: -/sonic/src/sonic-eventd/../sonic-swss-common/common/concurrentmap.h: -/sonic/src/sonic-eventd/../sonic-swss-common/common/schema.h: -/sonic/src/sonic-eventd/../sonic-swss-common/common/redistran.h: -/sonic/src/sonic-eventd/../sonic-swss-common/common/events_service.h: -/sonic/src/sonic-eventd/../sonic-swss-common/common/events_common.h: -/sonic/src/sonic-eventd/../sonic-swss-common/common/json.hpp: -/sonic/src/sonic-eventd/../sonic-swss-common/common/events.h: -/sonic/src/sonic-eventd/../sonic-swss-common/common/events_wrap.h: -/sonic/src/sonic-eventd/../sonic-swss-common/common/dbconnector.h: From 8c104263d99a86e56414fc301039d799bdac5978 Mon Sep 17 00:00:00 2001 From: Zain Budhwani Date: Wed, 31 Jan 2024 02:36:29 +0000 Subject: [PATCH 10/13] Fix tabs/spaces --- src/sonic-eventd/tests/eventd_ut.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/sonic-eventd/tests/eventd_ut.cpp b/src/sonic-eventd/tests/eventd_ut.cpp index b5382208b934..729563fcd39d 100644 --- a/src/sonic-eventd/tests/eventd_ut.cpp +++ b/src/sonic-eventd/tests/eventd_ut.cpp @@ -244,7 +244,7 @@ TEST(eventd, proxy) /* Starting proxy */ EXPECT_EQ(0, pxy->init()); - + /* capture in a thread */ thread thrc(&run_cap, zctx, ref(term_cap), ref(rd_csource), ref(rd_cevts_sz), ref(should_read_control)); @@ -286,7 +286,7 @@ TEST(eventd, proxy) /* Do control test */ should_read_control = true; - + /* capture in a thread */ thread thrcc(&run_cap, zctx, ref(term_cap), ref(rd_csource), ref(rd_cevts_sz), ref(should_read_control)); @@ -334,7 +334,7 @@ TEST(eventd, capture) /* Starting proxy */ EXPECT_EQ(0, pxy->init()); - + /* Create capture service */ capture_service *pcap = new capture_service(zctx, cache_max, &stats_instance); @@ -637,7 +637,7 @@ TEST(eventd, service) while(true) { auto current_ts = chrono::steady_clock::now(); - if(chrono::duration_cast(current_ts - poll_start_ts).count() >= max_polling_duration) { + if(chrono::duration_cast(current_ts - poll_start_ts).count() >= max_polling_duration) { break; } event_serialized_lst_t read_events; @@ -654,7 +654,7 @@ TEST(eventd, service) /* Read remaining events in cache, if any */ EXPECT_EQ(0, service.cache_read(evts_read)); - polled_events.insert(polled_events.end(), evts_read.begin(), evts_read.end()); + polled_events.insert(polled_events.end(), evts_read.begin(), evts_read.end()); EXPECT_EQ(polled_events, evts_start); From a8b690a7ae2a8812a936130433ee6bd1c240c38e Mon Sep 17 00:00:00 2001 From: Zain Budhwani Date: Wed, 31 Jan 2024 19:20:26 +0000 Subject: [PATCH 11/13] Remove check for exact string exception --- src/sonic-eventd/tests/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sonic-eventd/tests/main.cpp b/src/sonic-eventd/tests/main.cpp index fdc175e645d8..d7ecf24eca7e 100644 --- a/src/sonic-eventd/tests/main.cpp +++ b/src/sonic-eventd/tests/main.cpp @@ -69,7 +69,7 @@ class SwsscommonEnvironment : public ::testing::Environment { } catch (exception &e) { - EXPECT_TRUE(strstr(e.what(), "Namespace invalid is not a valid namespace name in config file")); + printf("Received error in getDbId call, e=(%s)\n", e.what()); } // Get this info handy From 60cee25beb2ae525eab803c46764b38ca0c086b1 Mon Sep 17 00:00:00 2001 From: Zain Budhwani Date: Thu, 1 Feb 2024 21:07:13 +0000 Subject: [PATCH 12/13] Change printf to EXPECT_STREQ --- src/sonic-eventd/tests/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sonic-eventd/tests/main.cpp b/src/sonic-eventd/tests/main.cpp index d7ecf24eca7e..12a435a64b53 100644 --- a/src/sonic-eventd/tests/main.cpp +++ b/src/sonic-eventd/tests/main.cpp @@ -69,7 +69,7 @@ class SwsscommonEnvironment : public ::testing::Environment { } catch (exception &e) { - printf("Received error in getDbId call, e=(%s)\n", e.what()); + EXPECT_STREQ(e.what(), "Key :invalid is not a valid key name in config file"); } // Get this info handy From 35c5bafc010da9fc08f9d5f71c0a466b39dea58b Mon Sep 17 00:00:00 2001 From: Zain Budhwani Date: Thu, 8 Feb 2024 03:29:08 +0000 Subject: [PATCH 13/13] Replace EXPECT_STREQ with EXPECT_THROW --- src/sonic-eventd/tests/main.cpp | 42 ++++++++------------------------- 1 file changed, 10 insertions(+), 32 deletions(-) diff --git a/src/sonic-eventd/tests/main.cpp b/src/sonic-eventd/tests/main.cpp index 12a435a64b53..f0d011305a50 100644 --- a/src/sonic-eventd/tests/main.cpp +++ b/src/sonic-eventd/tests/main.cpp @@ -1,6 +1,7 @@ #include "gtest/gtest.h" #include "dbconnector.h" #include +#include using namespace std; using namespace swss; @@ -20,57 +21,34 @@ class SwsscommonEnvironment : public ::testing::Environment { // Override this to define how to set up the environment void SetUp() override { // by default , init should be false - cout<<"Default : isInit = "<