From 27068fb3831bee2c98bf88adffb571a43b7cfeb1 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Mon, 22 Apr 2024 19:47:26 -0700 Subject: [PATCH] Fix flaky TestWakeupClientServiceImplUnitTest. This CL fixed two possible issues: 1. mServerStarted is not reset to false for each test case. 2. pollOnce should be used instead of pollAll since pollAll might swallow wake. Test: atest --host TestWakeupClientServerHostUnitTest Bug: 333673876 Change-Id: Id705d6257c54a2e2711aff6018abf2ea65b0f691 --- .../test_grpc_server/impl/src/TestWakeupClientServiceImpl.cpp | 3 ++- .../impl/test/TestWakeupClientServiceImplUnitTest.cpp | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/automotive/remoteaccess/test_grpc_server/impl/src/TestWakeupClientServiceImpl.cpp b/automotive/remoteaccess/test_grpc_server/impl/src/TestWakeupClientServiceImpl.cpp index 5d33fcb632..515dc98ceb 100644 --- a/automotive/remoteaccess/test_grpc_server/impl/src/TestWakeupClientServiceImpl.cpp +++ b/automotive/remoteaccess/test_grpc_server/impl/src/TestWakeupClientServiceImpl.cpp @@ -169,7 +169,8 @@ void ServiceImpl::loop() { Looper::setForThread(mLooper); while (true) { - mLooper->pollAll(/*timeoutMillis=*/-1); + // Don't use pollAll since it might swallow wake. + mLooper->pollOnce(/*timeoutMillis=*/-1); if (mServerStopped) { return; } diff --git a/automotive/remoteaccess/test_grpc_server/impl/test/TestWakeupClientServiceImplUnitTest.cpp b/automotive/remoteaccess/test_grpc_server/impl/test/TestWakeupClientServiceImplUnitTest.cpp index dd08e325cb..a7927f5b1c 100644 --- a/automotive/remoteaccess/test_grpc_server/impl/test/TestWakeupClientServiceImplUnitTest.cpp +++ b/automotive/remoteaccess/test_grpc_server/impl/test/TestWakeupClientServiceImplUnitTest.cpp @@ -53,6 +53,9 @@ class TestWakeupClientServiceImplUnitTest : public ::testing::Test { public: virtual void SetUp() override { int selectedPort = 0; + mServerStarted = false; + mService.reset(); + mServer.reset(); mServerThread = std::thread([this, &selectedPort] { mService = std::make_unique(); ServerBuilder builder;