aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/threading/task_scheduler/task_scheduler_ut.cpp
diff options
context:
space:
mode:
authorvmordovin <vmordovin@yandex-team.ru>2022-02-10 16:48:14 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:48:14 +0300
commit7c7f9bbcf57e15838d15afa94b31d8254b5d7776 (patch)
tree17073f853e6b3a1a95708e8aa0ea12fa42a717e7 /library/cpp/threading/task_scheduler/task_scheduler_ut.cpp
parent466f96709329ff77ded50177df94d1893a226c00 (diff)
downloadydb-7c7f9bbcf57e15838d15afa94b31d8254b5d7776.tar.gz
Restoring authorship annotation for <vmordovin@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/threading/task_scheduler/task_scheduler_ut.cpp')
-rw-r--r--library/cpp/threading/task_scheduler/task_scheduler_ut.cpp106
1 files changed, 53 insertions, 53 deletions
diff --git a/library/cpp/threading/task_scheduler/task_scheduler_ut.cpp b/library/cpp/threading/task_scheduler/task_scheduler_ut.cpp
index 3b5203194a..d94e4bfeab 100644
--- a/library/cpp/threading/task_scheduler/task_scheduler_ut.cpp
+++ b/library/cpp/threading/task_scheduler/task_scheduler_ut.cpp
@@ -1,86 +1,86 @@
-#include <algorithm>
+#include <algorithm>
#include <library/cpp/testing/unittest/registar.h>
-
+
#include <util/stream/output.h>
#include <util/system/atomic.h>
#include <util/generic/vector.h>
-
+
#include "task_scheduler.h"
-
-class TTaskSchedulerTest: public TTestBase {
- UNIT_TEST_SUITE(TTaskSchedulerTest);
- UNIT_TEST(Test);
- UNIT_TEST_SUITE_END();
-
+
+class TTaskSchedulerTest: public TTestBase {
+ UNIT_TEST_SUITE(TTaskSchedulerTest);
+ UNIT_TEST(Test);
+ UNIT_TEST_SUITE_END();
+
class TCheckTask: public TTaskScheduler::IRepeatedTask {
- public:
+ public:
TCheckTask(const TDuration& delay)
: Start_(Now())
, Delay_(delay)
- {
+ {
AtomicIncrement(ScheduledTaskCounter_);
- }
-
+ }
+
~TCheckTask() override {
- }
-
+ }
+
bool Process() override {
const TDuration delay = Now() - Start_;
-
+
if (delay < Delay_) {
AtomicIncrement(BadTimeoutCounter_);
- }
-
+ }
+
AtomicIncrement(ExecutedTaskCounter_);
return false;
- }
-
- static bool AllTaskExecuted() {
+ }
+
+ static bool AllTaskExecuted() {
return AtomicGet(ScheduledTaskCounter_) == AtomicGet(ExecutedTaskCounter_);
- }
-
- static size_t BadTimeoutCount() {
+ }
+
+ static size_t BadTimeoutCount() {
return AtomicGet(BadTimeoutCounter_);
- }
-
- private:
+ }
+
+ private:
TInstant Start_;
TDuration Delay_;
static TAtomic BadTimeoutCounter_;
static TAtomic ScheduledTaskCounter_;
static TAtomic ExecutedTaskCounter_;
- };
-
- public:
- inline void Test() {
- ScheduleCheckTask(200);
- ScheduleCheckTask(100);
- ScheduleCheckTask(1000);
- ScheduleCheckTask(10000);
- ScheduleCheckTask(5000);
-
+ };
+
+ public:
+ inline void Test() {
+ ScheduleCheckTask(200);
+ ScheduleCheckTask(100);
+ ScheduleCheckTask(1000);
+ ScheduleCheckTask(10000);
+ ScheduleCheckTask(5000);
+
Scheduler_.Start();
-
- usleep(1000000);
-
- UNIT_ASSERT_EQUAL(TCheckTask::BadTimeoutCount(), 0);
- UNIT_ASSERT(TCheckTask::AllTaskExecuted());
- }
-
- private:
- void ScheduleCheckTask(size_t delay) {
+
+ usleep(1000000);
+
+ UNIT_ASSERT_EQUAL(TCheckTask::BadTimeoutCount(), 0);
+ UNIT_ASSERT(TCheckTask::AllTaskExecuted());
+ }
+
+ private:
+ void ScheduleCheckTask(size_t delay) {
TDuration d = TDuration::MicroSeconds(delay);
Scheduler_.Add(new TCheckTask(d), d);
- }
-
- private:
+ }
+
+ private:
TTaskScheduler Scheduler_;
-};
-
+};
+
TAtomic TTaskSchedulerTest::TCheckTask::BadTimeoutCounter_ = 0;
TAtomic TTaskSchedulerTest::TCheckTask::ScheduledTaskCounter_ = 0;
TAtomic TTaskSchedulerTest::TCheckTask::ExecutedTaskCounter_ = 0;
-
-UNIT_TEST_SUITE_REGISTRATION(TTaskSchedulerTest);
+
+UNIT_TEST_SUITE_REGISTRATION(TTaskSchedulerTest);