mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-14 14:46:12 -04:00
Remove WaitForRunningTasksWithTimeout.
PiperOrigin-RevId: 694627070
This commit is contained in:
committed by
Copybara-Service
parent
2626201458
commit
c1e145eb04
@@ -14,7 +14,6 @@
|
||||
|
||||
#include "internal/test/fake_task_runner.h"
|
||||
|
||||
#include <atomic>
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
@@ -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<void()> 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
|
||||
|
||||
@@ -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 <atomic>
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
#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<std::unique_ptr<Timer>> timers_ ABSL_GUARDED_BY(mutex_);
|
||||
|
||||
static std::atomic_uint pending_tasks_count_;
|
||||
};
|
||||
|
||||
} // namespace nearby
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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)));
|
||||
}
|
||||
|
||||
|
||||
@@ -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)));
|
||||
}
|
||||
|
||||
|
||||
@@ -108,7 +108,6 @@ class IncomingFramesReaderTest : public testing::Test {
|
||||
~IncomingFramesReaderTest() override = default;
|
||||
|
||||
void SetUp() override {
|
||||
FakeTaskRunner::ResetPendingTasksCount();
|
||||
frames_reader_ = std::make_shared<IncomingFramesReader>(
|
||||
fake_task_runner_, nearby_connection_.get());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user