diff options
| author | qrort <[email protected]> | 2022-12-02 11:31:25 +0300 |
|---|---|---|
| committer | qrort <[email protected]> | 2022-12-02 11:31:25 +0300 |
| commit | b1f4ffc9c8abff3ba58dc1ec9a9f92d2f0de6806 (patch) | |
| tree | 2a23209faf0fea5586a6d4b9cee60d1b318d29fe /library/cpp/yt/threading/unittests | |
| parent | 559174a9144de40d6bb3997ea4073c82289b4974 (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.cpp | 88 | ||||
| -rw-r--r-- | library/cpp/yt/threading/unittests/spin_wait_ut.cpp | 48 |
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 |
