From c1e145eb045055eb23c856fcab841fbf9a4f1360 Mon Sep 17 00:00:00 2001 From: Francis Tsui Date: Fri, 8 Nov 2024 13:48:03 -0800 Subject: [PATCH] Remove WaitForRunningTasksWithTimeout. PiperOrigin-RevId: 694627070 --- internal/test/fake_task_runner.cc | 15 --------------- internal/test/fake_task_runner.h | 12 +----------- internal/test/fake_task_runner_test.cc | 15 ++++----------- .../nearby_share_certificate_manager_impl_test.cc | 4 +--- .../nearby_share_contact_manager_impl_test.cc | 5 +---- sharing/incoming_frames_reader_test.cc | 1 - 6 files changed, 7 insertions(+), 45 deletions(-) diff --git a/internal/test/fake_task_runner.cc b/internal/test/fake_task_runner.cc index e88c7394..e752f117 100644 --- a/internal/test/fake_task_runner.cc +++ b/internal/test/fake_task_runner.cc @@ -14,7 +14,6 @@ #include "internal/test/fake_task_runner.h" -#include #include #include #include @@ -22,15 +21,12 @@ #include "absl/functional/any_invocable.h" #include "absl/synchronization/mutex.h" #include "absl/synchronization/notification.h" -#include "absl/time/clock.h" #include "absl/time/time.h" #include "internal/platform/timer.h" #include "internal/test/fake_timer.h" namespace nearby { -std::atomic_uint FakeTaskRunner::pending_tasks_count_ = 0; - FakeTaskRunner::~FakeTaskRunner() { Shutdown(); } void FakeTaskRunner::Shutdown() { @@ -40,10 +36,8 @@ void FakeTaskRunner::Shutdown() { bool FakeTaskRunner::PostTask(absl::AnyInvocable task) { absl::MutexLock lock(&mutex_); - ++pending_tasks_count_; task_executor_->Execute([task = std::move(task)]() mutable { task(); - --pending_tasks_count_; }); return true; } @@ -72,13 +66,4 @@ bool FakeTaskRunner::SyncWithTimeout(absl::Duration timeout) { return notification.WaitForNotificationWithTimeout(timeout); } -bool FakeTaskRunner::WaitForRunningTasksWithTimeout(absl::Duration timeout) { - int i = (timeout / absl::Milliseconds(1)) / 50; - while (pending_tasks_count_ != 0 && i > 0) { - absl::SleepFor(absl::Milliseconds(50)); - --i; - } - return pending_tasks_count_ == 0; -} - } // namespace nearby diff --git a/internal/test/fake_task_runner.h b/internal/test/fake_task_runner.h index 3dee1703..5920fc60 100644 --- a/internal/test/fake_task_runner.h +++ b/internal/test/fake_task_runner.h @@ -15,12 +15,12 @@ #ifndef THIRD_PARTY_NEARBY_INTERNAL_TEST_FAKE_TASK_RUNNER_H_ #define THIRD_PARTY_NEARBY_INTERNAL_TEST_FAKE_TASK_RUNNER_H_ -#include #include #include #include #include "absl/base/thread_annotations.h" +#include "absl/functional/any_invocable.h" #include "absl/synchronization/mutex.h" #include "absl/time/time.h" #include "internal/platform/multi_thread_executor.h" @@ -55,14 +55,6 @@ class FakeTaskRunner : public TaskRunner { // In some test cases, we only need to wait for a timeout . bool SyncWithTimeout(absl::Duration timeout); - // In some test cases, we need to make sure all running tasks completion - // before go to next task. This method can be used for the purpose. - static bool WaitForRunningTasksWithTimeout(absl::Duration timeout); - // Use of WaitForRunningTasksWithTimeout requires calling - // ResetPendingTaskCount at test initialization to be able to track pending - // tasks correctly. - static void ResetPendingTasksCount() { pending_tasks_count_ = 0; } - private: mutable absl::Mutex mutex_; FakeClock* clock_ = nullptr; @@ -72,8 +64,6 @@ class FakeTaskRunner : public TaskRunner { // Tracks delayed tasks. std::vector> timers_ ABSL_GUARDED_BY(mutex_); - - static std::atomic_uint pending_tasks_count_; }; } // namespace nearby diff --git a/internal/test/fake_task_runner_test.cc b/internal/test/fake_task_runner_test.cc index 1704d3cc..e0ebcb58 100644 --- a/internal/test/fake_task_runner_test.cc +++ b/internal/test/fake_task_runner_test.cc @@ -26,26 +26,22 @@ namespace nearby { namespace { TEST(FakeTaskRunner, PostTask) { - FakeTaskRunner::ResetPendingTasksCount(); FakeClock clock; int count = 0; FakeTaskRunner task_runner{&clock, 1}; task_runner.PostTask([&count] { ++count; }); - ASSERT_TRUE( - FakeTaskRunner::WaitForRunningTasksWithTimeout(absl::Milliseconds(100))); + ASSERT_TRUE(task_runner.SyncWithTimeout(absl::Milliseconds(100))); EXPECT_EQ(count, 1); } TEST(FakeTaskRunner, PostDelayedTask) { - FakeTaskRunner::ResetPendingTasksCount(); FakeClock clock; int count = 0; FakeTaskRunner task_runner{&clock, 1}; task_runner.PostDelayedTask(absl::Seconds(10), [&count] { ++count; }); EXPECT_EQ(count, 0); clock.FastForward(absl::Seconds(10)); - ASSERT_TRUE( - FakeTaskRunner::WaitForRunningTasksWithTimeout(absl::Milliseconds(100))); + ASSERT_TRUE(task_runner.SyncWithTimeout(absl::Milliseconds(100))); EXPECT_EQ(count, 1); } @@ -69,7 +65,6 @@ TEST(FakeTaskRunner, PostTasksRunInSequence) { } TEST(FakeTaskRunner, PostDelayedTaskInDelayedTask) { - FakeTaskRunner::ResetPendingTasksCount(); FakeClock clock; int called_count = 0; FakeTaskRunner task_runner{&clock, 1}; @@ -80,12 +75,10 @@ TEST(FakeTaskRunner, PostDelayedTaskInDelayedTask) { [&called_count]() { ++called_count; }); }); clock.FastForward(absl::Seconds(1)); - ASSERT_TRUE( - FakeTaskRunner::WaitForRunningTasksWithTimeout(absl::Milliseconds(100))); + ASSERT_TRUE(task_runner.SyncWithTimeout(absl::Milliseconds(100))); EXPECT_EQ(called_count, 1); clock.FastForward(absl::Seconds(1)); - ASSERT_TRUE( - FakeTaskRunner::WaitForRunningTasksWithTimeout(absl::Milliseconds(100))); + ASSERT_TRUE(task_runner.SyncWithTimeout(absl::Milliseconds(100))); EXPECT_EQ(called_count, 2); } diff --git a/sharing/certificates/nearby_share_certificate_manager_impl_test.cc b/sharing/certificates/nearby_share_certificate_manager_impl_test.cc index e34368b4..510cb1d1 100644 --- a/sharing/certificates/nearby_share_certificate_manager_impl_test.cc +++ b/sharing/certificates/nearby_share_certificate_manager_impl_test.cc @@ -37,7 +37,6 @@ #include "absl/types/span.h" #include "internal/platform/implementation/account_manager.h" #include "internal/test/fake_account_manager.h" -#include "internal/test/fake_task_runner.h" #include "sharing/certificates/constants.h" #include "sharing/certificates/fake_nearby_share_certificate_storage.h" #include "sharing/certificates/nearby_share_certificate_manager.h" @@ -95,7 +94,6 @@ class NearbyShareCertificateManagerImplTest ~NearbyShareCertificateManagerImplTest() override = default; void SetUp() override { - FakeTaskRunner::ResetPendingTasksCount(); ON_CALL(mock_sharing_platform_, GetPreferenceManager) .WillByDefault(ReturnRef(preference_manager_)); ON_CALL(mock_sharing_platform_, GetAccountManager) @@ -199,7 +197,7 @@ class NearbyShareCertificateManagerImplTest } void Sync() { - EXPECT_TRUE(FakeTaskRunner::WaitForRunningTasksWithTimeout( + EXPECT_TRUE(fake_context_.last_sequenced_task_runner()->SyncWithTimeout( absl::Milliseconds(1000))); } diff --git a/sharing/contacts/nearby_share_contact_manager_impl_test.cc b/sharing/contacts/nearby_share_contact_manager_impl_test.cc index a55419a7..722829e6 100644 --- a/sharing/contacts/nearby_share_contact_manager_impl_test.cc +++ b/sharing/contacts/nearby_share_contact_manager_impl_test.cc @@ -34,7 +34,6 @@ #include "absl/time/time.h" #include "internal/platform/implementation/account_manager.h" #include "internal/test/fake_account_manager.h" -#include "internal/test/fake_task_runner.h" #include "sharing/common/nearby_share_prefs.h" #include "sharing/contacts/nearby_share_contact_manager.h" #include "sharing/contacts/nearby_share_contacts_sorter.h" @@ -67,7 +66,6 @@ constexpr char kTestDefaultContactsHash[] = "last_hash"; const char* kTestPersonNames[] = {"BBB BBB", "CCC CCC", "AAA AAA"}; // From nearby_share_contact_manager_impl.cc. -constexpr absl::Duration kContactUploadPeriod = absl::Hours(24); constexpr absl::Duration kContactDownloadPeriod = absl::Hours(12); std::string GetTestContactId(size_t index) { @@ -173,7 +171,6 @@ class NearbyShareContactManagerImplTest ~NearbyShareContactManagerImplTest() override = default; void SetUp() override { - FakeTaskRunner::ResetPendingTasksCount(); prefs::RegisterNearbySharingPrefs(preference_manager_); NearbyShareSchedulerFactory::SetFactoryForTesting(&scheduler_factory_); AccountManager::Account account; @@ -203,7 +200,7 @@ class NearbyShareContactManagerImplTest } void Sync() { - EXPECT_TRUE(FakeTaskRunner::WaitForRunningTasksWithTimeout( + EXPECT_TRUE(fake_context_.last_sequenced_task_runner()->SyncWithTimeout( absl::Milliseconds(1000))); } diff --git a/sharing/incoming_frames_reader_test.cc b/sharing/incoming_frames_reader_test.cc index 26c7bae0..c7d77545 100644 --- a/sharing/incoming_frames_reader_test.cc +++ b/sharing/incoming_frames_reader_test.cc @@ -108,7 +108,6 @@ class IncomingFramesReaderTest : public testing::Test { ~IncomingFramesReaderTest() override = default; void SetUp() override { - FakeTaskRunner::ResetPendingTasksCount(); frames_reader_ = std::make_shared( fake_task_runner_, nearby_connection_.get()); }