summaryrefslogtreecommitdiffstats
path: root/library/cpp/yt/threading/unittests
diff options
context:
space:
mode:
authorqrort <[email protected]>2022-12-02 11:31:25 +0300
committerqrort <[email protected]>2022-12-02 11:31:25 +0300
commitb1f4ffc9c8abff3ba58dc1ec9a9f92d2f0de6806 (patch)
tree2a23209faf0fea5586a6d4b9cee60d1b318d29fe /library/cpp/yt/threading/unittests
parent559174a9144de40d6bb3997ea4073c82289b4974 (diff)
remove kikimr/driver DEPENDS
Diffstat (limited to 'library/cpp/yt/threading/unittests')
-rw-r--r--library/cpp/yt/threading/unittests/recursive_spin_lock_ut.cpp88
-rw-r--r--library/cpp/yt/threading/unittests/spin_wait_ut.cpp48
2 files changed, 0 insertions, 136 deletions
diff --git a/library/cpp/yt/threading/unittests/recursive_spin_lock_ut.cpp b/library/cpp/yt/threading/unittests/recursive_spin_lock_ut.cpp
deleted file mode 100644
index 9c2d8f16cbf..00000000000
--- a/library/cpp/yt/threading/unittests/recursive_spin_lock_ut.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-#include <library/cpp/testing/gtest/gtest.h>
-
-#include <library/cpp/yt/threading/recursive_spin_lock.h>
-#include <library/cpp/yt/threading/event_count.h>
-
-#include <thread>
-
-namespace NYT::NThreading {
-namespace {
-
-////////////////////////////////////////////////////////////////////////////////
-
-TEST(TRecursiveSpinLockTest, SingleThread)
-{
- TRecursiveSpinLock lock;
- EXPECT_FALSE(lock.IsLocked());
- EXPECT_TRUE(lock.TryAcquire());
- EXPECT_TRUE(lock.IsLocked());
- EXPECT_TRUE(lock.TryAcquire());
- EXPECT_TRUE(lock.IsLocked());
- lock.Release();
- EXPECT_TRUE(lock.IsLocked());
- lock.Release();
- EXPECT_FALSE(lock.IsLocked());
- EXPECT_TRUE(lock.TryAcquire());
- EXPECT_TRUE(lock.IsLocked());
- lock.Release();
- lock.Acquire();
- lock.Release();
-}
-
-TEST(TRecursiveSpinLockTest, TwoThreads)
-{
- TRecursiveSpinLock lock;
- TEvent e1, e2, e3, e4, e5, e6, e7;
-
- std::thread t1([&] {
- e1.Wait();
- EXPECT_TRUE(lock.IsLocked());
- EXPECT_FALSE(lock.IsLockedByCurrentThread());
- EXPECT_FALSE(lock.TryAcquire());
- e2.NotifyOne();
- e3.Wait();
- EXPECT_TRUE(lock.IsLocked());
- EXPECT_FALSE(lock.IsLockedByCurrentThread());
- EXPECT_FALSE(lock.TryAcquire());
- e4.NotifyOne();
- e5.Wait();
- EXPECT_FALSE(lock.IsLocked());
- EXPECT_FALSE(lock.IsLockedByCurrentThread());
- EXPECT_TRUE(lock.TryAcquire());
- e6.NotifyOne();
- e7.Wait();
- lock.Release();
- });
-
- std::thread t2([&] {
- EXPECT_FALSE(lock.IsLocked());
- EXPECT_TRUE(lock.TryAcquire());
- EXPECT_TRUE(lock.IsLockedByCurrentThread());
- e1.NotifyOne();
- e2.Wait();
- EXPECT_TRUE(lock.TryAcquire());
- EXPECT_TRUE(lock.IsLockedByCurrentThread());
- e3.NotifyOne();
- e4.Wait();
- lock.Release();
- lock.Release();
- EXPECT_FALSE(lock.IsLocked());
- e5.NotifyOne();
- e6.Wait();
- EXPECT_TRUE(lock.IsLocked());
- EXPECT_FALSE(lock.IsLockedByCurrentThread());
- e7.NotifyOne();
- lock.Acquire();
- lock.Acquire();
- lock.Release();
- lock.Release();
- });
-
- t1.join();
- t2.join();
-}
-
-////////////////////////////////////////////////////////////////////////////////
-
-} // namespace
-} // namespace NYT::NThreading
diff --git a/library/cpp/yt/threading/unittests/spin_wait_ut.cpp b/library/cpp/yt/threading/unittests/spin_wait_ut.cpp
deleted file mode 100644
index 8469634f346..00000000000
--- a/library/cpp/yt/threading/unittests/spin_wait_ut.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-#include <library/cpp/testing/gtest/gtest.h>
-
-#include <library/cpp/yt/threading/spin_wait.h>
-#include <library/cpp/yt/threading/spin_wait_hook.h>
-
-#include <thread>
-#include <mutex>
-
-namespace NYT::NThreading {
-namespace {
-
-////////////////////////////////////////////////////////////////////////////////
-
-bool SpinWaitSlowPathHookInvoked;
-
-void SpinWaitSlowPathHook(
- TCpuDuration cpuDelay,
- const TSourceLocation& /*location*/,
- ESpinLockActivityKind /*activityKind*/)
-{
- SpinWaitSlowPathHookInvoked = true;
- auto delay = CpuDurationToDuration(cpuDelay);
- EXPECT_GE(delay, TDuration::Seconds(1));
- EXPECT_LE(delay, TDuration::Seconds(5));
-}
-
-TEST(TSpinWaitTest, SlowPathHook)
-{
- static std::once_flag registerFlag;
- std::call_once(
- registerFlag,
- [] {
- RegisterSpinWaitSlowPathHook(SpinWaitSlowPathHook);
- });
- SpinWaitSlowPathHookInvoked = false;
- {
- TSpinWait spinWait(__LOCATION__, ESpinLockActivityKind::ReadWrite);
- for (int i = 0; i < 1'000'000; ++i) {
- spinWait.Wait();
- }
- }
- EXPECT_TRUE(SpinWaitSlowPathHookInvoked);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-
-} // namespace
-} // namespace NYT::NThreading