From e7c697aec865fa0a7941daddc5d241a08df162f2 Mon Sep 17 00:00:00 2001 From: wuxiaodong02 Date: Thu, 12 Jan 2023 15:03:45 +0800 Subject: [PATCH 1/2] Fixed evnentbustest crash Signed-off-by: wuxiaodong02 --- .../common/eventbus/event_bus_test.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/utils/test/unittest/common/eventbus/event_bus_test.cpp b/utils/test/unittest/common/eventbus/event_bus_test.cpp index 8ca543ca..bd26bd55 100644 --- a/utils/test/unittest/common/eventbus/event_bus_test.cpp +++ b/utils/test/unittest/common/eventbus/event_bus_test.cpp @@ -18,6 +18,7 @@ #include #include #include +#include #include "distributed_hardware_log.h" #include "event_bus.h" @@ -33,6 +34,7 @@ namespace { FakeListener *g_listener = nullptr; std::shared_ptr g_regHandler = nullptr; EventBus* g_eventBus = nullptr; + constexpr int32_t WAIT_TIME= 2; } void EventbusTest::SetUpTestCase(void) @@ -102,9 +104,11 @@ HWTEST_F(EventbusTest, event_bus_test_001, TestSize.Level0) FakeEvent e(*g_sender, *g_obj); g_regHandler = g_eventBus->AddHandler(e.GetType(), *g_listener); - + sleep(WAIT_TIME); EXPECT_NE(g_regHandler, nullptr); + sleep(WAIT_TIME); EXPECT_EQ(g_regHandler->GetSender(), nullptr); + sleep(WAIT_TIME); EXPECT_EQ(g_regHandler->GetHandler(), (void *)g_listener); } @@ -121,8 +125,9 @@ HWTEST_F(EventbusTest, event_bus_test_002, TestSize.Level0) FakeEvent e(*g_sender, *g_obj); g_regHandler = g_eventBus->AddHandler(e.GetType(), *g_listener); std::shared_ptr secondHandler = g_eventBus->AddHandler(e.GetType(), *g_listener); - + sleep(WAIT_TIME); EXPECT_NE(secondHandler, nullptr); + sleep(WAIT_TIME); EXPECT_EQ(g_regHandler, secondHandler); } @@ -140,11 +145,15 @@ HWTEST_F(EventbusTest, event_bus_test_003, TestSize.Level0) g_regHandler = g_eventBus->AddHandler(e.GetType(), *g_listener); std::shared_ptr secondHandler = g_eventBus->AddHandler(e.GetType(), *g_listener, *g_sender); - + sleep(WAIT_TIME); EXPECT_NE(g_regHandler, nullptr); + sleep(WAIT_TIME); EXPECT_NE(secondHandler, nullptr); + sleep(WAIT_TIME); EXPECT_NE(g_regHandler, secondHandler); + sleep(WAIT_TIME); EXPECT_EQ(secondHandler->GetSender(), g_sender); + sleep(WAIT_TIME); EXPECT_EQ(secondHandler->GetHandler(), (void *)g_listener); } @@ -158,9 +167,11 @@ HWTEST_F(EventbusTest, event_bus_test_004, TestSize.Level0) { EXPECT_EQ(g_regHandler, nullptr); FakeEvent e(*g_sender, *g_obj); + sleep(WAIT_TIME); EXPECT_EQ(false, g_eventBus->RemoveHandler(e.GetType(), g_regHandler)); g_regHandler = g_eventBus->AddHandler(e.GetType(), *g_listener); + sleep(WAIT_TIME); EXPECT_EQ(true, g_eventBus->RemoveHandler(e.GetType(), g_regHandler)); } @@ -177,6 +188,7 @@ HWTEST_F(EventbusTest, event_bus_test_005, TestSize.Level0) FakeEvent e(*g_sender, *g_obj, 10); g_regHandler = g_eventBus->AddHandler(e.GetType(), *g_listener); g_eventBus->PostEvent(e, POSTMODE::POST_SYNC); + sleep(WAIT_TIME); EXPECT_EQ(10, g_obj->GetAge()); } } // namespace DistributedHardware -- Gitee From eabf19c4ca616fea9fc246507fd5b4771f7ea603 Mon Sep 17 00:00:00 2001 From: wuxiaodong02 Date: Fri, 13 Jan 2023 15:11:06 +0800 Subject: [PATCH 2/2] Troubleshooting eventbus exception Signed-off-by: wuxiaodong02 --- .../common/eventbus/event_bus_test.cpp | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/utils/test/unittest/common/eventbus/event_bus_test.cpp b/utils/test/unittest/common/eventbus/event_bus_test.cpp index bd26bd55..400eafef 100644 --- a/utils/test/unittest/common/eventbus/event_bus_test.cpp +++ b/utils/test/unittest/common/eventbus/event_bus_test.cpp @@ -34,7 +34,7 @@ namespace { FakeListener *g_listener = nullptr; std::shared_ptr g_regHandler = nullptr; EventBus* g_eventBus = nullptr; - constexpr int32_t WAIT_TIME= 2; + const int32_t TEST_TWENTY_MS = 20000; } void EventbusTest::SetUpTestCase(void) @@ -72,6 +72,7 @@ void EventbusTest::SetUp() void EventbusTest::TearDown() { + usleep(TEST_TWENTY_MS); if (g_obj != nullptr) { delete g_obj; g_obj = nullptr; @@ -104,11 +105,9 @@ HWTEST_F(EventbusTest, event_bus_test_001, TestSize.Level0) FakeEvent e(*g_sender, *g_obj); g_regHandler = g_eventBus->AddHandler(e.GetType(), *g_listener); - sleep(WAIT_TIME); + EXPECT_NE(g_regHandler, nullptr); - sleep(WAIT_TIME); EXPECT_EQ(g_regHandler->GetSender(), nullptr); - sleep(WAIT_TIME); EXPECT_EQ(g_regHandler->GetHandler(), (void *)g_listener); } @@ -125,9 +124,8 @@ HWTEST_F(EventbusTest, event_bus_test_002, TestSize.Level0) FakeEvent e(*g_sender, *g_obj); g_regHandler = g_eventBus->AddHandler(e.GetType(), *g_listener); std::shared_ptr secondHandler = g_eventBus->AddHandler(e.GetType(), *g_listener); - sleep(WAIT_TIME); + EXPECT_NE(secondHandler, nullptr); - sleep(WAIT_TIME); EXPECT_EQ(g_regHandler, secondHandler); } @@ -145,15 +143,11 @@ HWTEST_F(EventbusTest, event_bus_test_003, TestSize.Level0) g_regHandler = g_eventBus->AddHandler(e.GetType(), *g_listener); std::shared_ptr secondHandler = g_eventBus->AddHandler(e.GetType(), *g_listener, *g_sender); - sleep(WAIT_TIME); + EXPECT_NE(g_regHandler, nullptr); - sleep(WAIT_TIME); EXPECT_NE(secondHandler, nullptr); - sleep(WAIT_TIME); EXPECT_NE(g_regHandler, secondHandler); - sleep(WAIT_TIME); EXPECT_EQ(secondHandler->GetSender(), g_sender); - sleep(WAIT_TIME); EXPECT_EQ(secondHandler->GetHandler(), (void *)g_listener); } @@ -167,11 +161,9 @@ HWTEST_F(EventbusTest, event_bus_test_004, TestSize.Level0) { EXPECT_EQ(g_regHandler, nullptr); FakeEvent e(*g_sender, *g_obj); - sleep(WAIT_TIME); EXPECT_EQ(false, g_eventBus->RemoveHandler(e.GetType(), g_regHandler)); g_regHandler = g_eventBus->AddHandler(e.GetType(), *g_listener); - sleep(WAIT_TIME); EXPECT_EQ(true, g_eventBus->RemoveHandler(e.GetType(), g_regHandler)); } @@ -188,7 +180,6 @@ HWTEST_F(EventbusTest, event_bus_test_005, TestSize.Level0) FakeEvent e(*g_sender, *g_obj, 10); g_regHandler = g_eventBus->AddHandler(e.GetType(), *g_listener); g_eventBus->PostEvent(e, POSTMODE::POST_SYNC); - sleep(WAIT_TIME); EXPECT_EQ(10, g_obj->GetAge()); } } // namespace DistributedHardware -- Gitee